.fcal-h1,.hero_parent_container .hero__title {
    font-family: Noto Sans,Arial,sans-serif;
    font-size: 46px;
    line-height: 54px;
    font-weight: 700;
    color: #0f3a6e;
    margin: 0 0 1.5rem;
    letter-spacing: -.02em
}

.fcal-h2,.featured-carousel__title,.services__heading {
    font-family: Noto Sans,Arial,sans-serif;
    font-size: 36px;
    line-height: 48px;
    font-weight: 700;
    color: #0f3a6e;
    margin: 0 0 1.25rem;
    letter-spacing: -.01em
}

.fcal-h3 {
    font-size: 24px;
    line-height: 36px;
    margin: 0 0 1rem
}

.fcal-h3,.fcal-h4,.services__title {
    font-family: Noto Sans,Arial,sans-serif;
    font-weight: 700;
    color: #0f3a6e;
    letter-spacing: 0
}

.fcal-h4,.services__title {
    font-size: 20px;
    line-height: 28px;
    margin: 0 0 .875rem
}

.fcal-body,.hero_parent_container .hero__summary,.services__description,.services__subheading {
    font-family: Noto Sans,Arial,sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #383838;
    margin: 0 0 1rem
}

.fcal-text-on-white {
    color: #383838
}

.fcal-text-on-light {
    color: #000
}

.fcal-text-on-dark {
    color: #fff
}

@media (max-width:768px) {
    .fcal-h1,.hero_parent_container .hero__title {
        font-size: clamp(32px,5vw,46px);
        line-height: 1.2
    }

    .fcal-h2,.featured-carousel__title,.services__heading {
        font-size: clamp(28px,4.5vw,36px);
        line-height: 1.25
    }

    .fcal-h3 {
        font-size: clamp(20px,4vw,24px);
        line-height: 1.3
    }

    .fcal-h4,.services__title {
        font-size: clamp(18px,3.5vw,20px);
        line-height: 1.4
    }
}

.fcal-text-left {
    text-align: left
}

.fcal-text-center {
    text-align: center
}

.fcal-text-right {
    text-align: right
}

.fcal-font-bold {
    font-weight: 700
}

.fcal-font-regular {
    font-weight: 400
}

.fcal-line-height-tight {
    line-height: 1.2
}

.fcal-line-height-normal {
    line-height: 1.5
}

.fcal-line-height-relaxed {
    line-height: 1.75
}

.blue-cta-toc-v3,.btn--service,.button-blue-v3,.button-green-v3,.button-white-v3,.featured-carousel__main-cta,.featured-content__cta .blue-cta-toc-v3,.featured-content__cta .green-cta-toc-v3,.featured-content__cta .white-cta-toc-v3,.green-cta-toc-v3,.hero_parent_container .hero__actions .blue-cta-toc-v3,.hero_parent_container .hero__actions .green-cta-toc-v3,.hero_parent_container .hero__actions .white-cta-toc-v3,.product-card__cta,.white-cta-toc-v3 {
    -webkit-font-smoothing: antialiased;
    border-radius: 4px;
    cursor: pointer;
    display: inline-block;
    font-family: Noto Sans,Arial,sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    padding: 8px 24px;
    min-height: 45px;
    text-decoration: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    vertical-align: middle;
    white-space: normal;
    text-align: center;
    border-width: 2px;
    border-style: solid;
    transition: all .2s ease-in-out
}

.blue-cta-toc-v3:disabled,.btn--service:disabled,.button-blue-v3:disabled,.button-green-v3:disabled,.button-white-v3:disabled,.featured-carousel__main-cta:disabled,.green-cta-toc-v3:disabled,.hero_parent_container .hero__actions .blue-cta-toc-v3:disabled,.hero_parent_container .hero__actions .green-cta-toc-v3:disabled,.hero_parent_container .hero__actions .white-cta-toc-v3:disabled,.product-card__cta:disabled,.white-cta-toc-v3:disabled {
    cursor: not-allowed;
    opacity: .5;
    pointer-events: none
}

.button-green-v3,.featured-content__cta .green-cta-toc-v3,.green-cta-toc-v3,.hero_parent_container .hero__actions .green-cta-toc-v3 {
    background-color: #64be49;
    border-color: #468633;
    color: #000
}

.button-green-v3:hover,.green-cta-toc-v3:hover,.hero_parent_container .hero__actions .green-cta-toc-v3:hover {
    background-color: #468633;
    border-color: #468633;
    color: #fff;
    text-decoration: none
}

.button-green-v3:focus,.green-cta-toc-v3:focus,.hero_parent_container .hero__actions .green-cta-toc-v3:focus {
    background-color: #468633;
    border-color: #468633;
    color: #fff
}

.active.green-cta-toc-v3,.button-green-v3.active,.button-green-v3:active,.green-cta-toc-v3:active,.hero_parent_container .hero__actions .active.green-cta-toc-v3,.hero_parent_container .hero__actions .green-cta-toc-v3:active {
    background-color: #2c5321!important;
    border-color: #2c5321!important;
    color: #fff!important
}

.blue-cta-toc-v3,.btn--service,.button-blue-v3,.featured-carousel__main-cta,.featured-content__cta .blue-cta-toc-v3,.hero_parent_container .hero__actions .blue-cta-toc-v3,.product-card__cta {
    background-color: #38669a;
    border-color: #0f3a6e;
    color: #fff
}

.blue-cta-toc-v3:hover,.btn--service:hover,.button-blue-v3:hover,.featured-carousel__main-cta:hover,.hero_parent_container .hero__actions .blue-cta-toc-v3:hover,.product-card__cta:hover {
    background-color: #0f3a6e;
    border-color: #0f3a6e;
    color: #fff;
    text-decoration: none
}

.blue-cta-toc-v3:focus,.btn--service:focus,.button-blue-v3:focus,.featured-carousel__main-cta:focus,.hero_parent_container .hero__actions .blue-cta-toc-v3:focus,.product-card__cta:focus {
    background-color: #0f3a6e;
    border-color: #0f3a6e;
    color: #fff
}

.active.blue-cta-toc-v3,.active.btn--service,.active.featured-carousel__main-cta,.active.product-card__cta,.blue-cta-toc-v3:active,.btn--service:active,.button-blue-v3.active,.button-blue-v3:active,.featured-carousel__main-cta:active,.hero_parent_container .hero__actions .active.blue-cta-toc-v3,.hero_parent_container .hero__actions .blue-cta-toc-v3:active,.product-card__cta:active {
    background-color: #092241!important;
    border-color: #092241!important;
    color: #fff!important
}

.button-white-v3,.featured-content__cta .white-cta-toc-v3,.hero_parent_container .hero__actions .white-cta-toc-v3,.white-cta-toc-v3 {
    background-color: #fff;
    border-color: #707070;
    color: #383838
}

.button-white-v3:hover,.hero_parent_container .hero__actions .white-cta-toc-v3:hover,.white-cta-toc-v3:hover {
    background-color: #707070;
    border-color: #707070;
    color: #fff;
    text-decoration: none
}

.button-white-v3:focus,.hero_parent_container .hero__actions .white-cta-toc-v3:focus,.white-cta-toc-v3:focus {
    background-color: #707070;
    border-color: #707070;
    color: #fff
}

.active.white-cta-toc-v3,.button-white-v3.active,.button-white-v3:active,.hero_parent_container .hero__actions .active.white-cta-toc-v3,.hero_parent_container .hero__actions .white-cta-toc-v3:active,.white-cta-toc-v3:active {
    background-color: #4a4a4a!important;
    border-color: #4a4a4a!important;
    color: #fff!important
}

.button-blue-v3--small,.button-green-v3--small,.button-white-v3--small {
    padding: 8px 16px;
    font-size: 14px
}

.button-blue-v3--large,.button-green-v3--large,.button-white-v3--large {
    padding: 16px 32px;
    font-size: 18px
}

.button-blue-v3--full,.button-green-v3--full,.button-white-v3--full {
    width: 100%;
    display: block
}

.services {
    background: #cfd9e1 0 0 no-repeat padding-box
}

.services__container {
    max-width: 1533px;
    margin: 0 auto;
    padding: 38px 17px 66px 15px
}

.services__heading {
    text-align: center;
    margin: 0 0 12px;
    color: #000
}

.services__subheading {
    text-align: center;
    font-size: clamp(16px,4vw,20px);
    margin: 0 0 clamp(32px,5vw,48px);
    color: #000
}

.services__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px
}

@media (min-width:640px) {
    .services__grid {
        grid-template-columns: repeat(2,1fr);
        gap: 20px
    }
}

@media (min-width:1200px) {
    .services__grid {
        grid-template-columns: repeat(4,1fr);
        gap: 20px
    }
}

.services__card-wrapper {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%
}

.services__card {
    border-radius: 14px;
    padding: 28px 20px;
    box-shadow: 0 4px 16px rgba(15,58,110,.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%
}

@media (min-width:640px) {
    .services__card {
        padding: 32px 24px
    }
}

@media (min-width:1024px) {
    .services__card {
        padding: 40px 28px
    }
}

.services__card-wrapper:focus-within .services__card,.services__card-wrapper:focus .services__card {
    box-shadow: 0 8px 24px rgba(15,58,110,.18);
    outline: 2px solid #38669a;
    outline-offset: 2px
}

.services__icon {
    width: 80px;
    height: 80px;
    font-size: 64px;
    flex-shrink: 0
}

.services__icon:before {
    font-size: 64px;
    line-height: 1
}

.services__title {
    font-size: clamp(18px,4vw,20px);
    color: #0f3a6e;
    flex-grow: 0
}

.services__description {
    margin: 0 0 20px;
    color: #383838;
    line-height: 1.5;
    flex-grow: 1;
    display: flex;
    align-items: flex-start
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 24px;
    min-width: 180px;
    min-height: 45px;
    border-radius: 5px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .16s ease,box-shadow .16s ease,background .16s ease;
    font-size: 16px;
    cursor: pointer;
    border-width: 2px;
    border-style: solid;
    margin-top: auto
}

.btn--service:active {
    transform: translateY(2px)
}

.btn--service:focus,.btn--service:focus-visible {
    background-color: #0f3a6e;
    border-color: #0f3a6e
}

.hero_parent_container {
    position: relative;
    width: 100%
}

.hero_parent_container .hero {
    position: relative;
    overflow: hidden;
    max-width: 1533px;
    margin: 0 auto;
    padding: 80px 18px 40px 15px
}

@media (min-width:768px) {
    .hero_parent_container .hero {
        padding: 60px 40px
    }
}

@media (min-width:1024px) {
    .hero_parent_container .hero {
        padding: 80px 15px
    }
}

.hero_parent_container .hero .breadcrumb-overlay {
    z-index: 2;
    background-color: transparent;
    position: absolute;
    background: transparent;
    top: 0
}

@media (min-width:768px) {
    .hero_parent_container .hero .breadcrumb-overlay {
        padding: 20px 33px 0;
        margin-left: -4%
    }
}

@media (min-width:1024px) {
    .hero_parent_container .hero .breadcrumb-overlay {
        margin-left: -3%
    }
}

@media (min-width:1200px) {
    .hero_parent_container .hero .breadcrumb-overlay {
        margin-left: -2%
    }
}

.hero_parent_container .hero__bg {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 1;
    pointer-events: none;
    z-index: 0
}

.hero_parent_container .hero__container {
    position: relative;
    z-index: 1;
    max-width: 1440px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.hero_parent_container .hero__container .hero__img {
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    position: relative
}

.hero_parent_container .hero__container .hero__img img {
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(22,59,91,.18)
}

@media (min-width:768px) {
    .hero_parent_container .hero__container .hero__img {
        max-width: 600px;
        margin: 0
    }
}

@media (min-width:1024px) {
    .hero_parent_container .hero__container .hero__img {
        flex: 0 0 48%;
        max-width: none
    }
}

@media (min-width:768px) {
    .hero_parent_container .hero__container {
        gap: 40px
    }
}

@media (min-width:1024px) {
    .hero_parent_container .hero__container {
        flex-direction: row;
        align-items: center;
        gap: 30px
    }
}

@media (min-width:1200px) {
    .hero_parent_container .hero__container {
        gap: 31px;
        align-items: normal
    }
}

.hero_parent_container .hero__media {
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(22,59,91,.18);
    background: #fff;
    position: relative
}

@media (min-width:768px) {
    .hero_parent_container .hero__media {
        max-width: 600px;
        margin: 0 auto
    }
}

@media (min-width:1024px) {
    .hero_parent_container .hero__media {
        flex: 0 0 48%;
        flex-shrink: 0;
        margin: 0
    }
}

@media (min-width:1920px) {
    .hero_parent_container .hero__media {
        min-width: 725px;
        min-height: 408px
    }
}

.hero_parent_container .hero__media>div {
    position: relative;
    width: 100%;
    height: 100%
}

.hero_parent_container .hero__media .video-js,.hero_parent_container .hero__media video-js {
    width: 100%!important;
    height: 100%!important;
    position: relative!important
}

.hero_parent_container .hero__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.hero_parent_container .hero__video {
    width: 100%;
    aspect-ratio: 16/9;
    border: none;
    display: block;
    min-height: 300px
}

@media (min-width:768px) {
    .hero_parent_container .hero__video {
        min-height: 400px
    }
}

.hero_parent_container .hero__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px
}

@media (min-width:768px) {
    .hero_parent_container .hero__content {
        gap: 24px
    }
}

@media (min-width:1024px) {
    .hero_parent_container .hero__content {
        gap: 28px
    }
}

.hero_parent_container .hero__title {
    color: #0f3a6e;
    margin: 0;
    line-height: 1.2;
    font-size: clamp(28px,5vw,46px)
}

@media (min-width:768px) {
    .hero_parent_container .hero__title {
        font-size: clamp(36px,4vw,46px)
    }
}

.hero_parent_container .hero__title--mobile {
    display: block
}

.hero_parent_container .hero__title--desktop {
    display: none
}

@media (min-width:768px) {
    .hero_parent_container .hero__title--mobile {
        display: none
    }

    .hero_parent_container .hero__title--desktop {
        display: block
    }
}

.hero_parent_container .hero__summary {
    color: #383838;
    margin: 0;
    font-size: clamp(16px,3.5vw,18px);
    line-height: 1.6
}

.hero_parent_container .hero__summary p {
    margin: 0 0 16px
}

.hero_parent_container .hero__summary p:last-child {
    margin-bottom: 0
}

@media (min-width:768px) {
    .hero_parent_container .hero__summary {
        font-size: 18px
    }
}

.hero_parent_container .hero__summary--expandable {
    position: relative;
    overflow: hidden
}

.hero_parent_container .hero__summary-text {
    position: relative
}

.hero_parent_container .hero__summary-text--collapsed {
    overflow: hidden;
    transition: max-height .3s ease
}

.hero_parent_container .hero__summary-text--expanded {
    max-height: none;
    overflow: visible;
    transition: max-height .3s ease
}

.hero_parent_container .hero__summary-text--expanded .hero__summary-content {
    display: block
}

.hero_parent_container .hero__summary-content {
    display: inline
}

.hero_parent_container .hero__read-more {
    display: inline;
    font-size: inherit;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    margin: 0;
    vertical-align: baseline
}

.hero_parent_container .hero__read-more,.hero_parent_container .hero__read-more:active,.hero_parent_container .hero__read-more:focus,.hero_parent_container .hero__read-more:hover {
    background: none;
    border: none;
    color: inherit;
    text-decoration: none;
    outline: none
}

.hero_parent_container .hero__read-less-text,.hero_parent_container .hero__read-more-text {
    white-space: nowrap
}

.hero_parent_container .hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 8px
}

@media (min-width:768px) {
    .hero_parent_container .hero__actions {
        gap: 20px;
        margin-top: 12px
    }
}

@media (max-width:768px) {
    .hero_parent_container .hero__actions p {
        width: 100%
    }
}

.hero_parent_container .hero__actions a {
    display: inline-flex;
    align-items: center;
    width: 100%;
    justify-content: center;
    padding: 8px 24px!important;
    min-height: 45px;
    border-radius: 5px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;
    font-size: 16px;
    cursor: pointer;
    border-width: 2px;
    border-style: solid;
    flex: 1 1 auto;
    min-width: 180px;
    white-space: normal!important
}

@media (min-width:640px) {
    .hero_parent_container .hero__actions a {
        flex: 0 1 auto
    }
}

.featured-carousel {
    padding: 60px 0;
    background-color: #cfd9e1;
    position: relative
}

@media (min-width:768px) {
    .featured-carousel {
        padding: 38px 0
    }
}

.featured-carousel__inner {
    display: flex;
    justify-content: center
}

@media (min-width:1200px) {
    .featured-carousel__inner {
        padding: 0 15px
    }
}

.featured-carousel--light {
    background-color: #fff
}

.featured-carousel--light .featured-carousel__subtitle,.featured-carousel--light .featured-carousel__title {
    color: #383838
}

.featured-carousel--light .product-card__cta {
    background-color: #38669a;
    color: #fff;
    border: 1px solid #0f3a6e
}

.featured-carousel--light .product-card__cta:hover {
    background-color: #0f3a6e;
    color: #fff
}

.featured-carousel--light .featured-carousel__nav {
    margin-top: 0!important
}

.featured-carousel--static .featured-carousel__track {
    gap: 24px;
    margin: 0;
    transition: none
}

.featured-carousel--static .featured-carousel__slide {
    flex: 0 0 auto;
    max-width: 500px;
    padding: 0 12px
}

@media (max-width:639px) {
    .featured-carousel--static .featured-carousel__slide {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media (min-width:640px) and (max-width:1023px) {
    .featured-carousel--static .featured-carousel__slide {
        flex: 0 0 45%;
        max-width: 45%
    }
}

.featured-carousel__header {
    max-width: 1553px;
    margin: 0 auto 40px;
    padding: 0 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    justify-content: center
}

@media (max-width:767px) {
    .featured-carousel__header {
        flex-direction: column;
        align-items: center;
        text-align: center
    }
}

.featured-carousel__title {
    margin: 0 0 12px;
    line-height: 1.2;
    text-align: center
}

@media (max-width:767px) {
    .featured-carousel__title {
        text-align: center
    }
}

.featured-carousel__subtitle {
    font-family: Noto Sans,sans-serif;
    font-size: 18px;
    line-height: 28px;
    color: #4b5563;
    margin: 0;
    text-align: center
}

@media (max-width:768px) {
    .featured-carousel__subtitle {
        font-size: 16px;
        line-height: 24px
    }
}

.featured-carousel__subtitle p {
    margin: 0
}

.featured-carousel__cta-wrapper {
    text-align: center;
    margin-top: 34px;
    padding: 0 15px
}

@media (min-width:768px) {
    .featured-carousel__cta-wrapper {
        margin-top: 50px
    }
}

.featured-carousel__main-cta {
    display: inline-block;
    font-family: Noto Sans,sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    padding: 8px 40px
}

@media (max-width:1023px) {
    .featured-carousel__main-cta {
        white-space: normal;
        padding: 9px 38px 10px 39px
    }
}

.featured-carousel__btn {
    width: 70px;
    height: 70px;
    align-self: center;
    cursor: pointer;
    z-index: 10;
    background-repeat: no-repeat!important;
    background-position: 50%!important;
    background-size: contain!important;
    border: none!important
}

.featured-carousel__btn,.featured-carousel__btn:active,.featured-carousel__btn:focus,.featured-carousel__btn:hover {
    background-color: transparent!important;
    box-shadow: none!important
}

@media (max-width:1200px) {
    .featured-carousel__btn {
        display: none
    }
}

.featured-carousel__btn--prev--default {
    background-image: url(/themes/igc/presentation/assets/icons/left-arrow-slideshow-FFF.svg)!important
}

.featured-carousel__btn--prev--light {
    background-image: url(/themes/igc/presentation/assets/icons/left-arrow-slideshow-CFD9E1.svg)!important
}

.featured-carousel__btn--next--default {
    background-image: url(/themes/igc/presentation/assets/icons/right-arrow-slideshow-FFF.svg)!important
}

.featured-carousel__btn--next--light {
    background-image: url(/themes/igc/presentation/assets/icons/right-arrow-slideshow-CFD9E1.svg)!important
}

.featured-carousel__btn.is-disabled,.featured-carousel__btn:disabled {
    visibility: hidden
}

.featured-carousel__btn svg {
    width: 24px;
    height: 24px
}

.featured-carousel__wrapper {
    max-width: 1533px;
    width: 100%;
    padding: 0 0 0 15px;
    overflow: hidden;
    position: relative
}

@media (max-width:1200px) {
    .featured-carousel__wrapper {
        padding: 0 15px
    }
}

.featured-carousel__track {
    display: flex;
    transition: transform .5s cubic-bezier(.4,0,.2,1);
    gap: 0;
    margin: 0 -10px
}

@media (min-width:1024px) {
    .featured-carousel__track {
        margin: 0 -12px
    }
}

.featured-carousel__slide {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0 10px
}

@media (min-width:640px) {
    .featured-carousel__slide {
        flex: 0 0 50%;
        max-width: 50%
    }
}

@media (min-width:1024px) {
    .featured-carousel__slide {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        padding: 0 12px
    }
}

.featured-carousel .featured-carousel__nav {
    display: flex;
    justify-content: center;
    margin-top: 40px
}

@media (min-width:768px) {
    .featured-carousel .featured-carousel__nav {
        margin-top: 60px
    }
}

.featured-carousel__indicators {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #fff;
    border-radius: 999px;
    --active-index: 0
}

.featured-carousel__indicators:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #38669a;
    transform: translate(calc(var(--active-index) * 22px),-50%);
    transition: transform .35s ease
}

.featured-carousel__indicator {
    width: 10px;
    height: 10px;
    background: rgba(56,102,154,.4);
    border-radius: 50%;
    border: none;
    padding: 0;
    cursor: pointer;
    position: relative;
    z-index: 1
}

.featured-carousel__indicator:focus {
    border: none;
    outline: none
}

.featured-carousel__indicator.is-active {
    background: #38669a
}

.product-card--light {
    box-shadow: none!important
}

.product-card--light .product-card__image-wrapper {
    box-shadow: 0 4px 12px rgba(0,0,0,.15)!important;
    border: 1px solid #38669a;
    border-radius: 10px
}

.product-card--light .product-card__content {
    padding: 28px 0
}

.product-card--light .product-card__cta {
    color: #38669a!important;
    padding: 0!important;
    border: none!important;
    text-decoration: none!important;
    font-weight: 600
}

.product-card--light .product-card__cta,.product-card--light .product-card__cta:hover {
    background: none!important;
    background-color: transparent!important;
    box-shadow: none!important
}

.product-card--light .product-card__cta:hover {
    color: #0f3a6e!important;
    text-decoration: none;
    transform: none
}

.product-card__wrapper {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%
}

.product-card {
    background: #fff;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    height: 100%;
    max-height: 536px;
    display: flex;
    flex-direction: column;
    position: relative
}

@media (min-width:1024px) {
    .product-card {
        max-width: 463px;
        max-height: 564px
    }
}

.product-card__image-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden
}

.product-card__badge {
    display: inline-block;
    width: -moz-fit-content;
    width: fit-content;
    background: #ffc20e;
    color: #000;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 20px;
    letter-spacing: .5px;
    margin-bottom: 12px
}

.product-card__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: none
}

.product-card__image--placeholder {
    object-fit: contain;
    padding: 20px
}

.product-card__content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-grow: 1
}

@media (min-width:1024px) {
    .product-card__content {
        padding: 28px 24px
    }
}

.product-card__title {
    font-family: Noto Sans,sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: 0;
    color: #383838;
    opacity: 1;
    margin: 0 0 4px;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word
}

@media (min-width:1024px) {
    .product-card__title {
        -webkit-line-clamp: 2
    }
}

.product-card__subtitle {
    font-size: 14px;
    color: #383838;
    margin: 0 0 12px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    overflow: hidden
}

.product-card__link {
    color: inherit;
    text-decoration: none
}

.product-card__description {
    text-align: left;
    font-family: Noto Sans,sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 0;
    color: #383838;
    opacity: 1;
    flex-grow: 1;
    margin: 0 0 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word
}

.product-card__cta {
    margin-top: auto;
    width: auto;
    align-self: flex-start;
    display: inline-block;
    position: relative;
    z-index: 2
}

@media (min-width:1200px) {
    .product-card__cta {
        cursor: pointer
    }
}

.services__card {
    background: #fff;
    min-height: 330px;
    border-radius: 10px;
    padding: clamp(28px,4vw,40px) clamp(24px,4vw,32px);
    text-align: center;
    box-shadow: 0 4px 12px rgba(22,59,91,.12)
}

.services__card .icon_certifications,.services__card .icon_folder,.services__card .icon_gear,.services__card .icon_headphones {
    background: transparent 0 0 no-repeat padding-box;
    background-position: 50%;
    background-size: contain;
    opacity: 1
}

.services__card .icon_gear {
    background-image: url(/themes/igc/presentation/assets/icons/service-icon.svg)
}

.services__card .icon_folder {
    background-image: url(/themes/igc/presentation/assets/icons/knowledge-base-icon.svg)
}

.services__card .icon_headphones {
    background-image: url(/themes/igc/presentation/assets/icons/tech-support-icon.svg)
}

.services__card .icon_certifications {
    background-image: url(/themes/igc/presentation/assets/icons/accreditation-icon.svg)
}

.services__card .icon_sw_cal,.services__card .icon_sw_cmms_eam,.services__card .icon_sw_cms,.services__card .icon_sw_elec_tm {
    background: transparent 0 0 no-repeat padding-box;
    background-position: 50%;
    background-size: contain;
    opacity: 1
}

.services__card .icon_sw_cal {
    background-image: url(/themes/igc/presentation/assets/icons/Calibration-software-icon.svg)
}

.services__card .icon_sw_cmms_eam {
    background-image: url(/themes/igc/presentation/assets/icons/CMMS-EAM-software-icon.svg)
}

.services__card .icon_sw_cms {
    background-image: url(/themes/igc/presentation/assets/icons/CMA-software-icon.svg)
}

.services__card .icon_sw_elec_tm {
    background-image: url(/themes/igc/presentation/assets/icons/ElectricalTest-Measurement-software-icon.svg)
}

.services__card:hover {
    box-shadow: 0 6px 20px rgba(22,59,91,.18)
}

@media (width >= 1024px) {
    .services__card {
        padding: 36px 28px
    }
}

.services__icon {
    margin: 0 auto 20px;
    color: #0f3a6e;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px
}

.services__icon svg {
    width: 100%;
    height: 100%
}

.services__icon img {
    max-width: 100%;
    height: auto
}

.services__title {
    text-align: center;
    font-size: 20px;
    line-height: 26px;
    margin: 0 0 12px;
    color: #383838
}

.services__description {
    text-align: center;
    font-size: clamp(14px,3.5vw,16px);
    margin: 0 0 24px
}

.contact-form-section {
    background-color: #1e3f58;
    padding: 80px 0
}

@media (max-width:768px) {
    .contact-form-section {
        padding: 60px 0
    }
}

.contact-form-section__container {
    max-width: 725px;
    margin: 0 auto;
    padding: 0 20px;
    text-align: center
}

.contact-form-section__title {
    font-family: Noto Sans,sans-serif;
    font-weight: 700;
    font-size: 36px;
    line-height: 30px;
    color: #fff;
    margin: 0 0 24px
}

@media (max-width:768px) {
    .contact-form-section__title {
        font-size: 32px;
        line-height: 40px;
        margin: 0 0 16px
    }
}

.contact-form-section__description {
    font-family: Noto Sans,sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    color: #fff;
    max-width: 800px;
    margin: 0 auto 40px;
    text-align: left
}

@media (max-width:768px) {
    .contact-form-section__description {
        font-size: 18px;
        line-height: 24px;
        margin: 0 auto 32px
    }
}

.contact-form-section__description p {
    margin: 0
}

.contact-form-section__form {
    max-width: 725px;
    background: #fff;
    border-radius: 12px;
    padding: 48px 40px;
    box-shadow: 0 4px 16px rgba(0,0,0,.1)
}

@media (max-width:768px) {
    .contact-form-section__form {
        padding: 32px 24px;
        border-radius: 8px
    }
}

.contact-form-section__form .iframe-container {
    width: 100%;
    overflow: hidden
}

.contact-form-section__form .iframe-container iframe {
    width: 100%;
    border: none;
    min-height: 600px
}

@media (max-width:768px) {
    .contact-form-section__form .iframe-container iframe {
        min-height: 700px
    }
}

.contact-form-section__form label {
    display: block;
    font-family: Noto Sans,sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: #1a1a1a;
    margin-bottom: 8px;
    text-align: left
}

.contact-form-section__form input[type=email],.contact-form-section__form input[type=tel],.contact-form-section__form input[type=text],.contact-form-section__form select,.contact-form-section__form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-family: Noto Sans,sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #1a1a1a;
    margin-bottom: 20px;
    transition: border-color .2s ease;
    box-sizing: border-box
}

.contact-form-section__form input[type=email]:focus,.contact-form-section__form input[type=tel]:focus,.contact-form-section__form input[type=text]:focus,.contact-form-section__form select:focus,.contact-form-section__form textarea:focus {
    outline: none;
    border-color: #38669a;
    box-shadow: 0 0 0 3px rgba(56,102,154,.1)
}

.contact-form-section__form input[type=email]::placeholder,.contact-form-section__form input[type=tel]::placeholder,.contact-form-section__form input[type=text]::placeholder,.contact-form-section__form select::placeholder,.contact-form-section__form textarea::placeholder {
    color: #9ca3af
}

.contact-form-section__form textarea {
    min-height: 100px;
    resize: vertical
}

.contact-form-section__form .btn-submit,.contact-form-section__form button[type=submit] {
    background-color: #38669a;
    color: #fff;
    font-family: Noto Sans,sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    padding: 12px 32px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color .2s ease;
    width: auto;
    display: inline-block
}

.contact-form-section__form .btn-submit:hover,.contact-form-section__form button[type=submit]:hover {
    background-color: #2c5278
}

.contact-form-section__form .btn-submit:active,.contact-form-section__form button[type=submit]:active {
    background-color: #234161
}

.contact-form-section__form .btn-submit:focus,.contact-form-section__form button[type=submit]:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(56,102,154,.3)
}

.contact-form-section__form .error {
    color: #dc2626;
    font-size: 14px;
    margin-top: 4px;
    display: block
}

.contact-form-section__form input.error,.contact-form-section__form select.error,.contact-form-section__form textarea.error {
    border-color: #dc2626
}

.contact-form-section__form p {
    margin: 0
}

.contact-form-section__form p a {
    display: none
}

.featured-content__item {
    padding: 64px 0
}

@media (max-width:768px) {
    .featured-content__item {
        padding: 60px 0
    }
}

.featured-content__item--left {
    background-color: #cfd9e1
}

.featured-content__item--right {
    background-color: #1e3f58
}

.featured-content__item--right .featured-content__title {
    color: #64be49
}

.featured-content__item--right .featured-content__description {
    color: #fff
}

.featured-content__container {
    max-width: 1533px;
    margin: 0 auto;
    padding: 0 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px
}

@media (max-width:768px) {
    .featured-content__container {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 0 20px
    }
}

.featured-content__item--right .featured-content__container {
    direction: rtl
}

.featured-content__item--right .featured-content__container>* {
    direction: ltr
}

@media (max-width:768px) {
    .featured-content__item--right .featured-content__container {
        direction: ltr
    }
}

.featured-content__image {
    margin: 0;
    overflow: hidden
}

.featured-content__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 4/3;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,.1)
}

@media (max-width:768px) {
    .featured-content__image img {
        aspect-ratio: 16/9
    }
}

.featured-content__content {
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media (max-width:768px) {
    .featured-content__content {
        gap: 20px
    }
}

@media (min-width:1920px) {
    .featured-content__content {
        margin-top: 30px
    }
}

.featured-content__title {
    font-family: Noto Sans,sans-serif;
    font-weight: 700;
    font-size: 36px;
    line-height: 48px;
    color: #212121;
    margin: 0
}

@media (max-width:1024px) {
    .featured-content__title {
        font-size: 40px;
        line-height: 48px
    }
}

@media (max-width:768px) {
    .featured-content__title {
        font-size: 32px;
        line-height: 40px
    }
}

.featured-content__description {
    font-family: Noto Sans,sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #212121
}

@media (max-width:768px) {
    .featured-content__description {
        font-size: 16px;
        line-height: 24px
    }
}

.featured-content__description p {
    margin: 0 0 16px;
    color: #212121
}

.featured-content__description p:last-child {
    margin-bottom: 0
}

.featured-content__description strong {
    font-weight: 700;
    color: #1a1a1a
}

.featured-content__item--right .featured-content__description p,.featured-content__item--right .featured-content__description strong {
    color: #fff
}

.featured-content__cta {
    margin-top: 8px
}

.featured-content__cta p {
    margin: 0
}

.featured-content__cta a {
    display: inline-block;
    font-family: Noto Sans,sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    padding: 12px 32px;
    border-radius: 6px;
    text-decoration: none;
    transition: all .2s ease;
    white-space: normal!important
}

.featured-content__cta a:active {
    transform: translateY(0)
}

.featured-categories {
    padding: 44px 0;
    background-color: #fff
}

@media (max-width:768px) {
    .featured-categories {
        padding: 48px 0
    }
}

.featured-categories__container {
    max-width: 1533px;
    margin: 0 auto;
    padding: 0 12px
}

.featured-categories__title {
    font-family: Noto Sans,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 36px;
    line-height: 40px;
    letter-spacing: 0;
    color: #383838;
    opacity: 1;
    text-align: center;
    margin: 0 0 16px
}

@media (max-width:768px) {
    .featured-categories__title {
        line-height: 40px;
        margin: 0 0 12px
    }
}

.featured-categories__description {
    font-family: Noto Sans,sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0;
    color: #383838;
    opacity: 1;
    text-align: center;
    margin: 0 auto 33px;
    max-width: 1533px
}

@media (max-width:768px) {
    .featured-categories__description {
        margin: 0 auto 18px
    }
}

.featured-categories__description p {
    margin: 0;
    font-size: 18px
}

@media (max-width:768px) {
    .featured-categories__description p {
        font-size: 16px;
        line-height: 24px;
        margin: 0 auto 40px
    }
}

.featured-categories__grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 24px
}

@media (max-width:1200px) {
    .featured-categories__grid {
        grid-template-columns: repeat(4,1fr);
        gap: 20px
    }
}

@media (max-width:1024px) {
    .featured-categories__grid {
        grid-template-columns: repeat(3,1fr);
        gap: 16px
    }
}

@media (max-width:768px) {
    .featured-categories__grid {
        grid-template-columns: repeat(2,1fr);
        gap: 16px
    }
}

@media (max-width:480px) {
    .featured-categories__grid {
        grid-template-columns: 1fr;
        gap: 16px
    }
}

.category-card {
    display: block;
    position: relative;
    text-decoration: none;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    transition: box-shadow .3s ease,transform .2s ease
}

@media (min-width:1200px) {
    .category-card {
        height: 193px
    }
}

@media (max-width:768px) {
    .category-card {
        height: 121px
    }
}

.category-card:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;
    transition: background .3s ease;
    pointer-events: none;
    z-index: 1
}

.category-card:focus:after,.category-card:hover:after {
    background: rgba(0,0,0,.4)
}

.category-card__image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #e5e7eb
}

.category-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.category-card__title {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    font-family: Noto Sans,sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    color: #fff;
    margin: 0;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0,0,0,.3);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word
}

@media (max-width:1024px) {
    .category-card__title {
        font-size: 20px;
        line-height: 28px;
        bottom: 16px;
        left: 16px;
        right: 16px
    }
}

@media (max-width:768px) {
    .category-card__title {
        font-size: 18px;
        line-height: 24px;
        bottom: 12px;
        left: 12px;
        right: 12px
    }
}

html {
    scroll-padding-top: calc(var(--site-header-height-wide) + var(--sp1) + 70px)
}