:root,
:root .dark {
    --primary: #fefefe;
    --secondary: #94989f;
    --border: rgba(148, 152, 159, 0.28);
    --bg: #031f45;
    --theme: #94989f;
    --black: #031f45;
    --black-2: #94989f;
    --white: #fefefe;
    --white-2: #94989f;
    --action: #94989f;
    --igis-navy: #031f45;
    --igis-navy-light: #052d58;
    --igis-client-blue: #456f9c;
    --igis-silver: #94989f;
    --igis-white: #fefefe;
}

html {
    background: var(--igis-navy);
}

body.body-wrapper.dark {
    background-color: var(--igis-navy);
    color: var(--igis-white);
}

.dark .hero-area {
    background-color: var(--igis-navy);
}

.hero-area .big-text-wrapper {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: -120px;
}

.hero-area .big-text {
    width: 100%;
    min-height: 320px;
    font-size: 0;
    line-height: 1;
}

.hero-area .igis-wordmark-crop {
    position: relative;
    display: block;
    width: min(84vw, 1200px);
    aspect-ratio: 3.31 / 1;
    overflow: hidden;
}

.hero-area .igis-wordmark-art {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 79.4%;
    filter: brightness(0) saturate(100%) invert(66%) sepia(6%) saturate(312%) hue-rotate(179deg) brightness(92%) contrast(89%);
}

@media (max-width: 1199px) {
    .about-area .section-title {
        color: var(--igis-silver);
    }
}

::selection {
    background: var(--igis-silver);
    color: var(--igis-navy);
}

#preloader,
.cursor-wrapper {
    display: none !important;
}

/* Branded custom cursor. The template cursor script adds .cb-cursor to <body>. */
.cb-cursor {
    color: var(--igis-silver);
}

.cb-cursor.-text {
    color: var(--igis-white);
}

.cb-cursor.-text::before {
    background: var(--igis-white);
}

.cb-cursor .cb-cursor-text {
    color: var(--igis-navy);
    font-size: 13px;
    font-weight: 600;
}

@media (hover: none), (pointer: coarse) {
    .cb-cursor {
        display: none;
    }
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--igis-silver);
    outline-offset: 4px;
}

.header__logo img.normal-logo {
    width: auto;
    height: 54px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

@media (min-width: 1200px) {
    .header-area .header__logo,
    .header-area .header__nav {
        height: 64px;
        display: flex;
        align-items: center;
    }

    .header-area .header__logo {
        padding: 0 24px;
    }

    .header-area .header__logo img.normal-logo {
        height: 42px;
    }

    .header-area .main-menu li a {
        padding: 20px 18px;
        font-size: 17px;
        line-height: 1.2;
    }
}

.offset-logo img {
    width: auto;
    max-width: 180px;
    max-height: 100px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.footer-logo img {
    width: 180px;
    max-width: 100%;
    max-height: none;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.footer-area .footer-logo,
.footer-area-inner-page .footer-logo {
    max-width: 300px;
}

.main-menu > ul > li > a,
.main-menu > ul > li.active > a,
.main-menu > ul > li > a:hover {
    color: var(--igis-white);
}

.main-menu > ul > li.active > a {
    text-decoration-color: var(--igis-silver);
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}

.header__navicon .side-toggle,
.dark .header-area-2 .side-toggle,
.body-page-inner.dark .header-area-2 .side-toggle {
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(254, 254, 254, 0.7);
    border-radius: 50%;
    color: var(--igis-navy);
    background-color: var(--igis-silver);
    transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.header__navicon .side-toggle i {
    color: var(--igis-navy);
}

.header__navicon .side-toggle img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(10%) sepia(29%) saturate(4420%) hue-rotate(184deg) brightness(89%) contrast(102%);
}

.header__navicon .side-toggle:hover,
.header__navicon .side-toggle:focus-visible {
    color: var(--igis-silver);
    background-color: var(--igis-navy-light);
    border-color: var(--igis-silver);
}

.header__navicon .side-toggle:hover i,
.header__navicon .side-toggle:focus-visible i {
    color: var(--igis-silver);
}

.header__navicon .side-toggle:hover img,
.header__navicon .side-toggle:focus-visible img {
    filter: brightness(0) saturate(100%) invert(65%) sepia(5%) saturate(342%) hue-rotate(179deg) brightness(92%) contrast(88%);
}

.rr-btn,
.rr-btn::before,
.bg-theme {
    background-color: var(--igis-silver) !important;
}

.rr-btn .text-one,
.rr-btn .text-two,
.rr-btn:hover .text-one,
.rr-btn:hover .text-two,
.bg-theme,
.bg-theme .client-name {
    color: var(--igis-navy) !important;
}

.rr-btn.btn-border {
    border-color: var(--igis-silver) !important;
}

.service-box.is-priority {
    background: linear-gradient(100deg, rgba(148, 152, 159, 0.14), rgba(5, 45, 88, 0.45));
    border-color: rgba(148, 152, 159, 0.62) !important;
}

.client-box {
    min-width: 190px;
    min-height: 92px;
    padding: 22px 28px;
    border: 1px solid var(--border);
    background: var(--igis-navy-light);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.client-name {
    color: var(--igis-white);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.25;
}

.client-area .client-box:not(.bg-theme),
.client-area-service-page .client-box:not(.bg-theme) {
    background-color: var(--igis-white);
}

.client-area .client-box:not(.bg-theme) .client-name,
.client-area-service-page .client-box:not(.bg-theme) .client-name {
    color: var(--igis-navy) !important;
}

.client-area .client-box.bg-theme,
.client-area-service-page .client-box.bg-theme {
    background-color: var(--igis-client-blue) !important;
}

.client-area .client-box.bg-theme .client-name,
.client-area-service-page .client-box.bg-theme .client-name {
    color: var(--igis-white) !important;
}

.client-area-page-about .client-box {
    width: 215px;
    min-width: 215px;
    height: 100px;
    min-height: 100px;
    padding: 16px 24px;
    background-color: var(--igis-white);
    border-color: rgba(254, 254, 254, 0.3);
}

.client-area-page-about .client-box.is-highlighted {
    background-color: var(--igis-client-blue);
}

.client-area-page-about .client-name {
    color: var(--igis-navy) !important;
    font-size: 16px;
    line-height: 1.2;
}

.client-area-page-about .client-box.is-highlighted .client-name {
    color: var(--igis-white) !important;
}

.award-area-page-about .awards-wrapper {
    max-width: 100%;
    margin-left: 0;
}

.award-area-page-about .award-box {
    grid-template-columns: 230px minmax(0, 1fr);
    column-gap: 24px;
}

.award-area-page-about .award-box .award-list {
    min-width: 0;
}

.award-area-page-about .award-box .award-list li {
    grid-template-columns: minmax(0, 1fr) auto;
}

.award-area-page-about .award-box .award-list li span {
    white-space: nowrap;
}

.footer-widget-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.footer-widget-wrapper .footer-nav-list a[target="_blank"]::after,
.contact-social a[target="_blank"]::after {
    content: " ↗";
}

.contact-formfield input,
.contact-formfield select,
.contact-formfield textarea {
    width: 100%;
    color: var(--igis-white);
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    padding: 18px 0;
}

.contact-formfield textarea {
    min-height: 150px;
    resize: vertical;
}

.contact-area-contact-page .contact-formfield {
    position: relative;
    min-width: 0;
}

.contact-area-contact-page .contact-formfield select {
    height: 58px;
    padding: 0 48px 0 0;
    color: var(--igis-white);
    border-bottom: 1px solid var(--border);
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10' fill='none'%3E%3Cpath d='M1 1.5L8 8.5L15 1.5' stroke='%2394989f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 14px 9px;
    appearance: none;
    -webkit-appearance: none;
    line-height: 1.3;
    text-align: left;
    text-align-last: left;
    direction: ltr;
    cursor: pointer;
}

.contact-area-contact-page .contact-formfield select:focus {
    border-color: var(--igis-white);
}

.contact-area-contact-page .contact-formfield select option,
.dark .contact-area-contact-page .contact-formfield select option,
.contact-area-contact-page .contact-formfield select option[disabled] {
    color: var(--igis-white);
    background-color: var(--igis-navy-light) !important;
}

.contact-area-contact-page .contact-formfield select:invalid {
    color: var(--igis-silver);
}

.contact-formfield input::placeholder,
.contact-formfield textarea::placeholder {
    color: var(--igis-silver);
    opacity: 0.85;
}

.form-status {
    min-height: 1.5em;
    margin-top: 18px;
    color: var(--igis-silver);
}

.form-status.is-error {
    color: var(--igis-white);
}

.igis-form-trap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.dark svg path[fill="#111111"],
.dark svg path[fill="#171717"] {
    fill: var(--igis-white);
}

.dark svg path[stroke="#111111"],
.dark svg path[stroke="#171717"] {
    stroke: var(--igis-silver);
}

.igis-responsive-picture {
    display: block;
    width: 100%;
    height: auto;
}

.igis-responsive-picture > img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

@media (max-width: 991px) {
    .header__logo img.normal-logo {
        height: 44px;
    }

    .footer-widget-wrapper {
        grid-template-columns: 1fr 1fr;
    }

    .footer-logo img {
        width: 150px;
    }
}

@media (max-width: 1399px) {
    .client-area-page-about .client-box {
        width: 170px;
        min-width: 170px;
        height: 76px;
        min-height: 76px;
        padding: 12px 18px;
    }

    .client-area-page-about .client-name {
        font-size: 15px;
    }
}

@media (max-width: 575px) {
    .client-area .client-box,
    .client-area-service-page .client-box {
        width: 100px;
        min-width: 100px;
        height: 56px;
        min-height: 56px;
        padding: 8px 12px;
    }

    .client-area .client-name,
    .client-area-service-page .client-name {
        font-size: 12px;
        line-height: 1.2;
    }

    .client-area-page-about .client-box {
        width: 145px;
        min-width: 145px;
        height: 60px;
        min-height: 60px;
        padding: 8px 12px;
    }

    .client-area-page-about .client-name {
        font-size: 13px;
    }

    .award-area-page-about .award-box {
        grid-template-columns: 1fr;
        row-gap: 16px;
    }

    .footer-widget-wrapper {
        grid-template-columns: 1fr;
    }
}
