.M20 {
  border-radius: 24px;
  background-color: #FFF; }
  .M20 .upper-section {
    padding: 73px 116px 0 116px; }
    @media screen and (max-width: 990px) {
      .M20 .upper-section {
        padding: 0;
        padding-top: 60px; } }
    @media screen and (min-width: 900px) and (max-width: 1400px) {
      .M20 .upper-section {
        padding: 60px 16px 0 33px; } }
    .M20 .upper-section .title-cards {
      display: grid;
      grid-template-columns: 4fr 8fr; }
      @media screen and (max-width: 990px) {
        .M20 .upper-section .title-cards {
          display: block; } }
    .M20 .upper-section .scroll-down, .M20 .upper-section .scroll-down > * {
      display: flex;
      align-items: center;
      background-color: transparent;
      border: 0;
      padding: 0;
      width: fit-content;
      color: #615D5A;
      font-family: IberPangea;
      font-size: 14px;
      font-weight: 500;
      line-height: 17px;
      margin: 0 auto;
      gap: 6px;
      cursor: pointer;
      transition: .2s all ease-in-out; }
    .M20 .upper-section .scroll-down:hover {
      color: #00402A;
      text-decoration: underline; }
    .M20 .upper-section .scroll-down:focus-visible {
      outline: 2px solid #00402A;
      outline-offset: 2px; }
    @media screen and (max-width: 990px) {
      .M20 .upper-section .title-text {
        padding-inline: 13px; } }
    .M20 .upper-section .title > * {
      color: #00402A;
      font-family: IberPangea;
      font-size: 48px;
      font-weight: 600;
      line-height: 98%;
      margin-bottom: 17px;
      text-align: center; }
      @media screen and (max-width: 990px) {
        .M20 .upper-section .title > * {
          font-size: 32px;
          line-height: 110%;
          text-align: center; } }
    .M20 .upper-section .text > * {
      color: #00402A;
      font-family: IberPangea;
      font-size: 18px;
      font-weight: 400;
      line-height: 114%;
      max-width: 414px;
      text-align: center;
      margin: auto; }
      @media screen and (max-width: 990px) {
        .M20 .upper-section .text > * {
          max-width: 362px; } }
    .M20 .upper-section .swiperPages {
      padding-top: 100px; }
      @media screen and (min-width: 1200px) {
        .M20 .upper-section .swiperPages {
          overflow: visible; } }
      .M20 .upper-section .swiperPages .swiper-slide.swiper-slide-active > * {
        transform: translateY(-35px); }
      .M20 .upper-section .swiperPages .swiper-controls {
        margin-top: 32px;
        display: flex;
        align-items: center;
        gap: 16px;
        justify-content: center;
        margin-bottom: 5px; }
      .M20 .upper-section .swiperPages .swiper-button-next,
      .M20 .upper-section .swiperPages .swiper-button-prev,
      .M20 .upper-section .swiperPages .swiper-pagination {
        position: static;
        width: auto;
        height: auto;
        margin: 0; }
        .M20 .upper-section .swiperPages .swiper-button-next:focus-visible,
        .M20 .upper-section .swiperPages .swiper-button-prev:focus-visible,
        .M20 .upper-section .swiperPages .swiper-pagination:focus-visible {
          outline: 2px solid #007F33; }
      .M20 .upper-section .swiperPages .swiper-pagination {
        color: #615D5A;
        font-family: IberPangea;
        font-size: 1rem;
        font-weight: 400;
        line-height: 110%;
        /* 17.6px */
        margin-top: 4px; }
      .M20 .upper-section .swiperPages .swiper-button-next::after,
      .M20 .upper-section .swiperPages .swiper-button-prev::after {
        display: none; }
    .M20 .upper-section .swiperEvents {
      margin: 40px 0;
      padding: 4px; }
      @media screen and (max-width: 900px) {
        .M20 .upper-section .swiperEvents {
          margin-bottom: 0; } }
      .M20 .upper-section .swiperEvents .swiper-controls {
        margin-top: 32px;
        display: flex;
        align-items: center;
        gap: 16px;
        justify-content: center;
        margin-bottom: 5px; }
      .M20 .upper-section .swiperEvents .swiper-button-next,
      .M20 .upper-section .swiperEvents .swiper-button-prev,
      .M20 .upper-section .swiperEvents .swiper-pagination {
        position: static;
        width: auto;
        height: auto;
        margin: 0; }
        .M20 .upper-section .swiperEvents .swiper-button-next:focus-visible,
        .M20 .upper-section .swiperEvents .swiper-button-prev:focus-visible,
        .M20 .upper-section .swiperEvents .swiper-pagination:focus-visible {
          outline: 2px solid #007F33; }
      .M20 .upper-section .swiperEvents .swiper-pagination {
        color: #615D5A;
        font-family: IberPangea;
        font-size: 1rem;
        font-weight: 400;
        line-height: 110%;
        /* 17.6px */
        margin-top: 4px; }
      .M20 .upper-section .swiperEvents .swiper-button-next::after,
      .M20 .upper-section .swiperEvents .swiper-button-prev::after {
        display: none; }
    .M20 .upper-section .custom-card.type-page {
      text-decoration: none;
      color: inherit;
      background-color: #DCEBE1;
      background-size: cover;
      display: flex;
      padding: 8px;
      flex-direction: column;
      justify-content: flex-end;
      border-radius: 16px;
      height: auto;
      aspect-ratio: 362/283;
      position: relative;
      overflow: hidden; }
      .M20 .upper-section .custom-card.type-page img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 16px;
        object-fit: cover;
        transition: .3s all ease-in-out; }
      .M20 .upper-section .custom-card.type-page .card-content {
        border-radius: 8px;
        background-color: #00402A;
        padding: 20px 16px;
        position: relative;
        z-index: 1; }
      .M20 .upper-section .custom-card.type-page .card-title, .M20 .upper-section .custom-card.type-page .card-title > * {
        color: #FFF;
        font-family: IberPangea;
        font-size: 20px;
        font-weight: 500;
        line-height: 120%;
        /* 16.8px */
        margin: 0; }
        @media screen and (max-width: 990px) {
          .M20 .upper-section .custom-card.type-page .card-title, .M20 .upper-section .custom-card.type-page .card-title > * {
            font-size: 16px; } }
      .M20 .upper-section .custom-card.type-page:focus-visible {
        outline: 2px solid #007F33;
        outline-offset: 2px; }
      .M20 .upper-section .custom-card.type-page:hover img {
        transform: scale(1.1); }
      .M20 .upper-section .custom-card.type-page:hover .card-title, .M20 .upper-section .custom-card.type-page:hover .card-title > * {
        text-decoration: underline; }
    .M20 .upper-section .custom-card.type-event {
      text-decoration: none;
      color: inherit;
      background-color: #DCEBE1;
      background-size: cover;
      display: flex;
      padding: 8px;
      flex-direction: column;
      justify-content: space-between;
      border-radius: 16px;
      height: auto;
      aspect-ratio: 362/246;
      position: relative;
      overflow: hidden; }
      .M20 .upper-section .custom-card.type-event img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 16px;
        object-fit: cover;
        transition: .3s all ease-in-out; }
      .M20 .upper-section .custom-card.type-event .card-date {
        width: fit-content;
        padding: 8px 16px;
        align-items: center;
        border-radius: 12px;
        background-color: #FFFEFF;
        color: #2F6852;
        font-family: IberPangea;
        font-size: 14px;
        font-weight: 400;
        line-height: 100%;
        text-transform: uppercase;
        position: relative;
        z-index: 1; }
      .M20 .upper-section .custom-card.type-event .card-content {
        border-radius: 8px;
        background-color: #fff;
        padding: 20px 16px;
        position: relative;
        z-index: 1; }
      .M20 .upper-section .custom-card.type-event .card-title, .M20 .upper-section .custom-card.type-event .card-title > * {
        color: #00402A;
        font-family: IberPangea;
        font-size: 14px;
        font-weight: 500;
        line-height: 120%;
        /* 16.8px */
        margin: 0; }
        @media screen and (max-width: 990px) {
          .M20 .upper-section .custom-card.type-event .card-title, .M20 .upper-section .custom-card.type-event .card-title > * {
            font-size: 16px; } }
      .M20 .upper-section .custom-card.type-event:focus-visible {
        outline: 2px solid #007F33;
        outline-offset: 2px; }
      .M20 .upper-section .custom-card.type-event:hover img {
        transform: scale(1.1); }
      .M20 .upper-section .custom-card.type-event:hover .card-title, .M20 .upper-section .custom-card.type-event:hover .card-title > * {
        text-decoration: underline; }
  .M20 .video-section {
    margin-top: 75px;
    margin-bottom: 40px; }
    @media screen and (max-width: 990px) {
      .M20 .video-section {
        padding-inline: 13px;
        margin-top: 65px; } }
    @media screen and (min-width: 990px) and (max-width: 1400px) {
      .M20 .video-section {
        padding-right: 16px; } }
    .M20 .video-section .video {
      position: relative;
      height: auto;
      border-radius: 16px;
      padding: 48px 16px 16px 16px;
      width: 100%;
      margin-right: 0;
      margin-left: auto;
      display: flex;
      align-items: end;
      overflow: hidden;
      aspect-ratio: 16/9; }
      @media screen and (max-width: 990px) {
        .M20 .video-section .video {
          padding: 5px;
          min-height: 250px; } }
      .M20 .video-section .video .img {
        width: 100%;
        height: 100%;
        border-radius: 16px;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        border-radius: 16px; }
      .M20 .video-section .video .content {
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 32px;
        padding: 20px 21px;
        border-radius: 12px;
        background: #FFF;
        width: 100%; }
        @media screen and (max-width: 990px) {
          .M20 .video-section .video .content {
            gap: 16px;
            align-items: center; } }
        .M20 .video-section .video .content .video-title {
          color: #00402A;
          font-family: IberPangea;
          font-size: 20px;
          font-weight: 700;
          line-height: 120%;
          /* 24px */
          margin: 0; }
          @media screen and (max-width: 990px) {
            .M20 .video-section .video .content .video-title {
              font-size: 16px; } }
        .M20 .video-section .video .content .video-text {
          color: #00402A;
          font-family: IberPangea;
          font-size: 20px;
          font-weight: 500;
          line-height: 120%;
          margin: 0; }
          @media screen and (max-width: 990px) {
            .M20 .video-section .video .content .video-text {
              font-size: 16px; } }
        .M20 .video-section .video .content .play-button {
          display: flex;
          align-items: center;
          gap: 4px;
          padding: 4px 4px 4px 16px;
          border-radius: 24px;
          background: #007F33;
          border: 0;
          min-width: fit-content; }
          .M20 .video-section .video .content .play-button:focus-visible {
            outline: 2px solid #088B3E;
            outline-offset: 3px; }
          .M20 .video-section .video .content .play-button .label {
            color: #FFF;
            font-family: IberPangea;
            font-size: 16px;
            font-weight: 500;
            line-height: 110%; }
          .M20 .video-section .video .content .play-button .icon {
            min-width: 32px;
            max-width: 32px;
            height: 32px;
            border-radius: 99px;
            background-color: #fff;
            padding: 8px;
            overflow: hidden;
            position: relative; }
          .M20 .video-section .video .content .play-button svg {
            position: absolute;
            left: 50%;
            width: 16px;
            height: 16px;
            transition: all 0.2s ease-in-out; }
            .M20 .video-section .video .content .play-button svg:first-child {
              top: 50%;
              transform: translate(-50%, -50%); }
            .M20 .video-section .video .content .play-button svg:last-child {
              top: -100%;
              transform: translate(-50%, -50%); }
          .M20 .video-section .video .content .play-button:hover .icon svg:first-child {
            top: 150%;
            transform: translate(-50%, -50%); }
          .M20 .video-section .video .content .play-button:hover .icon svg:last-child {
            top: 50%;
            transform: translate(-50%, -50%); }
      .M20 .video-section .video .video-container {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 3;
        border-radius: 16px;
        display: none;
        visibility: hidden; }
        .M20 .video-section .video .video-container.active {
          display: block;
          visibility: visible; }
        .M20 .video-section .video .video-container iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
  .M20 .link {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 4px 4px 16px;
    border-radius: 24px;
    background: #007F33;
    border: 0;
    min-width: fit-content;
    color: inherit;
    text-decoration: none;
    margin: 0 auto 75px auto;
    width: fit-content; }
    .M20 .link:focus-visible {
      outline: 2px solid #088B3E;
      outline-offset: 3px; }
    .M20 .link .label {
      color: #FFF;
      font-family: IberPangea;
      font-size: 16px;
      font-weight: 500;
      line-height: 110%; }
    .M20 .link .icon {
      min-width: 32px;
      max-width: 32px;
      height: 32px;
      border-radius: 99px;
      background-color: #fff;
      padding: 8px;
      overflow: hidden;
      position: relative; }
    .M20 .link svg {
      position: absolute;
      left: 50%;
      width: 16px;
      height: 16px;
      transition: all 0.2s ease-in-out;
      color: #007F33; }
      .M20 .link svg:first-child {
        top: 50%;
        transform: translate(-50%, -50%); }
      .M20 .link svg:last-child {
        top: -100%;
        transform: translate(-50%, -50%); }
    .M20 .link:hover .icon svg:first-child {
      top: 150%;
      transform: translate(-50%, -50%); }
    .M20 .link:hover .icon svg:last-child {
      top: 50%;
      transform: translate(-50%, -50%); }
  .M20 .secondary-text > * {
    color: #00402A;
    text-align: center;
    font-family: IberPangea;
    font-size: 18px;
    font-weight: 400;
    line-height: 120%;
    max-width: 548px;
    margin: 0 auto; }
    @media screen and (max-width: 990px) {
      .M20 .secondary-text > * {
        max-width: 365px; } }
  .M20 .bottom-section {
    margin-top: 80px;
    padding-bottom: 20px;
    position: relative;
    background-color: #FFF;
    border-radius: 0 0 24px 24px; }
    @media screen and (max-width: 990px) {
      .M20 .bottom-section {
        margin-top: 60px; } }
    .M20 .bottom-section .header-section {
      padding: 20px 116px 0px 116px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid #A2BCB1;
      position: sticky;
      top: 63px;
      background: #fff;
      z-index: 3; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .header-section {
          padding-inline: 13px;
          top: 48px;
          flex-direction: column;
          gap: 15px;
          align-items: start;
          z-index: 4;
          position: static; } }
      @media screen and (min-width: 990px) and (max-width: 1400px) {
        .M20 .bottom-section .header-section {
          padding-right: 16px;
          padding-left: 33px; } }
      .M20 .bottom-section .header-section .title, .M20 .bottom-section .header-section .title > * {
        color: var(--Forest-100, #00402A);
        font-family: IberPangea;
        font-size: 24px;
        font-weight: 600;
        line-height: 114%; }
        @media screen and (max-width: 990px) {
          .M20 .bottom-section .header-section .title, .M20 .bottom-section .header-section .title > * {
            font-size: 18px; } }
    .M20 .bottom-section .filters {
      display: flex;
      align-items: center;
      gap: 16px; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .filters {
          gap: 8px; } }
    .M20 .bottom-section .dropdown {
      width: auto; }
      .M20 .bottom-section .dropdown .btn {
        display: flex;
        padding: 16px;
        justify-content: flex-end;
        align-items: center;
        border-radius: 15px 15px 0 0;
        color: #00402A;
        font-family: IberPangea;
        font-size: 16px;
        font-weight: 500;
        line-height: 17px;
        gap: 8px;
        border: 0;
        border: 1px solid transparent;
        border-bottom: 0;
        width: 200px; }
        @media screen and (max-width: 990px) {
          .M20 .bottom-section .dropdown .btn {
            padding: 16px;
            width: fit-content;
            border: 0;
            background-color: transparent !important; }
            .M20 .bottom-section .dropdown .btn .text {
              display: none; }
            .M20 .bottom-section .dropdown .btn.show {
              position: absolute;
              z-index: 2;
              background-color: #FFF5EC !important;
              width: 200px;
              border: 1px solid #007F33;
              border-bottom: 0;
              z-index: 4; }
              .M20 .bottom-section .dropdown .btn.show .text {
                display: block; } }
        .M20 .bottom-section .dropdown .btn.show {
          background-color: #FFF5EC;
          border-color: #007F33;
          justify-content: space-between; }
          .M20 .bottom-section .dropdown .btn.show .icon {
            display: none; }
          .M20 .bottom-section .dropdown .btn.show .icon-close {
            display: block; }
        .M20 .bottom-section .dropdown .btn:focus-visible {
          outline: 2px solid #007F33; }
      .M20 .bottom-section .dropdown .icon {
        width: 32px;
        height: 32px;
        border-radius: 12px;
        background-color: #fff;
        padding: 8px;
        overflow: hidden;
        position: relative;
        border: 1px solid #007F33; }
        @media screen and (max-width: 990px) {
          .M20 .bottom-section .dropdown .icon {
            background-color: #007F33;
            color: #fff; } }
      .M20 .bottom-section .dropdown .icon-close {
        display: none;
        width: 32px;
        height: 32px;
        border-radius: 12px;
        background-color: #007F33;
        padding: 8px;
        overflow: hidden;
        position: relative;
        border: 1px solid #007F33; }
      .M20 .bottom-section .dropdown svg {
        position: absolute;
        left: 50%;
        width: 16px;
        height: 16px;
        transition: all 0.2s ease-in-out;
        color: #fff; }
        .M20 .bottom-section .dropdown svg:first-child {
          animation: arrowBounceReturn 0.6s ease-in-out forwards;
          top: 50%;
          transform: translate(-50%, -50%); }
        .M20 .bottom-section .dropdown svg:last-child {
          top: -100%;
          transform: translate(-50%, -50%); }
      .M20 .bottom-section .dropdown .dropdown-menu {
        width: 100%;
        border: 0;
        margin-top: -2px !important;
        padding: 20px 9px;
        flex-direction: column;
        gap: 16px;
        border: 1px solid #008C39;
        border-top: 0;
        border-radius: 0 0 15px 15px;
        min-width: unset; }
        @media screen and (max-width: 990px) {
          .M20 .bottom-section .dropdown .dropdown-menu {
            width: 200px; } }
        .M20 .bottom-section .dropdown .dropdown-menu ul {
          margin: 0;
          padding: 0;
          list-style: none;
          max-height: 352px;
          overflow: auto; }
          @media screen and (min-width: 560px) and (max-width: 990px) {
            .M20 .bottom-section .dropdown .dropdown-menu ul {
              max-height: 110px; } }
          .M20 .bottom-section .dropdown .dropdown-menu ul::-webkit-scrollbar {
            width: 7px; }
          .M20 .bottom-section .dropdown .dropdown-menu ul::-webkit-scrollbar-thumb {
            background: #00A443;
            border-radius: 99px; }
          .M20 .bottom-section .dropdown .dropdown-menu ul::-webkit-scrollbar-track {
            background: rgba(47, 104, 82, 0.4);
            border-left: 2px solid transparent;
            border-right: 2px solid transparent;
            background-clip: padding-box; }
        .M20 .bottom-section .dropdown .dropdown-menu.show {
          display: flex; }
        .M20 .bottom-section .dropdown .dropdown-menu .form-check {
          margin: 0;
          display: flex;
          align-items: center;
          gap: 8px;
          margin-bottom: 8px;
          padding-top: 3px;
          cursor: pointer; }
          .M20 .bottom-section .dropdown .dropdown-menu .form-check:hover .form-check-label, .M20 .bottom-section .dropdown .dropdown-menu .form-check:has(.form-check-input:focus-visible) .form-check-label {
            text-decoration: underline;
            color: #00402A; }
          .M20 .bottom-section .dropdown .dropdown-menu .form-check:hover .form-check-input, .M20 .bottom-section .dropdown .dropdown-menu .form-check:has(.form-check-input:focus-visible) .form-check-input {
            border: 1.5pt solid #00402A; }
        .M20 .bottom-section .dropdown .dropdown-menu .form-check-label {
          color: var(--Iberdrola-Sand6, #615D5A);
          font-family: IberPangea;
          font-size: 17px;
          font-weight: 400;
          line-height: 21px; }
        .M20 .bottom-section .dropdown .dropdown-menu .form-check-input {
          appearance: none;
          width: 24px;
          height: 24px;
          margin-top: -1.5px;
          flex-shrink: 0;
          position: relative;
          border-radius: 3px;
          border: 1pt solid #B0A9A3;
          background: #fff;
          float: none;
          box-shadow: none; }
          .M20 .bottom-section .dropdown .dropdown-menu .form-check-input:before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 16px;
            height: 16px;
            background-color: #F9F7F7;
            border-radius: 3px; }
          .M20 .bottom-section .dropdown .dropdown-menu .form-check-input:checked::before {
            background-color: #007F33; }
        .M20 .bottom-section .dropdown .dropdown-menu .apply-filters {
          border-radius: 82px;
          border: 1px solid var(--Iberdrola-Green2, #008C39);
          background: var(--Iberdrola-Sand1, #FFFEFF);
          padding: 8px 24px;
          font-family: Iberpangea;
          color: #00402A;
          text-align: center;
          font-size: 16px;
          font-style: normal;
          font-weight: 600;
          line-height: normal;
          transition: .3s all linear; }
          .M20 .bottom-section .dropdown .dropdown-menu .apply-filters:hover {
            background-color: #00402A;
            color: #FFF; }
          .M20 .bottom-section .dropdown .dropdown-menu .apply-filters:focus-visible {
            outline: 2px solid #007F33;
            outline-offset: 2px;
            background-color: #00402A;
            color: #FFF; }
      .M20 .bottom-section .dropdown:hover .icon svg:first-child, .M20 .bottom-section .dropdown:hover .icon-close svg:first-child, .M20 .bottom-section .dropdown.hover .icon svg:first-child, .M20 .bottom-section .dropdown.hover .icon-close svg:first-child {
        animation: none;
        top: 150%;
        transform: translate(-50%, -50%); }
      .M20 .bottom-section .dropdown:hover .icon svg:last-child, .M20 .bottom-section .dropdown:hover .icon-close svg:last-child, .M20 .bottom-section .dropdown.hover .icon svg:last-child, .M20 .bottom-section .dropdown.hover .icon-close svg:last-child {
        animation: arrowBounce 0.6s ease-in-out forwards;
        top: 50%;
        transform: translate(-50%, -50%); }
      .M20 .bottom-section .dropdown:has(.dropdown-menu[data-popper-placement="top-start"]) .btn {
        border-radius: 0;
        border-top: 0; }
      .M20 .bottom-section .dropdown:has(.dropdown-menu[data-popper-placement="top-start"]) .dropdown-menu {
        border-bottom: 0;
        border-radius: 15px 15px 0 0;
        margin-bottom: -3px !important;
        border-top: 1px solid #008C39; }
        @media screen and (max-width: 990px) {
          .M20 .bottom-section .dropdown:has(.dropdown-menu[data-popper-placement="top-start"]) .dropdown-menu {
            border-bottom: 1px solid #008C39;
            border-radius: 15px; } }
    .M20 .bottom-section .timeline {
      display: grid;
      grid-template-columns: 4fr 8fr;
      padding: 40px 116px; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .timeline {
          padding-inline: 13px;
          display: flex;
          justify-content: space-between;
          padding-bottom: 0;
          gap: 33px; } }
      @media screen and (min-width: 990px) and (max-width: 1400px) {
        .M20 .bottom-section .timeline {
          padding-right: 16px;
          padding-left: 33px; } }
      @media screen and (min-width: 1920px) {
        .M20 .bottom-section .timeline {
          grid-template-columns: 3fr 10fr;
          gap: 10px; } }
    @media screen and (max-width: 990px) {
      .M20 .bottom-section .month-column {
        min-width: 48px; } }
    .M20 .bottom-section .month-column .month-controls {
      display: flex;
      flex-direction: column;
      width: fit-content;
      gap: 0px;
      position: sticky;
      top: 200px; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .month-column .month-controls {
          gap: 10px;
          z-index: 3;
          position: static; } }
    .M20 .bottom-section .month-column .swiper-month-button-next,
    .M20 .bottom-section .month-column .swiper-month-button-prev {
      position: relative;
      left: 0px;
      top: 0px;
      width: 16px;
      height: 16px;
      margin: 2px;
      justify-content: start;
      z-index: 3;
      border-radius: 99px;
      display: flex; }
      .M20 .bottom-section .month-column .swiper-month-button-next:focus-visible,
      .M20 .bottom-section .month-column .swiper-month-button-prev:focus-visible {
        outline: 2px solid #007F33; }
      .M20 .bottom-section .month-column .swiper-month-button-next svg,
      .M20 .bottom-section .month-column .swiper-month-button-prev svg {
        width: 16px;
        height: 16px; }
      .M20 .bottom-section .month-column .swiper-month-button-next.swiper-button-disabled,
      .M20 .bottom-section .month-column .swiper-month-button-prev.swiper-button-disabled {
        pointer-events: none;
        opacity: 0.3; }
    .M20 .bottom-section .month-column .swiper-month-button-prev {
      margin-bottom: 10px; }
    .M20 .bottom-section .month-column .swiper-month-button-next::after,
    .M20 .bottom-section .month-column .swiper-month-button-prev::after {
      display: none; }
    .M20 .bottom-section .month-column .monthSelector {
      color: #615D5A;
      font-family: IberPangea;
      font-size: 16px;
      font-weight: 400;
      line-height: 100%;
      transition: .2s all ease-in-out;
      background-color: transparent;
      padding: 0;
      border: 0; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .month-column .monthSelector {
          font-size: 14px; } }
      .M20 .bottom-section .month-column .monthSelector:hover {
        color: #00402A;
        text-decoration: underline;
        opacity: 1 !important; }
      .M20 .bottom-section .month-column .monthSelector:focus-visible {
        outline: 2px solid #00402A;
        outline-offset: 2px; }
    .M20 .bottom-section .month-column .swiperMonthController {
      padding-inline: 2px; }
    .M20 .bottom-section .month-column .swiper-wrapper {
      padding: 20px 2px 0 2px;
      max-height: 250px; }
    .M20 .bottom-section .month-column .swiper-slide {
      display: flex;
      align-items: center;
      height: auto; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .month-column .swiper-slide {
          justify-content: center; } }
    .M20 .bottom-section .month-column .swiper-slide-active .monthSelector {
      color: #00402A;
      font-size: 40px; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .month-column .swiper-slide-active .monthSelector {
          font-size: 22px; } }
      .M20 .bottom-section .month-column .swiper-slide-active .monthSelector:hover {
        text-decoration: none; }
    .M20 .bottom-section .events-column {
      max-height: calc(100vh - 200px);
      overflow: auto;
      padding: 4px; }
      .M20 .bottom-section .events-column::-webkit-scrollbar {
        width: 0px;
        background: transparent;
        /* make scrollbar transparent */ }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .events-column {
          max-height: 100vh; } }
    .M20 .bottom-section .event-card.type-big {
      margin-bottom: 23px;
      width: 100%;
      height: 400px;
      padding: 8px;
      border-radius: 16px;
      position: relative;
      display: flex;
      text-decoration: none;
      color: inherit;
      align-items: end; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .event-card.type-big {
          height: 316px; } }
      .M20 .bottom-section .event-card.type-big .image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 16px;
        overflow: hidden; }
        .M20 .bottom-section .event-card.type-big .image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          border-radius: 16px;
          position: absolute;
          top: 0;
          left: 0;
          object-position: center;
          transition: .3s all ease-in-out; }
      .M20 .bottom-section .event-card.type-big .content {
        display: flex;
        flex-direction: column;
        gap: 40px;
        z-index: 2;
        position: relative;
        padding: 16px;
        width: 350px;
        justify-content: space-between;
        background-color: #fff;
        border-radius: 12px; }
        @media screen and (max-width: 990px) {
          .M20 .bottom-section .event-card.type-big .content {
            gap: 16px;
            width: 100%; } }
        .M20 .bottom-section .event-card.type-big .content .category {
          display: flex;
          align-items: center;
          gap: 4px;
          width: fit-content;
          color: #00402A;
          text-align: center;
          font-family: IberPangea;
          font-size: 12px;
          font-weight: 400;
          line-height: 100%; }
          .M20 .bottom-section .event-card.type-big .content .category::before {
            content: "";
            display: block;
            width: 8px;
            height: 8px;
            background-color: #5BD38C;
            border-radius: 99px; }
        .M20 .bottom-section .event-card.type-big .content .title {
          color: #00402A;
          font-family: IberPangea;
          font-size: 24px;
          font-weight: 500;
          line-height: 120%;
          margin-top: 10px; }
          @media screen and (max-width: 990px) {
            .M20 .bottom-section .event-card.type-big .content .title {
              font-size: 16px;
              padding-right: 15px; } }
        .M20 .bottom-section .event-card.type-big .content .extra {
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-top: 8px;
          border-top: 1px solid rgba(162, 188, 177, 0.5); }
          .M20 .bottom-section .event-card.type-big .content .extra .date {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #2F6852;
            font-family: IberPangea;
            font-size: 14px;
            font-weight: 400;
            line-height: 100%; }
      .M20 .bottom-section .event-card.type-big:focus-visible {
        outline: 2px solid #007F33;
        outline-offset: 2px; }
      .M20 .bottom-section .event-card.type-big:hover .image img {
        transform: scale(1.05); }
      .M20 .bottom-section .event-card.type-big:hover .title {
        text-decoration: underline; }
    .M20 .bottom-section .event-card.type-regular {
      margin-bottom: 23px;
      width: 100%;
      display: flex;
      align-items: center;
      border-radius: 16px;
      border: 1px solid rgba(176, 169, 163, 0.5);
      padding: 8px;
      gap: 8px;
      text-decoration: none;
      color: inherit; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .event-card.type-regular {
          gap: 12px;
          flex-direction: column; } }
      .M20 .bottom-section .event-card.type-regular .image {
        min-width: 257px;
        max-width: 257px;
        border-radius: 12px;
        height: 170px;
        position: relative;
        overflow: hidden; }
        @media screen and (max-width: 990px) {
          .M20 .bottom-section .event-card.type-regular .image {
            min-width: 100%;
            max-width: 100%; } }
        .M20 .bottom-section .event-card.type-regular .image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          border-radius: 12px;
          position: absolute;
          top: 0;
          left: 0;
          object-position: center;
          transition: .3s all ease-in-out; }
      .M20 .bottom-section .event-card.type-regular .content {
        display: flex;
        flex-direction: column;
        gap: 20px;
        z-index: 2;
        position: relative;
        padding: 0 16px;
        width: 100%;
        justify-content: space-between;
        background-color: #fff;
        border-radius: 12px; }
        .M20 .bottom-section .event-card.type-regular .content .category {
          display: flex;
          align-items: center;
          gap: 4px;
          width: fit-content;
          color: #00402A;
          text-align: center;
          font-family: IberPangea;
          font-size: 12px;
          font-weight: 400;
          line-height: 100%; }
          .M20 .bottom-section .event-card.type-regular .content .category::before {
            content: "";
            display: block;
            width: 8px;
            height: 8px;
            background-color: #5BD38C;
            border-radius: 99px; }
        .M20 .bottom-section .event-card.type-regular .content .title {
          color: #00402A;
          font-family: IberPangea;
          font-size: 24px;
          font-weight: 500;
          line-height: 120%;
          margin-top: 10px; }
          @media screen and (max-width: 990px) {
            .M20 .bottom-section .event-card.type-regular .content .title {
              font-size: 16px;
              padding-right: 15px; } }
        .M20 .bottom-section .event-card.type-regular .content .extra {
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding-top: 8px;
          border-top: 1px solid rgba(162, 188, 177, 0.5); }
          .M20 .bottom-section .event-card.type-regular .content .extra .date {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #2F6852;
            font-family: IberPangea;
            font-size: 14px;
            font-weight: 400;
            line-height: 100%; }
      .M20 .bottom-section .event-card.type-regular:focus-visible {
        outline: 2px solid #007F33;
        outline-offset: 2px; }
      .M20 .bottom-section .event-card.type-regular:hover .image img {
        transform: scale(1.1); }
      .M20 .bottom-section .event-card.type-regular:hover .title {
        text-decoration: underline; }
    .M20 .bottom-section .scroll-up {
      position: sticky;
      bottom: 20px;
      margin-right: 20px;
      margin-left: auto;
      display: block;
      z-index: 3;
      background-color: transparent;
      border: 0; }
      @media screen and (max-width: 990px) {
        .M20 .bottom-section .scroll-up {
          bottom: 80px;
          margin-right: 5px; } }
      .M20 .bottom-section .scroll-up .icon {
        background-color: #fff;
        width: 40px;
        height: 40px;
        border-radius: 99px;
        border: 1px solid #00402A;
        overflow: hidden;
        position: relative; }
      .M20 .bottom-section .scroll-up .text {
        color: #00402A;
        text-align: center;
        font-family: IberPangea;
        font-size: 14px;
        font-weight: 500;
        line-height: 17px;
        margin-top: 6px; }
      .M20 .bottom-section .scroll-up svg {
        position: absolute;
        left: 50%;
        width: 16px;
        height: 16px;
        transition: all 0.2s ease-in-out; }
        .M20 .bottom-section .scroll-up svg:first-child {
          animation: arrowBounceReturn 0.6s ease-in-out forwards;
          top: 50%;
          transform: translate(-50%, -50%); }
        .M20 .bottom-section .scroll-up svg:last-child {
          top: -100%;
          transform: translate(-50%, -50%); }
      .M20 .bottom-section .scroll-up:hover svg:first-child, .M20 .bottom-section .scroll-up.hover svg:first-child {
        animation: none;
        top: 150%;
        transform: translate(-50%, -50%); }
      .M20 .bottom-section .scroll-up:hover svg:last-child, .M20 .bottom-section .scroll-up.hover svg:last-child {
        animation: arrowBounce 0.6s ease-in-out forwards;
        top: 50%;
        transform: translate(-50%, -50%); }
      .M20 .bottom-section .scroll-up:focus-visible {
        outline: 2px solid #007F33;
        outline-offset: 2px; }
