/* Mega Menu */
body {
    &.no-scroll {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        overflow: hidden;
    }
}

header {
    position: relative;
    z-index: 2000;
    overflow: visible;
}

.mega-menu {
    margin: 0 0 0 50px;
    position: relative;
    z-index: 20;
}

.main-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    background-color: transparent;
}

.menu-item {
    position: relative;
    margin: 0;
    padding: 0;

    a {
        display: block;
        padding: 30px 0;
        margin: 0 20px;
        color: black;
        text-decoration: none;
        transition: background 0.3s ease;
        font-size: 16px;
        font-weight: 400;

        &:hover {
            color: #2071EB;
        }
    }

    &.active {

        .menu-link {
            color: #2071EB;
            /* border-bottom: 6px solid #2071EB; */
            box-shadow: inset 0 -6px 0 0 #2071EB;

            &:after {
                color: #2071EB;
                transform: rotate(-135deg);
                position: relative;
                top: 0px;
            }
        }
    }
}

/* Transparent Header */
.transparent-header {
    top: 0;
    z-index: 2000;

    .menu-item {
        
        a {
            color: white;
        }
    }

    .color-logo {
        display: none;
    }

    &.active {
        background: white;
        position: fixed;
        top: 0px;
        z-index: 2000;
        border-bottom: 1px solid #ECECEC;

        .color-logo {
            display: block;
        }

        .white-logo {
            display: none;
        }

        #mobile-toggle {

            .bar {
                background-color: black;
            }
        }

        .menu-item {

            a {
                color: black;
            }

            &.active {

                a {
                    color: #2071EB;

                    &:hover {
                        color: #2071EB;
                    }
                }
            }
        }

        .search-icon {

            a {

                &:hover {
                    background: rgb(32 113 235) !important;

                    svg {
                        fill: white;
                    }
                }
               
            }

            svg {
                fill: black;
            }
        }

        .demo-button {

            a {
                background-color: rgb(32 113 235) !important;
                color: white !important;
            }
        }

        .kt-svg-item-4081_c5beb1-66 {

            svg {
                fill: black;
            }
        }

        .kb-btn4081_bad206-ca {
            
            span {
                color: white;
            }

            &:before {
                background: #2071eb;
                opacity: 1;
            }

            &:hover {
                background: #89cae3;
            }
        }
    }

    &.search-active {
        background: white;
        /* position: fixed; */
        /* top: 32px; */
        top: 0;
        z-index: 2000;
        border-bottom: 1px solid #ECECEC;

        .color-logo {
            display: block;
        }

        .white-logo {
            display: none;
        }

        #mobile-toggle {

            .bar {
                background-color: black;
            }
        }

        .menu-item {

            a {
                color: black;
            }

            &.active {

                a {
                    color: #2071EB;

                    &:hover {
                        color: #2071EB;
                    }
                }
            }
        }

        .search-icon {

            svg {
                fill: black;
            }
        }

        .kt-svg-item-4081_c5beb1-66 {

            svg {
                fill: black;
            }
        }

        .kb-btn4081_bad206-ca {
            
            span {
                color: white;
            }

            &:before {
                background: #2071eb;
                opacity: 1;
            }

            &:hover {
                background: #89cae3;
            }
        }
    }
}

.menu-link {
    &:after {
        content: '';
        display: inline-block;
        margin-left: 8px;
        margin-top: -4px;
        width: 6px;
        height: 6px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
        transition: transform 0.3s ease;
        position: relative;
        top: -3px;
    }
}

/* Mega Menu Content */
.mega-menu-content {
    position: absolute;
    /* top: 73px; */
    top: 100%;
    left: 0;
    width: 100vw;
    /* background: #fff; */
    background: linear-gradient(90deg, rgba(255,255,255,1) 80%, rgba(238,240,243,1) 80%);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-20px);
    transition: visibility 0s, opacity 0.15s ease, transform 0.15s ease;
    border-top: 1px solid #ECECEC;
    display: flex;
    justify-content: space-between;
    z-index: 20;
}

.mega-menu-wrapper {
    max-width: 1440px;
    width: 100%;
    display: flex;
    padding: 0 15px 0 10px;
    margin: 0 auto;
}

.nav-container {
    flex: 1;
    padding: 20px;
}

.content-container {
    background: #eef0f3;
    flex: 0;
    padding: 2.5rem;
    justify-content: flex-end;
    display: flex;
}

.content-card {
    background: transparent;
    width: 300px;
    max-height: 316px;
    margin: 0 1rem;
    height: auto;
    overflow: visible;
}

.content-card.blue {
    background: #2071eb;
}

.content-card.magenta {
    background: #d93367;
}

.content-card .featured-image-container {
    overflow: hidden;
    display: inline-block;
}

.content-card .featured-image-container img {
    object-fit: cover;
    transition: transform 0.3s ease;
}

.content-card .card-footer {
    display: flex;
}

.content-card a {
    padding: 0;
    margin: 0;
}

.content-card a .content {
    padding: 50px 25px 15px 15px;
}

.content-card a h3, 
.content-card a .h3 {
    font-family: Raleway, san-serif;
    letter-spacing: 0;
    color: white;
    font-variant-numeric: lining-nums proportional-nums;
    font-size: 1.375rem;
    line-height: 1.1818181818181819;
    font-weight: 500;
}

.content-card a:hover .featured-image-container img {
    transform: scale(1.05);
}

.content-card .card-arrow {
    bottom: auto;
    right: auto;
    padding: 0 10px 15px 0;
}

.card-arrow {
    align-self: flex-end;
    display: flex;
    align-items: flex-end;
    position: relative;
}

 .card-arrow::before {
    content: "";
    aspect-ratio: 1/1;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath fill='%23fff' d='M30 59.3C13.9 59.3.7 46.1.7 30S13.9.7 30 .7 59.3 13.8 59.3 30 46.2 59.3 30 59.3'/%3E%3Cpath d='M30 1.4c15.7 0 28.6 12.8 28.6 28.6S45.8 58.6 30 58.6 1.4 45.7 1.4 30 14.3 1.4 30 1.4M30 0C13.4 0 0 13.4 0 30s13.4 30 30 30 30-13.4 30-30S46.6 0 30 0'/%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M41.4 17.9v23.3M42.4 18.4H19M17.6 42.1 41 18.8'/%3E%3C/g%3E%3C/svg%3E");
    background-size: cover;
    display: inline-block;
    transition: transform 0.3s ease-in-out;
    width: 32px;
}

.card-arrow.arrow-lg::before {
    width: 60px;
}

.group\/card:hover .card-arrow::before {
    transform: rotate(12deg);
}

.menu-item.active .mega-menu-content {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.mm-intro {
    padding: 0 0 1.5rem 0;
    border-bottom: 1px solid #ECECEC;
    margin-bottom: 30px;

    .mm-title {
        font-family: Raleway, san-serif;
        font-variant-numeric: lining-nums proportional-nums;
        font-size: 1.125rem;
        font-weight: 500;
        margin-bottom: 5px;
    }

    .mm-content {
        font-family: Lato, sans-serif;
        font-size: .875rem;
        letter-spacing: 0;
        font-weight: 400;

        span {
            display: inline-block;
            
            a {
                font-size: .875rem;
            }
        }
    }    
    
}

/* Menu Columns */
.menu-column {
    float: left;
    box-sizing: border-box;
    margin: 0 4.5rem 0 0;

    h3, .h3 {
        font-family: Raleway, san-serif;
        font-variant-numeric: lining-nums proportional-nums;
        font-size: .875rem;
        line-height: 1.4285714285714286;
        letter-spacing: .0008750000130385161rem;
        font-weight: 600;
        margin-bottom: 10px;
    }

    ul {
        list-style: none;
        margin: 1rem 0 0 0;
        padding: 0;

        li {
            padding: 0;
            margin: 0 0 0.75rem 0;
            position: relative;

            a {
                text-decoration: none;
                color: black;
                transition: color 0.3s ease;
                padding: 0;
                margin: 0;

                &:hover {
                    color: #000;
                }
            }

            .link-content {
                padding-left: 50px;
            }

            .link-title {
                font-family: Raleway, san-serif;
                font-variant-numeric: lining-nums proportional-nums;
                font-size: 1.125rem;
                font-weight: 500;
                line-height: 1.4444444444444442;
                letter-spacing: 0;

                &.underline {
                    text-decoration: underline;
                }
            }

            .link-copy {
                font-family: Lato, sans-serif;
                font-size: .875rem;
                letter-spacing: 0;
                font-weight: 400;
                line-height: 1.5714285714285714;
            }
        }
    }

    .icon {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 10px;

        svg {
            width: 25px;
            height: auto;
            display: block;
        }
    }

    .split-columns {
        display: flex;
        flex-wrap: wrap;
        /* gap: 50px; */

        ul {
            flex: 1 1 calc(33.333% - 50px);
            list-style: none;
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            margin: 0 2.5rem 0 0;

            &:first-of-class {
                margin: 0;
            }

            li {
                break-inside: avoid;
                padding: 5px 0;
            }
        }
    }
}

@media (min-width: 1280px) {
    .split-columns ul {
        column-count: 3;
        column-gap: 20px;
    }

    .split-columns li {
        break-inside: avoid;
        margin-bottom: 10px;
    }
}

:root {
    --menu-bg: #333;
    --submenu-bg: #444;
    --text-color: #fff;
    --hover-color: #1e73be;
    --transition-duration: 0.3s;
  }

#mobileMenu {
    display: none;
}
  
  .mobile-menu {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100vh;
    background-color: white;
    color: black;
    overflow-y: auto;
    overflow-x: hidden;
    transition: left var(--transition-duration) ease;
    z-index: 999;
  
    &.active {
      left: 0;
    }
  
    ul {
      list-style: none;
      padding: 80px 0 0 0;
      margin: 0;
  
      li {
        border-bottom: 1px solid #ececec;
        padding-left: 0;

        &:first-of-type {
            border-top: 1px solid #ececec;
        }

        .icon {
            top: 4px;
        }

        .link-content {
            padding-left: 40px;
        }
  
        a {
          text-decoration: none;
          color: black;
          font-size: 1.2rem;
          padding: 20px 20px 20px 30px;
          display: block;
          position: relative;
  
          &:hover {
            color: var(--hover-color);
          }

          &.top-nav {

            &:after {
                content: '';
                display: inline-block;
                margin-left: 8px;
                margin-top: -4px;
                width: 8px;
                height: 8px;
                border-right: 2px solid currentColor;
                border-bottom: 2px solid currentColor;
                transform: rotate(315deg);
                transition: transform 0.3s ease;
                position: absolute;
                top: 30px;
                right: 3%;
            }
          }
        }
      }
    }
  
    .submenu {
      position: absolute;
      top: 0;
      left: 100%;
      width: 100%;
      height: 100%;
      background-color: white;
      padding: 0;
      transition: left var(--transition-duration) ease;
      margin: 90px 0 0 0;
      z-index: 30;
  
      &.active {
        left: 0;
      }

      .nav-title {
        padding: 20px 20px 20px 30px;
        margin: 0;
        border-bottom: 1px solid #ececec;

        &.back {
            padding-left: 60px;

            &:after {
                content: '';
                display: inline-block;
                margin-left: 8px;
                margin-top: -4px;
                width: 8px;
                height: 8px;
                border-right: 2px solid currentColor;
                border-bottom: 2px solid currentColor;
                transform: rotate(135deg);
                transition: transform 0.3s ease;
                position: absolute;
                top: 34px;
                left: 3%;
            }
        }
      }
  
      .back {
        display: block;
        color: black;
        cursor: pointer;
  
        &:hover {
          color: var(--hover-color);
        }
      }

      .mm-sub-menu-content {
        
        display: block;

        .nav-container {
            padding: 0;

            .mm-intro {
                padding: 20px 20px 20px 30px;
                border-bottom: 1px solid #ececec;
            }

            .menu-column {
                margin: 0;
                padding: 20px 20px 10px 30px;
                width: 100%;

                h3, .h3 {
                    margin-bottom: 10px;
                    padding: 0;
                }

                ul {
                    margin: 0;
                    padding-top: 0;

                    li {
                        border-bottom: 0;
                        margin-bottom: 10px;

                        &:first-of-type {
                            border-top: 0;
                        }

                &:last-of-type {
                  padding-bottom: 70px;
                }

                a {
                  padding: 0;
                }
              }
            }

                .split-columns {
                    display: inherit;

                    ul {
                        margin: 0;

                        li {
                            border-bottom: 0;
                            margin-bottom: 10px;

                            &:first-of-type {
                                border-top: 0;
                            }

                            &:last-of-type {
                                padding-bottom: 70px;
                            }

                            a {
                                padding: 0;
                            }
                        }
                    }
                }
            }
        }
      }
    }
  }
  
  #mobile-toggle {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    z-index: 1000;
  
    .bar {
      width: 25px;
      height: 2px;
      background-color: var(--text-color);
      margin: 3px 0;
      transition: var(--transition-duration);
  
      &:hover {
        background-color: var(--hover-color);
      }
    }
  }

  .mobile-logo {
    position: absolute;
    height: 26px;
    width: 196px;
    top: 10px;
    left: 30px;
  }
  
  #close-menu {
    position: absolute;
    top: 12px;
    right: 38px;
    font-size: 3rem;
    font-weight: 400;
    color: black;
    cursor: pointer;
  
    &:hover {
      color: black;
    }
  }
  
  .menu-backdrop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 998;
  
    &.active {
      display: block;
    }
  }


/* Responsive Design */
@media (max-width: 1280px) {

    #desktopMenu {
        display: none;
    }

    #mobileMenu {
        display: block;
    }
}


/* Search Dropdown within Menu */
.search-dropdown {
    background: white;
    opacity: 0;
    padding: 0 20px 20px 20px;
    position: absolute;
    display: none;
    top: 100%;
    width: 100%;
    z-index: 20;

    form {
        border-bottom: 1px solid #d93367;
        padding-bottom: 10px;

        input {
            font-size: 32px;
            color: black;
            width: 100%;
            outline: transparent;
            border: 0;
    
            &:focus {
                border: 0;
            }
        }
    }

    .suggested-search {
        p {
            font-weight: bold;
        }

        ul {
            list-style-type: none;

            li {
                border: 0;

                button {
                    border: 0;
                    font-size: 15px;
                }
            }
        }
    }
}

html, body {
    height: 100%;
}

.search-overlay {
    display: none;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(6 39 94);
    z-index: 10;
    opacity: 0;
    overflow: hidden;
}

.navigation-overlay {
    display: none;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(6,39,94,0.2);
    z-index: 10;
    opacity: 0;
    overflow: hidden;
}

.clear-search-button {
    margin: -40px 0 0 0;
    position: relative;
    right: 0;
    float: right;
}

.close-search-button  {
    margin: -30px 0 0 0;
}


.search-page {
    z-index: 20;

    form {
        border-bottom: 1px solid #d93367;
        padding-bottom: 10px;

        input {
            font-size: 32px;
            color: black;
            width: 100%;
            outline: transparent;
            border: 0;
    
            &:focus {
                border: 0;
            }
        }
    }

    .suggested-search {
        p {
            font-weight: bold;
        }

        ul {
            list-style-type: none;

            li {
                border: 0;

                button {
                    border: 0;
                    font-size: 15px;
                }
            }
        }
    }
}

html, body {
    height: 100%;
}

.search-overlay {
    display: none;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(6 39 94);
    z-index: 10;
    opacity: 0;
    overflow: hidden;
}

.navigation-overlay {
    display: none;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(6,39,94,0.2);
    z-index: 10;
    opacity: 0;
    overflow: hidden;
}

.clear-search-button {
    margin: -40px 0 0 0;
    position: relative;
    right: 0;
    float: right;
}

.close-search-button  {
    margin: -30px 0 0 0;
}

.pagination-next,
.pagination-prev {
    padding: 0;
    border: 0;
}

.search-dropdown,
.search-dropdown .inner {
    max-height: calc(100vh - 90px); 
}

#search-results {
    overflow-y: auto;
}

#scrolly {
	position: relative;
	display: grid;
	padding: 1rem;
	margin-top: 72px;

	@media (min-width: 56rem) {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 2.5rem;
	}
}

#scrolly article {
	position: relative;
	grid-column: span 5 / span 5;
	padding:0;
}

#scrolly .step:last-child {
	margin-bottom: 0;
}

#image-container {
	position: -webkit-sticky;
	position: sticky;
	grid-column: span 6 / span 6;
}
#scrolly .step-image {
	display: none; /* Hide all images by default */
	width: 100%; /* Adjust as needed */
	height: auto;
}

#scrolly .step-image.is-active {
	display: block; /* Show only the active image */
}

#scrolly .step {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

#scrolly .step.fade-in {
	opacity: 1;
	visibility: visible;
}

#scrolly .step.fade-out {
	opacity: 0;
	visibility: hidden;
}
#scrolly .sticky {
	top:50% !important:
}
.experience-portals-hero {
    aspect-ratio: 1390 / 976;
    width: 100%;
    position: relative !important;

    .kt-inside-inner-col,
    .kadence-inner-column-inner {
        min-height: 100%;
    }

    .wp-block-image,
    .wp-block-video {
        position: absolute;
        width: 47.584% !important;
        height: auto;
        margin: 0;
    }

    img,
    video {
      border-radius: 6px;
      width: 100% !important;
      height: auto;
    }

    .wp-block-image {
      width: 79.31% !important;
      right: 0;
      top: 0;
    }

    .wp-block-video {
      left: 0;
      bottom: 0;
      aspect-ratio: 600 / 732;
      
      video {
        box-shadow: 0 0 18px 0 rgba(0, 0, 0, 0.15);
      }
    }
}

@media (min-width: 1024px) and  {
    .experience-portals-hero {
        video,
        img {
            border-radius: 8px;
        }
    }
}