/* 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: 307px;
    margin: 0 1rem;
    height: auto;
    overflow: visible;

    &.blue {
        background: #2071eb;
    }

    &.magenta {
        background: #d93367;
    }

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

        img {
            object-fit: cover;
            transition: transform 0.3s ease;
        }
    }

    .card-footer {
        display: flex;
    }

    a {
        padding: 0;
        margin: 0;

        .content {
            padding: 50px 25px 15px 15px;
        }

        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;
        }

        &:hover {
            .featured-image-container {

                img {
                    transform: scale(1.05);
                }
            }
        }
    }

    .arrow {
        bottom: 15px;
        right: 10px;
        position: relative;

        svg {
            height: 26px;
        }
    }
}

.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 {
        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 1.5rem 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: inherit;
            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 {
                    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;
}