.page {
  padding: 8rem 0 0; }
  @media (max-width: 850px) {
    .page {
      padding: 5rem 0 0; } }
h1 {
  margin-bottom: var(--double); }
  @media (max-width: 850px) {
    h1 {
      margin-bottom: calc(2 * var(--double)); } }
p {
  text-align: center;
  max-width: 645px;
  margin: 0 auto; }

.footer-col {
  width: 18%;
  padding-right: var(--double); }
  @media (max-width: 1100px) {
    .footer-col {
      width: 20%; } }
  @media (max-width: 850px) {
    .footer-col {
      width: auto; } }
  .footer-col p {
    text-align: left; }

.sessions_wrap {
  row-gap: 0px;
  max-width: 875px;
  margin: 0 auto;
  row-gap: 50px;
  padding: 0 var(--gutter); }
  .sessions_wrap .blurb {
    padding-bottom: var(--double);
    border-bottom: 1px solid; }
    @media (max-width: 850px) {
      .sessions_wrap .blurb {
        padding-bottom: calc(4*var(--double)); } }
.session {
  border-bottom: 1px solid var(--grey);
  padding: 40px 0;
  text-align: center; }
  .session button {
    margin-top: 30px;
    cursor: pointer; }

h3 {
  font-size: 1.35rem;
  margin: 0; }

.newsletter {
  margin-top: var(--paddlarge); }

aside {
  grid-column: 1/4; }
  aside div {
    position: sticky;
    top: 10rem; }
    aside div a {
      margin-bottom: 1em;
      display: block;
      width: 50%; }
      aside div a:first-of-type {
        margin-top: 2rem; }

article {
  grid-column: 6/13; }

.types {
  margin-bottom: 2.5rem; }
  .types ul {
    border-top: 1px solid #000; }
    .types ul li {
      border-bottom: 1px solid #000;
      max-height: 4.5rem;
      overflow: hidden;
      padding: 1rem;
      position: relative;
      display: block;
      transition: max-height 0.5s; }
      .types ul li img {
        margin-top: 1em; }
      .types ul li h3 {
        pointer-events: none; }
        .types ul li h3::after {
          content: '+';
          position: absolute;
          right: 1rem; }
      .types ul li.active {
        max-height: 900px; }
        .types ul li.active h3::after {
          content: '-'; }

.mobile-btn {
  margin: 0 auto; }
  @media (max-width: 850px) {
    .mobile-btn {
      display: block; } }
