/* :root Overrides for plugins.css */
:root {
    font-size: 16px;
}

.container {
    scroll-margin-top: 100px;
}

/* GDPR Cookie Consent Banner */
.elc-button-link {
    background-color: #0071c5 !important;
}

/* Header */

#header {
    height: 90px;
    line-height: 90px;
}

#header .header-inner {
    height: 90px;
}

#mainMenu nav > ul > li > a {
    font-size: 16px;
}

#mainMenu li.dropdown.submenu {
    display: list-item;
}

#mainMenu li.dropdown.submenu:hover .dropdown-menu {
    border-top: 5px white solid;
    box-shadow: 0 33px 32px rgb(0 0 0 / 10%);
    display: block;
    left: -11px;
    padding-left: 30px;
}

#mainMenu li.dropdown.submenu .dropdown-menu li {
    border-left: 1px #0071c5 solid;
}

.cmmc-nav-item i.icon-chevron-down {
    margin-left: 1rem !important;
    transition: all 0.2s ease;
}

.cmmc-li:hover i.icon-chevron-down {
    margin-left: 1rem !important;
    transform: rotate(180deg);
    transition: all 0.2s ease;
}

.header-inner-wrap {
    display: flex;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    width: 100%:
}

@media (max-width: 1232px) {
    .header-inner-wrap {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (max-width: 991.98px) {

    #mainMenu:not(.menu-overlay) nav > ul li > .dropdown-menu {
        max-height: 100%;
        opacity: 1;
    }

   .cmmc-li.dropdown.submenu ul.dropdown-menu {
        padding-left: 0 !important;
    }

    #mainMenu li.dropdown.submenu .dropdown-menu li {
        border-left: 0;
        padding-left: 1rem;
    }

    #header .header-inner {
        height: 100%;
    }

    .header-inner-wrap {
        flex-direction: column;
    }

    #mainMenu-trigger {
        position: absolute;
        right: 2rem;
        top: 0.5rem;
    }

    #mainMenu.main-nav {
        position: absolute;
        left: 0;
        padding-left: 2rem;
        top: 80px;
        width: 100vw;
    }

    #mainMenu.main-nav.menu-animate {
        position: absolute;
        left: 0;
        padding-left: 2rem;
        top: 80px;
        width: 100vw;
    }
}

.logo {
    display: flex;
    height: 100%;
    padding-bottom: 5px;
    padding-top: 5px;
    width: 175px;
}

.logo img {
    object-fit: contain;
    height: 100%;
    width: auto;
}

.main-nav {
    background: #fff;
    margin-left: auto;
}

/* Home Hero */
.home-hero {
    align-items: center;
    display: flex;
    height: 72vh;
    justify-content: center;
    position: relative;
    width: 100%;
}

.video-wrap {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
}

.video-wrap video {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

/* Two Column Block */
.two-column .row {
    display: flex;
}

@media (max-width: 991.98px) {
    .two-column .row {
        flex-direction: column;
    }
    .two-column .row:has(.right-col img) {
        flex-direction: column-reverse;
    }
}

/* Icon Blocks */

.icon-box::before {
    display: none;
  }
  
  .icon-blocks .icon-box.large .icon {
    height: 50px;
    width: auto;
  }
  
  .icon-blocks a.icon-box {
    transition: all 0.2s;
  }
  
  .icon-blocks a.icon-box:hover {
    transition: all 0.2s;
  }
  
  .icon-blocks a.icon-box h3 {
    margin: 0;
    transition: all 0.2s;
  }
  
  .icon-blocks a.icon-box:hover h3, a.icon-box:hover div i {
    color: #0171C4;
    transition: all 0.2s;
  }

  .icon-box.text-center p, .icon-box.center p {
      font-weight: 400;
  }

  .icon-box .image-heading {
    align-items: center;
    display: flex;
    height: 4rem;
    margin: 0;
    justify-content: center;
  }

  .image-blocks .image-heading h3 {
    font-size: 20px;
    margin: 0;
    text-align: center;
  }

  .about-us-icons-row {
    display: flex;
    gap: 3rem;
    justify-content: center;
  }
  .about-us-icons .icon-box {
    width: auto;
  }
  .about-us-icons .icon-box.large .icon {
    height: auto;
    width: 100px;
  }

  .image-blocks {
    position: relative;
  }

  .image-blocks::before {
    background-image: url('./section-bg.jpg');
    background-position: center;
    background-size: cover;
    content: '';
    height: 100%;
    left: 0;
    opacity: 0.1;
    position: absolute;
    top: 0;
    width: 100%;
=
  }
  
  /* Footer */
  #footer.inverted {
      background-color: #363d41;
        background-position: center;
        background-size: cover;
    }

    #footer a.cert-link {
        display: inline-block;
        line-height: 1.5;
        color: white !important;
        text-decoration: underline;
        transition: opacity 100ms ease-in;
    }

    #footer a.cert-link:hover {
        opacity: 0.75;
        transition: opacity 100ms ease-in;
    }

  .dark #footer p, #footer.inverted p, #footer.dark p {
    color: #fff;
  }

  #footer.inverted a.footer-link:not(.btn):not(:hover) {
    color: #fff;
    font-weight: 400;
    transition: color 0.2s;
    }   

    #footer.inverted a.footer-link:not(.btn):hover {
    transition: color 0.2s;
    }

    .footer-links {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 2rem;
        width: 100%;
    }

    .footer-links .link-separator {
        height: 1rem;
        width: 0px;
        flex: 0;
        border-left: solid #999 1px;
    }


/* Control Explorer Entries */
.control-explorer {
    padding: 2rem;
}

.control-explorer .back-link {
    align-items: center;
    color: #3C4043;
    display: flex;
    font-size: 1rem;
    margin-bottom: 2rem;
    text-decoration: underline;
    transition: color 0.2s;
    width: fit-content;
}

.control-explorer a.back-link:hover {
    color: #0071c5;
    text-decoration: underline;
    transition: color 0.2s;
}

.control-explorer .back-link .icon {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 5px;
    width: 10px;
}

.control-explorer .back-link svg {
    fill: currentcolor;
    width: 100%;
} 

.control-explorer .content-wrap {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    width: 100%;
}

.control-explorer .content-wrap h1 {
    font-size: 35px;
    font-weight: 400;
    text-align: center;
}

.control-explorer .tab-wrap {
    background: #F9F9FA;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.control-explorer .tab-heading {
    margin-bottom: 2rem;
    margin-left: 1rem;
    position: relative;
}

.control-explorer .tab-heading::before {
    content: "";
    position: absolute;
    height: 2px;
    width: 100px;
    background-color: #0071c5;
    bottom: -10px;
    left: 0;
    right: 0;
}

.control-explorer .field-wrap {
    flex-basis: 400px;
    margin-bottom: 2rem;
    padding: 1rem;
}

/* Inner Pages */
.heading-text.heading-section h2 {
    font-size: 35px;
    line-height: 1.2;
}

.heading-text h3 {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.heading-text ul {
    margin-bottom: 2rem;
}

.heading-text.heading-section p {
    font-weight: 400;
}

/* Contact */
.phone-link {
    color: #3C4043;
    transition: color 0.2s;
}

.phone-link:hover {
    transition: color 0.2s;
}
  

img {
    max-width: 100%;
}
figure {
    text-align:  center;
}

#page-title[data-bg-parallax], [data-bg-parallax] {
    background-color: #0072c5;
}

#page-title .page-title > h1 {
    font-weight: 600;
    text-transform: uppercase;
}

.services h2 {
    scroll-margin: 100px;
}

/* Utility Classes */
.flex {
    display: flex;
}

.heading-text.heading-section p, .heading-text.heading-section span {
    font-size: 1rem;
}

.call-to-action-dark h2 {
    color: #fff;
}

.resumator-job-info.resumator-jobs-text, .resumator-job-link.resumator-jobs-text {
    font-size: 1rem;
}



/* Job Listings / JazzHR iFrame */
#job-listings {
    padding-top: 0;
    margin-top: -5rem;
    overflow: initial;
    scroll-margin-top: 6.5rem;
}