@import url(normalize.css);

:root {
    --primary: #4cc88c;
    --secondary: #25245d;
    --tertiary: #00584B;
    --quaternary: #f1f1f1;
    --dark: #333333;
    --black: #000000;
    --white: #ffffff;
    --light: #f1f1f1;
    --gray: #6f6f6f;
    --orange: #be5d30;
    --light400: #e6e6e6;
    --light300: #cecece;
    --light200: #b4b4b4;
    --primary400: #36a36e;
    --primary600: #5ef7ad;
    --secondary400: #0f0f2e;
    --secondary600: #47459f;
    --body-font: 1rem;
    --body-lineheight: 1.45;
    --h1: clamp(2.75rem, 3.125vw, 3.75rem);
    --h2: clamp(2.5rem, 2.5vw, 3rem);
    --h3: clamp(2.25rem, 2.395833333333333vw, 2.875rem);
    --h4: clamp(1.5rem, 2.083333333333333vw, 2.5rem);
    --h5: clamp(1.25rem, 1.666666666666667vw, 2rem);
    --h6: clamp(1.125rem, 1.25vw, 1.5rem);
    --wrap: 1370px;
    --wrapspace: 30px;
    --font-primary: "Averta", sans-serif;
    --font-secondary: "Averta", sans-serif;
    --headerHeight: 107px;
    --appHeight: 100vh
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-BlackItalic.eot);
    src: url(../fonts/Averta-BlackItalic.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-BlackItalic.woff2) format("woff2"), url(../fonts/Averta-BlackItalic.woff) format("woff"), url(../fonts/Averta-BlackItalic.ttf) format("truetype"), url(../fonts/Averta-BlackItalic.svg#Averta-BlackItalic) format("svg");
    font-weight: 900;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-Black.eot);
    src: url(../fonts/Averta-Black.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-Black.woff2) format("woff2"), url(../fonts/Averta-Black.woff) format("woff"), url(../fonts/Averta-Black.ttf) format("truetype"), url(../fonts/Averta-Black.svg#Averta-Black) format("svg");
    font-weight: 900;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-Bold.eot);
    src: url(../fonts/Averta-Bold.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-Bold.woff2) format("woff2"), url(../fonts/Averta-Bold.woff) format("woff"), url(../fonts/Averta-Bold.ttf) format("truetype"), url(../fonts/Averta-Bold.svg#Averta-Bold) format("svg");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-BoldItalic.eot);
    src: url(../fonts/Averta-BoldItalic.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-BoldItalic.woff2) format("woff2"), url(../fonts/Averta-BoldItalic.woff) format("woff"), url(../fonts/Averta-BoldItalic.ttf) format("truetype"), url(../fonts/Averta-BoldItalic.svg#Averta-BoldItalic) format("svg");
    font-weight: 700;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-Regular.eot);
    src: url(../fonts/Averta-Regular.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-Regular.woff2) format("woff2"), url(../fonts/Averta-Regular.woff) format("woff"), url(../fonts/Averta-Regular.ttf) format("truetype"), url(../fonts/Averta-Regular.svg#Averta-Regular) format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-RegularItalic.eot);
    src: url(../fonts/Averta-RegularItalic.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-RegularItalic.woff2) format("woff2"), url(../fonts/Averta-RegularItalic.woff) format("woff"), url(../fonts/Averta-RegularItalic.ttf) format("truetype"), url(../fonts/Averta-RegularItalic.svg#Averta-RegularItalic) format("svg");
    font-weight: 400;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-Semibold.eot);
    src: url(../fonts/Averta-Semibold.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-Semibold.woff2) format("woff2"), url(../fonts/Averta-Semibold.woff) format("woff"), url(../fonts/Averta-Semibold.ttf) format("truetype"), url(../fonts/Averta-Semibold.svg#Averta-Semibold) format("svg");
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-SemiboldItalic.eot);
    src: url(../fonts/Averta-SemiboldItalic.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-SemiboldItalic.woff2) format("woff2"), url(../fonts/Averta-SemiboldItalic.woff) format("woff"), url(../fonts/Averta-SemiboldItalic.ttf) format("truetype"), url(../fonts/Averta-SemiboldItalic.svg#Averta-SemiboldItalic) format("svg");
    font-weight: 600;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-ExtraBold.eot);
    src: url(../fonts/Averta-ExtraBold.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-ExtraBold.woff2) format("woff2"), url(../fonts/Averta-ExtraBold.woff) format("woff"), url(../fonts/Averta-ExtraBold.ttf) format("truetype"), url(../fonts/Averta-ExtraBold.svg#Averta-ExtraBold) format("svg");
    font-weight: 800;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-ExtraBoldItalic.eot);
    src: url(../fonts/Averta-ExtraBoldItalic.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-ExtraBoldItalic.woff2) format("woff2"), url(../fonts/Averta-ExtraBoldItalic.woff) format("woff"), url(../fonts/Averta-ExtraBoldItalic.ttf) format("truetype"), url(../fonts/Averta-ExtraBoldItalic.svg#Averta-ExtraBoldItalic) format("svg");
    font-weight: 800;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-Light.eot);
    src: url(../fonts/Averta-Light.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-Light.woff2) format("woff2"), url(../fonts/Averta-Light.woff) format("woff"), url(../fonts/Averta-Light.ttf) format("truetype"), url(../fonts/Averta-Light.svg#Averta-Light) format("svg");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-LightItalic.eot);
    src: url(../fonts/Averta-LightItalic.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-LightItalic.woff2) format("woff2"), url(../fonts/Averta-LightItalic.woff) format("woff"), url(../fonts/Averta-LightItalic.ttf) format("truetype"), url(../fonts/Averta-LightItalic.svg#Averta-LightItalic) format("svg");
    font-weight: 300;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-ThinItalic.eot);
    src: url(../fonts/Averta-ThinItalic.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-ThinItalic.woff2) format("woff2"), url(../fonts/Averta-ThinItalic.woff) format("woff"), url(../fonts/Averta-ThinItalic.ttf) format("truetype"), url(../fonts/Averta-ThinItalic.svg#Averta-ThinItalic) format("svg");
    font-weight: 100;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: 'Averta';
    src: url(../fonts/Averta-Thin.eot);
    src: url(../fonts/Averta-Thin.eot?#iefix) format("embedded-opentype"), url(../fonts/Averta-Thin.woff2) format("woff2"), url(../fonts/Averta-Thin.woff) format("woff"), url(../fonts/Averta-Thin.ttf) format("truetype"), url(../fonts/Averta-Thin.svg#Averta-Thin) format("svg");
    font-weight: 100;
    font-style: normal;
    font-display: swap
}

html {
    scroll-behavior: smooth
}

@media screen and (min-width:480px) {
    html {
        font-size: calc(14px + 2 * ((100vw - 480px) / 920))
    }
}

@media screen and (min-width:1400px) {
    html {
        font-size: var(--body-font)
    }
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
textarea,
select,
input[type="button"],
input[type="submit"],
button {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

html,
body {
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -ms-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%
}

body {
    font: var(--body-font)/var(--body-lineheight) var(--font-primary);
    color: var(--dark);
    padding-top: calc(var(--headerHeight))
}

img {
    vertical-align: top;
    border: 0
}

a,
input[type="button"],
input[type="submit"],
button,
table th,
table td {
    -webkit-transition: background-color 350ms cubic-bezier(0, .34, .74, .99), color 350ms cubic-bezier(0, .34, .74, .99);
    transition: background-color 350ms cubic-bezier(0, .34, .74, .99), color 350ms cubic-bezier(0, .34, .74, .99)
}

.allanim,
#mainmenu li a:after {
    -webkit-transition: all 350ms cubic-bezier(0, .34, .74, .99);
    transition: all 350ms cubic-bezier(0, .34, .74, .99)
}

a {
    color: var(--primary);
    text-decoration: none;

    &:hover {
        color: var(--secondary)
    }
}

@media screen and (-ms-high-contrast:active),
(-ms-high-contrast:none) {
    a:active {
        background-color: #fff0
    }
}

code {
    padding: 2px 4px;
    font-size: 90%;
    color: #c7254e;
    background-color: #f9f2f4;
    border-radius: 4px
}

strong {
    font-weight: 700
}

small,
.small {
    font-size: 85%
}

sub,
sup {
    font-size: 80%
}

p {
    margin: 0 0 20px 0;
    font-size: var(--body-font)
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-primary);
    line-height: 1.3;
    margin: 0 0 20px;
    font-weight: 700;
    color: var(--secondary)
}

h1,
h2 {
    font-size: var(--h2)
}

h3 {
    font-size: var(--h3)
}

h4 {
    font-size: var(--h4)
}

h5 {
    font-size: var(--h5)
}

h6 {
    font-size: var(--h6)
}

ul {
    padding: 0;
    margin: 0;
    list-style-type: none
}

ul li {
    line-height: 24px
}

.cf:after,
.wrap:after {
    content: "";
    display: table;
    clear: both
}

.nodisplay {
    display: none
}

.nodisplay_strict {
    display: none !important
}

.alignleft {
    float: left
}

.alignright {
    float: right
}

:focus {
    outline: none
}

.text_cont p {
    padding: 0 0 10px 0
}

.nopad p,
p.nopad {
    padding: 0
}

.cols {
    margin-left: -20px;
    margin-right: -20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.cols .col {
    padding-left: 20px;
    padding-right: 20px
}

.cols1 .col {
    width: 100%
}

.cols2 .col {
    width: 50%
}

.cols3 .col {
    width: 33.333333333333%
}

.cols4 .col {
    width: 25%
}

blockquote {
    border-left: solid 6px var(--light);
    margin-left: 0;
    padding-left: 15px
}

blockquote small {
    font-size: 85%;
    display: block;
    color: var(--gray);
    padding: 5px 0 0 0;
    font-style: italic
}

.highlight,
mark {
    background: #fffd64
}

.text-bigger {
    font-size: 22px
}

.text-big {
    font-size: 20px
}

.text-small {
    font-size: 12px
}

.text-muted {
    color: var(--gray)
}

.text-primary {
    color: var(--primary)
}

.text-secondary {
    color: var(--secondary)
}

.bg-muted {
    background: #777
}

.bg-primary {
    background: var(--primary)
}

.bg-secondary {
    background: var(--secondary)
}

.text-lc {
    text-transform: lowercase
}

.text-uc {
    text-transform: uppercase
}

.has-show {
    display: block !important
}

.has-hide {
    display: none !important
}

.has-error {
    padding: 4px 12px 0;
    display: block;
    color: var(--primary);
    font-size: 14px
}

input.has-error {
    border: solid 1px var(--primary) !important
}

.tall-space {
    margin: 45px 0
}

.medium-space {
    margin: 20px 0
}

.custom-arrow-list {
    margin: 0;
    padding: 0;
    list-style: none
}

.custom-arrow-list li {
    position: relative;
    padding-left: 20px;
    color: var(--secondary)
}

.custom-arrow-list li:before {
    content: '';
    border: solid 2px var(--secondary);
    border-left: 0;
    border-top: 0;
    position: absolute;
    left: 1px;
    top: 9px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 7px;
    height: 7px
}

hr {
    border: 0;
    border-bottom: solid 1px var(--light);
    margin: 20px 0;
    position: relative;
    width: 100%
}

hr:before {
    background: var(--gray);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 0;
    position: absolute;
    width: 40px
}

.dashed-border {
    border-bottom-style: dashed
}

.dotted-border {
    border-bottom-style: dotted
}

.double-border {
    border-bottom-style: double;
    border-bottom-width: 3px
}

.double-border:before {
    height: 3px
}

p.drop-caps:first-child:first-letter {
    float: left;
    font-size: 75px;
    line-height: 60px;
    padding: 4px;
    margin-right: 5px;
    margin-top: 5px;
    font-family: Georgia
}

p.drop-caps.secundary:first-child:first-letter {
    background-color: var(--primary);
    color: var(--white);
    padding: 6px;
    margin-right: 11px;
    border-radius: 4px
}

.image-block {
    padding: 25px 0
}

.image-block:after {
    display: table;
    clear: both;
    content: ''
}

.image-block figure {
    width: 33.33333%;
    float: left;
    position: relative;
    border: solid 1px var(--light);
    padding: 5px;
    background: var(--white);
    margin: 0 20px 10px 0
}

.image-block figure img {
    width: 100%;
    height: auto
}

.image-block.right-align figure {
    float: right;
    margin: 0 0 10px 20px
}

.dropcaps-box {
    overflow: hidden
}

.image-block figcaption {
    display: block;
    font-weight: 700;
    position: absolute;
    left: 5px;
    right: 5px;
    bottom: 5px;
    margin: 0 auto;
    background: rgb(0 0 0 / .4);
    padding: 13px 10px;
    color: var(--white);
    text-align: center;
    line-height: 1.25
}

.image-block h3 {
    margin-bottom: 20px
}

.section-block {
    padding: 60px 0;
    background: var(--white)
}

.wrap {
    max-width: calc(var(--wrap) + (var(--wrapspace) * 2));
    width: 100%;
    margin: 0 auto;
    padding-left: var(--wrapspace);
    padding-right: var(--wrapspace)
}

#primary {
    float: left;
    width: 700px
}

#sidebar {
    float: right;
    width: 200px
}

.one-column {
    width: auto !important;
    float: none !important
}

#header {
    background: var(--white);
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 111;
    transition: all 350ms ease-in-out;
    border-bottom: 1px solid rgb(0 0 0 / .07)
}

#header.sticky {
    border-bottom: 1px solid rgb(0 0 0 / .07);
    transition: all 250ms cubic-bezier(0, .34, .74, .99);
    will-change: transform
}

#header.navshow {
    transform: translateY(0)
}

.header-row {
    display: flex;
    align-items: center;
    padding: 18px 0 0
}

.header-right {
    .button {
        line-height: 1
    }
}

.top-header {
    background-color: var(--tertiary);
    padding: 10px 0;
    color: var(--white)
}

.top-contact {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    grid-gap: 20px;

    li {
        a {
            display: flex;
            align-items: center;
            grid-gap: 5px;
            color: inherit;
            font-size: 16px;

            &:hover {
                color: var(--primary600)
            }
        }
    }
}

.header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 20px
}

.top-header {
    transition: margin-top .25s ease
}

.bottom-header {
    transition: margin-top .25s ease
}

.top-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 20px;

    a {
        color: #fff;

        &:hover {
            color: var(--primary600)
        }
    }
}

.top-header-left {
    li a {
        display: flex;
        align-items: center;
        grid-gap: 5px;

        i.fa-envelope {
            margin-bottom: -3px
        }
    }
}

.social-icons {
    display: flex;
    align-items: center;
    grid-gap: 10px;

    li {
        display: flex;

        a {
            display: flex;
            transition: all 350ms ease-in-out;
            font-size: 20px;
            color: var(--secondary);

            &:hover {
                color: var(--primary)
            }
        }
    }
}

.navigation-main-sec {
    position: relative;
    z-index: 2;
    transform: translateY(50%)
}

.navigation-sec {
    padding: 10px 20px;
    border-radius: 8px;
    overflow: hidden;
    flex-direction: row-reverse;
    background: linear-gradient(218.87deg, #f5f447 -37.65%, #2eb86c 96.33%);
    box-shadow: 0 2px 12px rgb(0 0 0 / .09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 20px
}

#logo {
    max-width: clamp(6.3rem, 6.25vw, 10rem);
    width: 100%;
    position: relative;
    transition: all 250ms cubic-bezier(0, .34, .74, .99)
}

#logo img {
    max-width: 100%;
    height: auto;
    width: auto
}

#mainmenu {
    font-size: 1rem
}

#mainmenu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap
}

#mainmenu>ul>li:first-child {
    margin-left: 0
}

#mainmenu>ul>li:last-child {
    margin-right: 0
}

#mainmenu>ul>li {
    margin: 0 0 0 35px;
    line-height: inherit
}

#mainmenu li a {
    text-decoration: none;
    padding: 0;
    display: block;
    color: #fff;
    position: relative;
    font-weight: 700;
    text-transform: uppercase
}

#mainmenu li a:hover {
    color: var(--secondary)
}

#mainmenu li a:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--secondary);
    top: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform-origin: 100% 50%;
    transform: scaleX(0);
    transition: transform 0.3s cubic-bezier(.76, 0, .24, 1)
}

#mainmenu li a:hover:after,
#mainmenu li.active a:after {
    transform-origin: 0% 50%;
    transform: scaleX(1)
}

#footer {
    border-top: 5px solid var(--orange);
    background: #fff;
    font-size: 1rem;
    color: var(--white)
}

.logo {
    figure {
        max-width: 150px;
        width: 100%;
        display: inline-block;

        img {
            width: 100%;
            height: auto;
            object-fit: cover
        }
    }
}

.logo {
    display: flex
}

.footer-top {
    padding: 60px 0;
    position: relative;
    z-index: 1;

    &::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        background-color: rgb(76 200 140 / .08);
        pointer-events: none
    }

    .wrap {
        max-width: 1150px;
        margin: 0 auto
    }

    img {
        width: 100%
    }

    .ftr-img {
        position: relative;
        min-height: 350px;

        picture {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1
        }

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top center
        }
    }
}

.ftr-links {
    display: inline-flex
}

.fmenu {
    display: inline-flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;

    ul {
        flex-direction: column;
        grid-gap: 10px
    }

    h6 {
        color: #1f1f1d;
        display: inline-flex
    }

    .social-icons {
        flex-direction: row
    }

    address {
        margin-bottom: 10px
    }
}

address {
    color: var(--secondary);
    font-style: normal
}

.fmenu li a {
    color: var(--secondary);
    font-weight: 600
}

.fmenu li a:hover,
.fmenu li.active a {
    text-decoration: none;
    color: var(--primary)
}

.copyright {
    text-align: center
}

.copy-right-sec {
    background-color: var(--tertiary);
    padding: 10px 0;

    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }
}

.link-hover {
    transition: background-size 250ms cubic-bezier(.15, .3, .2, .9), color 250ms cubic-bezier(.15, .3, .2, .9);
    background-image: linear-gradient(transparent calc(100% - 1px), var(--primary) 1px);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 0% 100%;
    font-weight: 400
}

.link-hover:hover {
    background-size: 100% 100%;
    background-position: left bottom;
    text-decoration: none
}

.ani-element {
    opacity: 0;
    position: relative;
    transition: opacity 600ms cubic-bezier(.15, .3, .2, .9), transform 600ms cubic-bezier(.15, .3, .2, .9), top 600ms cubic-bezier(.15, .3, .2, .9)
}

.ani-element.show {
    opacity: 1
}

.ani-element.up {
    transform: translateY(48px)
}

.ani-element.up.show {
    transform: translateY(0)
}

.ani-element.down {
    transform: translateY(-48px)
}

.ani-element.down.show {
    transform: translateY(0)
}

.ani-element.left {
    transform: translateX(48px)
}

.ani-element.left.show {
    transform: translateX(0)
}

.ani-element.right {
    transform: translateX(-48px)
}

.ani-element.right.show {
    transform: translateX(0)
}

.delay-1 {
    -webkit-transition-delay: 30ms;
    -o-transition-delay: 30ms;
    transition-delay: 30ms
}

.delay-2 {
    -webkit-transition-delay: 60ms;
    -o-transition-delay: 60ms;
    transition-delay: 60ms
}

.delay-3 {
    -webkit-transition-delay: 90ms;
    -o-transition-delay: 90ms;
    transition-delay: 90ms
}

.delay-4 {
    -webkit-transition-delay: 120ms;
    -o-transition-delay: 120ms;
    transition-delay: 120ms
}

.delay-5 {
    -webkit-transition-delay: 150ms;
    -o-transition-delay: 150ms;
    transition-delay: 150ms
}

.delay-6 {
    -webkit-transition-delay: 180ms;
    -o-transition-delay: 180ms;
    transition-delay: 180ms
}

.delay-7 {
    -webkit-transition-delay: 210ms;
    -o-transition-delay: 210ms;
    transition-delay: 210ms
}

.delay-8 {
    -webkit-transition-delay: 240ms;
    -o-transition-delay: 240ms;
    transition-delay: 240ms
}

.delay-9 {
    -webkit-transition-delay: 270ms;
    -o-transition-delay: 270ms;
    transition-delay: 270ms
}

.delay-10 {
    -webkit-transition-delay: 300ms;
    -o-transition-delay: 300ms;
    transition-delay: 300ms
}

.delay-11 {
    -webkit-transition-delay: 330ms;
    -o-transition-delay: 330ms;
    transition-delay: 330ms
}

.delay-12 {
    -webkit-transition-delay: 360ms;
    -o-transition-delay: 360ms;
    transition-delay: 360ms
}

.delay-13 {
    -webkit-transition-delay: 390ms;
    -o-transition-delay: 390ms;
    transition-delay: 390ms
}

.delay-14 {
    -webkit-transition-delay: 420ms;
    -o-transition-delay: 420ms;
    transition-delay: 420ms
}

.delay-15 {
    -webkit-transition-delay: 450ms;
    -o-transition-delay: 450ms;
    transition-delay: 450ms
}

.delay-16 {
    -webkit-transition-delay: 480ms;
    -o-transition-delay: 480ms;
    transition-delay: 480ms
}

.delay-17 {
    -webkit-transition-delay: 510ms;
    -o-transition-delay: 510ms;
    transition-delay: 510ms
}

.delay-18 {
    -webkit-transition-delay: 540ms;
    -o-transition-delay: 540ms;
    transition-delay: 540ms
}

.delay-19 {
    -webkit-transition-delay: 570ms;
    -o-transition-delay: 570ms;
    transition-delay: 570ms
}

.delay-20 {
    -webkit-transition-delay: 30ms;
    -o-transition-delay: 30ms;
    transition-delay: 30ms
}

.sprites {
    background-image: url(../images/bgi/sprites.svg)
}

.sp-after:after {
    background-image: url(../images/bgi/sprites.svg);
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-left: 10px;
    content: '';
    vertical-align: middle
}

.sp-before:before {
    background-image: url(../images/bgi/sprites.svg);
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-right: 10px;
    content: '';
    vertical-align: middle
}

button,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
textarea,
select,
input[type="submit"],
input[type="button"] {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    vertical-align: middle
}

button,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
textarea,
input[type="submit"],
input[type="button"] {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0
}

button,
input {
    line-height: normal
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
textarea,
select {
    background: var(--white);
    padding: 4px 12px;
    height: 48px;
    line-height: 1.55;
    border: solid 1px var(--light300);
    color: var(--gray);
    width: 100%;
    font-family: var(--font-secondary);
    -moz-transition: border-color 200ms ease-in;
    -webkit-transition: border-color 200ms ease-in;
    transition: border-color 200ms ease-in
}

input[type="text"].input-lg,
input[type="password"].input-lg,
input[type="email"].input-lg,
input[type="tel"].input-lg,
input[type="search"].input-lg,
input[type="url"].input-lg {
    height: 58px
}

input[type="text"].input-sm,
input[type="password"].input-sm,
input[type="email"].input-sm,
input[type="tel"].input-sm,
input[type="search"].input-sm,
input[type="url"].input-sm {
    height: 38px
}

textarea {
    width: 100%;
    height: 160px;
    overflow: auto;
    resize: vertical;
    padding: 10px 15px;
    font-family: var(--font-secondary)
}

select {
    padding: 12px 42px 12px 12px;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
    background: none;
    line-height: 1.25;
    border-radius: 0
}

select::-ms-expand {
    display: none
}

.custom-select {
    display: block;
    margin: 0;
    position: relative;
    background: var(--white)
}

.custom-select:after {
    content: '';
    border-top: solid 6px #fff;
    border-right: solid 6px #fff0;
    border-left: solid 6px #fff0;
    position: absolute;
    right: 30px;
    top: 50%;
    margin-top: -3px;
    transform: translateY(-50%);
    pointer-events: none
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
    border: solid 1px var(--gray)
}

input::-moz-focus-inner,
button::-moz-focus-inner {
    border: 0;
    padding: 0
}

input[type="button"],
input[type="submit"],
button {
    background: var(--primary);
    color: var(--white);
    border: 0;
    cursor: pointer;
    width: auto;
    overflow: visible;
    padding: 13px 45px;
    vertical-align: middle;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 1.25;
    font-family: var(--font-secondary);
    font-weight: 700
}

input[type="button"]:hover,
input[type="submit"]:hover,
button:hover {
    background: var(--primary400);
    color: var(--white)
}

input[type="checkbox"],
input[type="radio"] {
    margin: 4px 8px 0;
    vertical-align: top
}

::-webkit-input-placeholder {
    opacity: 1
}

::-moz-placeholder {
    opacity: 1
}

:-ms-input-placeholder {
    opacity: 1
}

:-moz-placeholder {
    opacity: 1
}

.checkbox,
.radio {
    position: relative;
    float: left;
    margin-right: 20px;
    cursor: pointer
}

.form-block .form-group .checkbox label,
.form-block .form-group .radio label {
    padding: 0;
    padding-left: 26px;
    display: block;
    line-height: 1.1
}

.checkbox input,
.radio input {
    top: 0;
    left: 0;
    z-index: 1;
    cursor: pointer;
    opacity: 0;
    position: absolute
}

.checkbox .input-helper,
.radio .input-helper {
    position: absolute;
    left: 0;
    top: 0;
    height: 18px;
    width: 18px
}

.checkbox input:checked+.input-helper:before,
.radio input:checked+.input-helper:before {
    border-color: var(--primary)
}

.checkbox input:disabled+.input-helper,
.radio input:disabled+.input-helper,
.checkbox input:disabled~span,
.radio input:disabled~span {
    opacity: .45
}

.checkbox .input-helper:before,
.radio .input-helper:before,
.checkbox .input-helper:after,
.radio .input-helper:after {
    position: absolute;
    content: "";
    transition: all 200ms
}

.checkbox .input-helper:before,
.radio .input-helper:before {
    left: 0;
    border: 1px solid var(--light300)
}

.checkbox input {
    width: 18px;
    height: 18px;
    margin: 0
}

.checkbox input:checked+.input-helper:before {
    background-color: var(--primary)
}

.checkbox input:checked+.input-helper:before {
    background-color: var(--primary)
}

.checkbox input:checked+.input-helper:after {
    transform: scale(1);
    opacity: 1
}

.checkbox .input-helper:before {
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 2px;
    color: var(--white)
}

.checkbox .input-helper:after {
    content: '\2713';
    font-size: 13px;
    left: 2px;
    top: 2px;
    font-weight: 600;
    color: var(--white);
    transform: scale(0);
    opacity: 0;
    line-height: 1
}

.radio input {
    width: 18px;
    height: 18px;
    margin: 0
}

.radio input:checked+.input-helper:after {
    transform: scale(1)
}

.radio .input-helper:before {
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%
}

.radio .input-helper:after {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    background: var(--primary);
    border-radius: 50%;
    top: 5px;
    left: 5px;
    transform: scale(0)
}

.breadcrumbs {
    padding: 10px 0;
    background: var(--light);
    border-bottom: solid 1px var(--light400);
    font-size: 14px;
    color: var(--gray)
}

.breadcrumbs ul {
    display: inline;
    margin: 0 0 0 5px;
    padding: 0
}

.breadcrumbs li {
    display: inline-block;
    margin: 0 0 0 20px;
    position: relative
}

.breadcrumbs li:before {
    content: '';
    border-left: solid 4px var(--gray);
    border-bottom: solid 4px #fff0;
    border-top: solid 4px #fff0;
    width: 0;
    height: 0;
    display: inline-block;
    position: absolute;
    left: -14px;
    top: 50%;
    margin-top: -4px
}

.breadcrumbs li a {
    color: var(--gray);
    text-decoration: none
}

.breadcrumbs li a:hover {
    color: var(--primary)
}

.form-block {
    margin: 10px 0
}

.form-group {
    padding: 10px 0
}

.form-group:after {
    clear: both;
    content: '';
    display: table
}

.formlist .form-group ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.forgot-link {
    float: right
}

.form-block .form-group label {
    display: inline-block;
    padding: 0 0 5px;
    position: relative;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    display: block;
    margin-bottom: 14px
}

.form-inline .form-group label {
    float: left;
    width: 30%;
    padding: 10px 10px 10px 0;
    line-height: 1.5
}

.form-inline .form-group .field-box {
    width: 70%;
    float: left
}

.button {
    background-color: var(--primary);
    text-transform: uppercase;
    font-size: 1rem;
    color: var(--white);
    display: inline-block;
    line-height: 1.2;
    padding: 16px 30px;
    vertical-align: bottom;
    font-weight: 600;
    text-align: center;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all 350ms ease-in-out;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.button span {
    position: absolute;
    background-color: var(--primary400);
    display: block;
    width: 0;
    height: 0;
    border-radius: 50%;
    transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
    transform: translate(-50%, -50%);
    z-index: -1
}

.button:hover {
    background-color: var(--primary400);
    text-decoration: none;
    color: var(--white)
}

.button:hover span {
    width: 250%;
    height: 400px
}

.button.btn-secondary span,
.button.btn-lightgray span {
    background-color: var(--secondary600)
}

.button.btn-outline span {
    background-color: var(--primary)
}

.button.btn-white {
    background-color: var(--white);
    color: var(--primary);

    &:hover {
        color: var(--white)
    }
}

.button.btn-white span {
    background-color: var(--primary)
}

.button.btn-lg,
input[type="submit"].btn-lg,
input[type="button"].btn-lg,
button.btn-lg {
    padding: 16px 35px;
    font-size: 18px
}

.button.btn-sm,
input[type="submit"].btn-sm,
input[type="button"].btn-sm,
button.btn-sm {
    padding: 10px 25px;
    font-size: 14px
}

.button.btn-xs,
input[type="submit"].btn-xs,
input[type="button"].btn-xs,
button.btn-xs {
    padding: 8px 20px;
    font-size: 12px
}

.button.btn-lightgray,
input[type="submit"].btn-lightgray,
input[type="button"].btn-lightgray,
button.btn-lightgray {
    background: var(--light200);
    color: var(--white)
}

.button.btn-lightgray:hover,
input[type="submit"].btn-lightgray:hover,
input[type="button"].btn-lightgray:hover,
button.btn-lightgray:hover {
    background: var(--gray)
}

.button.btn-secondary,
input[type="submit"].btn-secondary,
input[type="button"].btn-secondary,
button.btn-secondary {
    background: var(--secondary);
    color: var(--white)
}

.button.btn-secondary:hover,
input[type="submit"].btn-secondary:hover,
input[type="button"].btn-secondary:hover,
button.btn-secondary:hover {
    background: var(--secondary400)
}

.button.btn-outline,
input[type="submit"].btn-outline,
input[type="button"].btn-outline,
button.btn-outline {
    background: var(--white);
    border: solid 1px var(--primary);
    color: var(--primary)
}

.button.btn-outline:hover,
input[type="submit"].btn-outline:hover,
input[type="button"].btn-outline:hover,
button.btn-outline:hover {
    background: var(--primary);
    color: var(--white)
}

.button.btn-lg.btn-outline,
input[type="submit"].btn-lg.btn-outline,
input[type="button"].btn-lg.btn-outline {
    padding: 14px 35px
}

.button.btn-outline,
input[type="submit"].btn-outline,
input[type="button"].btn-outline {
    padding: 11px 30px
}

.button.btn-sm.btn-outline,
input[type="submit"].btn-sm.btn-outline,
input[type="button"].btn-sm.btn-outline {
    padding: 8px 25px
}

.button.btn-xs.btn-outline,
input[type="submit"].btn-xs.btn-outline,
input[type="button"].btn-xs.btn-outline {
    padding: 6px 20px
}

.button.btn-block {
    display: block
}

.buttonset .col {
    width: auto !important
}

.buttonset .button {
    margin: 5px 0 10px
}

table {
    max-width: 100%;
    background-color: #fff0;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #ddd
}

table {
    width: 100%;
    margin-bottom: 30px
}

table th,
table td {
    padding: 14px 15px;
    line-height: 1.32;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd
}

table th {
    background: #ececec;
    font-weight: 700;
    padding: 17px 15px;
    font-size: 16px
}

table tr:hover td {
    background: #fbfbfb
}

table tr.selected td {
    background: #fbfbfb
}

table thead th {
    vertical-align: middle
}

table caption+thead tr:first-child th,
table caption+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
    border-top: 0
}

.tabnav {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    border: solid 1px #e9edee;
    display: flex;
    flex-wrap: wrap
}

.tabnav li {
    position: relative;
    margin: 0;
    width: 25%;
    text-align: center;
    font-weight: 600;
    text-transform: uppercase
}

.tabnav li:first-child {
    margin: 0
}

.tabnav li h2 {
    margin: 0;
    font-size: 15px
}

.tabnav li a {
    display: block;
    padding: 16px 5px;
    text-decoration: none;
    color: #505061;
    line-height: 1.25;
    background: #e9edee;
    margin-bottom: -1px;
    border-left: solid 1px #dde1e2
}

.tabnav li:first-child a {
    border-left: 0
}

.tabnav li.active a,
.tabnav li a:hover {
    background-color: #fff;
    color: var(--secondary)
}

.tabnav li.active a:after {
    display: block
}

.tab-container {
    padding: 20px;
    border: solid 1px #e9edee;
    border-top: 0
}

.tabcontent .quicklist li,
.tabcontent .quicklist {
    margin: 0
}

.tabcontent {
    display: none
}

.tabcontent p {
    color: #666;
    margin: 20px 0 0
}

.tabcontent p:first-child {
    margin-top: 0
}

.tabcontent p a,
.accordion-data p a {
    color: #7f97ae;
    text-decoration: underline
}

.tabcontent p a:hover,
.accordion-data p a:hover {
    color: #00305d
}

.tabcontent h4 {
    margin: 0 0 15px
}

.accordion-databox .accordion-row:first-child {
    border-top: 0
}

.accordion-databox .accordion-row h5 {
    cursor: pointer;
    margin: 0;
    background: #f3f3f3;
    color: #555;
    position: relative;
    padding: 16px 54px 16px 16px;
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 7px;
    text-transform: uppercase
}

.accordion-databox .accordion-row h5:before {
    position: absolute;
    right: 0;
    top: 0;
    content: '';
    width: 54px;
    height: 100%;
    z-index: 1;
    background: rgb(0 0 0 / .08)
}

.accordion-databox .accordion-row h5:after {
    content: '';
    position: absolute;
    right: 18px;
    top: 50%;
    margin-top: -4px;
    border-top: solid 8px #818181;
    border-left: solid 8px #fff0;
    border-right: solid 8px #fff0;
    z-index: 2
}

.accordion-databox .accordion-row h5.open {
    color: #272c2f
}

.accordion-databox .accordion-row h5.open:after {
    border-top: 0;
    border-bottom: solid 8px #272c2f
}

.accordion-data {
    display: none;
    padding: 15px 0
}

.accordion-data p {
    padding: 0 6px;
    margin: 20px 0 0
}

.accordion-data p:first-child {
    margin-top: 0
}

.alert {
    padding: 16px 16px 16px 55px;
    margin: 20px 0;
    color: #454545;
    position: relative
}

.alert:before {
    position: absolute;
    content: '';
    left: 15px;
    top: 15px;
    width: 24px;
    height: 24px;
    background: url(../images/bgi/sprites.svg) no-repeat 0 0
}

.alert-notification {
    background-color: #fff0f4;
    border: solid 1px #db524c;
    color: #db524c
}

.alert-notification:before {
    background-position: 0 0
}

.alert-info {
    background-color: #e8f6ff;
    border: solid 1px #0082d5;
    color: #0082d5
}

.alert-info:before {
    background-position: -26px 0
}

.alert-warning {
    background-color: #fef4ec;
    border: solid 1px #ff9948;
    color: #ff9948
}

.alert-warning:before {
    background-position: -52px 0
}

.alert-success {
    background-color: #edfff6;
    border: solid 1px #04be5b;
    color: #04be5b
}

.alert-success:before {
    background-position: -79px 0
}

.alert-normal {
    background-color: #efefef;
    border: solid 1px #999;
    padding-left: 16px;
    color: #555
}

.alert-normal:before {
    display: none
}

.heading-listblock {
    padding: 20px 0
}

.heading-listblock p,
.heading-listblock blockquote {
    margin: 0 0 35px
}

.heading-listblock p:last-child {
    margin-bottom: 0
}

.heading-listblock .paragraph-block p {
    margin: 0 0 20px
}

.list-block ul,
.list-block ol {
    padding-left: 22px;
    margin-left: -5px
}

.list-block ul li,
.list-block ol li {
    margin: 5px 0
}

.list-block ul.custom-arrow-list {
    margin: 0;
    padding: 0
}

.sitemap .banner-section::after {
    opacity: 1
}

.sitemap-sec {
    display: flex;
    align-items: center
}

.sitemap-sec ol {
    text-transform: uppercase;
    display: inline-block;
    font-size: 20px;
    line-height: 2
}

.sitemap-sec ol li {
    margin-bottom: 10px
}

.sitemap-sec ol li:last-child {
    margin-bottom: 0
}

.sitemap-sec ol li::marker {
    color: var(--secondary-color);
    transition: all 350ms ease-in-out
}

.sitemap-sec ol li:hover::marker {
    color: var(--primary-color)
}

.sitemap-sec ol a {
    display: inline-flex;
    text-decoration: none;
    transition: all 350ms ease-in-out;
    color: var(--secondary);
    font-family: var(--font-primary)
}

.sitemap-sec ol a:hover {
    color: var(--primary)
}

.site-map-banner {
    justify-content: flex-start;
    align-items: flex-end;
    background-position: top center;
    padding: 7.5rem 0 0
}

.site-map-banner h1 {
    margin: 0
}

.site-map-banner .banner-txt {
    margin-top: 0
}

.wpcf7-form span.wpcf7-not-valid-tip {
    border: 0;
    color: #f00 !important;
    line-height: 1.2;
    padding: 2px 0;
    z-index: 5;
    margin-top: 5px;
    font-size: 16px;
    border-radius: 0;
    position: relative;
    z-index: 1
}

.wpcf7-form div.wpcf7-response-output {
    margin: 15px 0;
    padding: 15px;
    color: red;
    background: #fdeeee;
    border: solid 1px #f2c9c9 !important;
    clear: both;
    border-radius: 0;
    text-align: center
}

form.wpcf7-form div.wpcf7-response-output {
    font-weight: 400;
    color: #468847;
    background: #dff0d8;
    border: solid 1px #d6e9c6 !important;
    font-size: 16px;
    border-radius: 0;
    text-align: center
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #ec9a9a !important;
    margin: 20px 0 0;
    padding: 10px;
    color: red;
    background: #fff6f6;
    font-size: 16px;
    text-align: center;
    border-radius: 0
}

.error404 .page-content {
    text-align: center;
    color: var(--white);
    display: table;
    margin: 0 auto
}

.error404 .page-content-row {
    padding: 0 0 80px;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center
}

.error404 .page-content {
    text-align: center;
    color: var(--secondary);
    display: table;
    margin: 0 auto
}

.error404 .page-content :is(h1, h2, h3, h4, h5, h6, p) {
    color: currentColor
}

.error404 .page-content .button {
    margin: 20px auto 0
}

.error-section-content {
    margin-top: -120px
}

.error404 .page-content h4 {
    margin: 20px 0
}

.grids {
    display: grid;
    grid-gap: 30px
}

.no-gap {
    grid-gap: 0
}

.grids2 {
    grid-template-columns: 1fr 1fr
}

.grids3 {
    grid-template-columns: repeat(3, 1fr)
}

.grids4 {
    grid-template-columns: repeat(4, 1fr)
}

.grids5 {
    grid-template-columns: repeat(5, 1fr)
}

.grids6 {
    grid-template-columns: repeat(6, 1fr)
}

.wpcf7-list-item .wpcf7-list-item-label:before {
    left: 0;
    border: 1px solid #000
}

.wpcf7-list-item .wpcf7-list-item-label:before {
    top: 0;
    width: 25px;
    height: 25px;
    color: #fff
}

.wpcf7-list-item .wpcf7-list-item-label:before,
.wpcf7-list-item .wpcf7-list-item-label:after {
    content: "";
    position: absolute;
    transition: all 200ms
}

.wpcf7-list-item .wpcf7-list-item-label:after {
    font-size: 13px;
    left: 5px;
    top: 5px;
    font-weight: var(--semi-bold);
    color: var(--secondary-color);
    opacity: 0;
    width: 15px;
    height: 15px;
    background-color: var(--secondary-color);
    transform: scale(0)
}

.wpcf7-list-item input:checked+.wpcf7-list-item-label:after {
    transform: scale(1);
    opacity: 1
}

.wpcf7-spinner {
    position: absolute !important;
    top: 50%;
    left: auto;
    transform: translateY(-50%);
    background-color: var(--black) !important
}

.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed
}

.img-hover {
    overflow: hidden;
    position: relative
}

.img-hover:hover img {
    transform: scale(1.03)
}

.img-hover img {
    transition: transform 0.3s ease-in-out;
    width: 100%
}

ul.page-numbers {
    margin: 3.2rem auto 0;
    padding: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 6px;
    flex-wrap: wrap
}

.page-numbers li {
    display: inline;
    line-height: 1
}

.page-numbers li .page-numbers,
.page-numbers li a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #000;
    border: 1px solid var(--primary);
    transition: all 350ms ease-in-out;
    font-size: 16px;
    padding: 9px 12px;
    line-height: 1
}

.page-numbers li a.active,
.page-numbers li .current,
.page-numbers li a:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    color: #fff
}

.loader-container {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    background-color: #fff0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 9999
}

.loader-ajax {
    position: relative;
    display: table
}

.loader-wrap {
    height: 50px;
    width: 50px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center
}

.loader {
    height: 40px;
    width: 1px;
    position: absolute;
    animation: rotate 3.5s linear infinite
}

.loader .dot {
    top: 30px;
    height: 5px;
    width: 5px;
    background: var(--primary);
    border-radius: 50%;
    position: relative
}

@keyframes rotate {
    30% {
        transform: rotate(220deg)
    }

    40% {
        transform: rotate(450deg);
        opacity: 1
    }

    75% {
        transform: rotate(720deg);
        opacity: 1
    }

    76% {
        opacity: 0
    }

    100% {
        opacity: 0;
        transform: rotate(0deg)
    }
}

.loader:nth-child(1) {
    animation-delay: 0.15s
}

.loader:nth-child(2) {
    animation-delay: 0.3s
}

.loader:nth-child(3) {
    animation-delay: 0.45s
}

.loader:nth-child(4) {
    animation-delay: 0.6s
}

.loader:nth-child(5) {
    animation-delay: 0.75s
}

.loader:nth-child(6) {
    animation-delay: 0.9s
}

.load-more-cnt .loader-container {
    background: #fff0
}

.load-more-cnt .loader .dot {
    background: var(--primary)
}

.loading .loader-container {
    display: flex
}

.overlay {
    position: relative;
    z-index: 999;
    overflow: hidden
}

.overlay::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgb(0 0 0 / .8);
    backdrop-filter: blur(4px);
    width: 100%;
    height: 100%;
    z-index: 9
}

figure {
    margin: 0
}

.default-banner {
    background-color: var(--primary);
    color: var(--white);
    text-align: center;
    position: relative;
    z-index: 1
}

.default-banner-box h1,
.default-banner-box h2 {
    font-weight: 700;
    margin: 0
}

.banner-slider-img figure {
    padding-top: 35%;
    position: relative;
    background-color: var(--gray)
}

.banner-slider-img figure img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center
}

.banner-slider .swiper-button-next {
    right: 120px
}

.banner-slider .swiper-button-prev {
    left: 120px
}

.swiper-button-next,
.swiper-button-prev {
    color: var(--primary);
    transition: all 350ms ease-in-out;
    margin-top: 0;
    transform: translateY(-50%);
    width: 44px;
    height: auto;
    aspect-ratio: 1;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background-color: var(--primary);
    color: #fff
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 22px
}

.product-slider-row {
    padding: 0 50px;
    position: relative
}

.product-slider {
    position: static;

    .swiper-button-next {
        right: 0
    }

    .swiper-button-prev {
        left: 0
    }

    .swiper-button-next,
    .swiper-button-prev {
        background-color: var(--secondary);
        color: var(--white);

        &:hover {
            background-color: var(--primary)
        }
    }

    .swiper-slide {
        height: auto;
        display: flex;
        flex-direction: column
    }

    .product-slide {
        padding: 10px;
        display: flex;
        flex-direction: column;
        height: 100%
    }
}

.product-slider-main-sec {
    .wrap {
        max-width: 1570px
    }
}

.star {
    display: inline-block;
    width: 90px;
    height: 18px;
    position: relative;
    overflow: hidden
}

.star::before,
.star::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/star.svg);
    background-repeat: repeat-x;
    background-size: 18px
}

.star::before {
    width: calc((100% / 5) * var(--rating));
    z-index: 1
}

.star::after {
    filter: grayscale(1);
    opacity: 1
}

.product-main-row {
    background-color: #fff;
    box-shadow: 0 4px 22px rgb(0 0 0 / .06);
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%
}

.product-img {
    position: relative;

    figure {
        position: relative;
        padding-top: 77.778%;
        background-color: var(--secondary);
        border-radius: 4px 4px 0 0;
        overflow: hidden;

        img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover
        }
    }
}

.product-details {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 30px 20px;

    small {
        font-size: 16px;
        margin-bottom: 5px
    }

    h6 {
        margin-bottom: 10px;
        word-break: break-all;
        transition: all 350ms ease-in-out
    }

    .button {
        margin-top: auto;
        width: 100%
    }

    .price {
        margin-bottom: 20px
    }

    a {
        &:hover {
            h6 {
                color: var(--primary)
            }
        }
    }
}

.current-price {
    font-weight: 700;
    color: var(--black)
}

.sale--badge {
    background-color: var(--tertiary);
    color: #fff;
    top: 0;
    right: 8px;
    z-index: 2;
    font-size: 10px;
    font-weight: 600;
    line-height: 14px;
    position: absolute;
    transition: all .2s ease-in-out;
    width: 40px;
    text-align: center;
    padding: 6px 3px 3px;

    &:after {
        border: 17px solid;
        border-width: 13px 20px;
        border-color: #00584B #fff0 #fff0;
        content: "";
        height: 0;
        width: 0;
        position: absolute;
        left: 0;
        top: 100%
    }
}

.section-title {
    margin-bottom: 48px;
    max-width: 560px;
    display: table;

    &.center {
        text-align: center;
        max-width: 100%;
        margin: 0 auto 48px
    }

    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }
}

.testimonial .swiper-slide {
    display: flex;
    height: auto
}

.testimonial-slide {
    margin: 20px;
    display: flex;
    width: 100%;

    i {
        font-size: 2.5rem;
        color: #f2f2f5
    }
}

.testimonial-slide,
.testimonial-slide .testimonial-info {
    display: flex;
    width: 100%
}

.testimonial-slide .testimonial-info {
    background: #fff;
    box-shadow: 0 4px 22px rgb(0 0 0 / .06);
    padding: 30px;
    position: relative;
    display: flex;
    flex-direction: column
}

.testimonial-slide .testimonial-info h4 {
    margin-bottom: 20px
}

.testimonial-slide .testimonial-info p {
    margin: 0 0 20px;
    color: #12141d
}

.testimonial-slide .testimonial-info .autho-info {
    margin-top: auto
}

.testimonial-slide .testimonial-info .autho-info,
.testimonial-slide .testimonial-info .autho-info .author-name p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.testimonial-slide .testimonial-info .autho-info figure {
    display: flex;
    border-radius: 50%;
    overflow: hidden;
    margin-right: 24px;
    width: 70px;
    height: 70px;
    display: none
}

.testimonial-slide .testimonial-info .autho-info figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.testimonial-slide .testimonial-info .autho-info .author-name {
    width: calc(100% - 94px)
}

.testimonial-slide .testimonial-info .autho-info .author-name p {
    font-weight: 600;
    font-size: 1.125em;
    margin-bottom: 5px
}

.testimonial-slide .testimonial-info .autho-info .author-name>span {
    font-size: .875em;
    font-weight: 600;
    color: rgb(18 20 29 / .7);
    display: inline-block;
    vertical-align: top
}

.testimonial {
    .swiper-wrapper {
        padding-bottom: 30px
    }

    .slider-arrows {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        grid-gap: 20px;
        margin-right: 30px
    }

    .swiper-button-prev,
    .swiper-button-next {
        position: static;
        border: 1px solid;
        transform: none
    }
}

.testimonial-row {
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

.testimonial-row-box {
    max-width: calc(100% - 446px);
    width: auto;
    overflow: hidden;
    margin: 0 -40px 0 auto
}

.testimonial-row .testimonial-row-box .swiper {
    overflow: visible;
    padding-bottom: 0
}

.testimonial-main-sec {
    border-top: 1px solid rgb(76 200 140 / .4);
    overflow: clip
}

.testimonial-row .section-title {
    max-width: 446px;
    width: 446px;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.swiper-pagination {
    position: static;
    display: none;

    .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
        background: #a0a0a6;
        transition: all 250ms cubic-bezier(.75, .1, .6, 1)
    }

    .swiper-pagination-bullet-active {
        background-color: var(--primary)
    }
}

.we-believe-point-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 32px;

    .we-believe-info {
        padding: 40px;
        background: #fff;
        box-shadow: 0 4px 60px rgb(0 0 0 / .08);

        figure {
            margin-bottom: 25px;
            display: inline-flex;
            width: 100%
        }

        img {
            max-height: 60px;
            width: auto
        }

        &:hover img {
            animation: icon-bounce .8s 1
        }
    }
}

::selection {
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: #4cc88c
}

@keyframes icon-bounce {

    0%,
    20%,
    50%,
    80%,
    to {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }

    40% {
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        transform: translateY(-10px)
    }

    60% {
        -webkit-transform: translateY(-5px);
        -ms-transform: translateY(-5px);
        transform: translateY(-5px)
    }
}

#footer {
    background-size: cover;
    background-repeat: no-repeat
}

.support-info {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    flex-direction: column;
    grid-gap: 10px;

    li {
        display: inline-flex;

        a {
            color: var(--secondary);
            transition: all 1s;
            font-size: 16px;
            grid-gap: 15px;
            display: inline-flex;

            i {
                display: flex;
                align-items: center;
                font-size: 18px;

                &.fa-envelope {
                    margin-bottom: -3px
                }
            }
        }

        &:last-child {
            margin-bottom: 0;
            padding-bottom: 0;
            border-bottom: 0
        }
    }
}

.support-info li a:hover {
    color: #4cc88c
}

.contact-form-box {
    background: #00584B;
    padding: 20px
}

.contact-form-box .contact-form-info {
    width: 100%;
    height: 100%;
    padding: 20px;
    border: 1px solid rgb(255 255 255 / .2)
}

.contact-form-box .contact-form-info .contact-form-field .form-block .form-group label,
.contact-form-box .contact-form-info .contact-form-field .form-block .form-group select,
.contact-form-box .contact-form-info .section-title {
    color: #fff
}

.contact-form-box .contact-form-info .section-title h2 {
    color: #fff
}

.contact-form-box .contact-form-info .contact-form-field .form-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px 40px
}

.contact-form-box .contact-form-info .contact-form-field .form-block .form-group.full-width {
    grid-column: span 2
}

.contact-form-box .contact-form-info .contact-form-field .form-block .form-group input,
.contact-form-box .contact-form-info .contact-form-field .form-block .form-group textarea,
.flexibleforms_form .form-list .wide input {
    color: #fff;
    border: 1px solid rgb(255 255 255 / .2)
}

.contact-form-info {

    input[type=email],
    input[type=password],
    input[type=search],
    input[type=tel],
    input[type=text],
    .custom-select,
    input[type=url] {
        background: 0 0;
        padding: 5px 20px;
        height: 50px;
        line-height: 1.5
    }

    textarea {
        background: 0 0;
        padding: 5px 20px
    }

    .form-block {
        margin: 0
    }

    .form-group {
        padding: 0
    }

    .custom-select {
        padding: 0;

        select {
            border: 1px solid rgb(255 255 255 / .2);
            color: rgb(255 255 255 / .4);

            option {
                color: #000
            }
        }
    }

    .section-title {
        h2 {
            &:last-of-type {
                margin-bottom: 0
            }
        }
    }
}

.contact-form-box .contact-form-info .contact-form-field .form-block .form-group input::placeholder,
.contact-form-box .contact-form-info .contact-form-field .form-block .form-group textarea::placeholder {
    color: rgb(255 255 255 / .4)
}

:focus {
    outline: 0
}

.contact-form-box .contact-form-info .contact-form-field .form-block .form-group input:focus,
.contact-form-box .contact-form-info .contact-form-field .form-block .form-group textarea:focus {
    border: 1px solid rgb(255 255 255 / .6);
    background: rgb(0 0 0 / .12);
    background-blend-mode: overlay
}

.get-in-touch-row .contact-info-box {
    max-width: 530px;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.get-in-touch-sec .get-in-touch-row {
    display: grid;
    grid-template-columns: minmax(530px, auto) 1fr;
    grid-gap: 84px;
    overflow: hidden
}

.support-info-box {
    width: 100%;

    h5 {
        margin-bottom: 30px
    }
}

.progress-wrap {
    position: fixed;
    right: 20px;
    bottom: 80px;
    z-index: 900;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px #25245d;
    transition: all 350ms ease-in-out;
    cursor: pointer;
    transform: scale(0);
    transform-origin: center center;
    display: flex;
    align-items: center;
    justify-content: center
}

.progress-wrap::after {
    position: absolute;
    left: 0;
    top: 0;
    width: 46px;
    height: auto;
    aspect-ratio: 1;
    cursor: pointer;
    display: block;
    z-index: 1
}

.progress-wrap::before {
    position: absolute;
    opacity: 0;
    -webkit-background-clip: text;
    -webkit-text-fill-color: #fff0;
    left: 0;
    top: 0;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    z-index: 2;
    transition: all 200ms linear
}

.progress-wrap:hover::after {
    opacity: 0
}

.progress-wrap:hover::before {
    opacity: 1
}

.progress-wrap .arrow-top {
    width: 46px;
    height: auto;
    aspect-ratio: 1;
    position: absolute
}

.progress-wrap .arrow-top::after {
    content: "";
    width: 2px;
    height: 32%;
    display: block;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: var(--primary);
    position: absolute
}

.progress-wrap .arrow-top::before {
    content: "";
    width: 10px;
    height: auto;
    aspect-ratio: 1;
    display: block;
    left: 0;
    right: 0;
    top: 16px;
    margin: auto;
    border: solid 2px var(--primary);
    border-left: 0;
    border-bottom: 0;
    position: absolute;
    transform: rotate(-45deg)
}

.progress-wrap.active-progress {
    transform: scale(1);
    transform-origin: center center
}

.progress-wrap svg path {
    fill: none
}

.progress-wrap svg.progress-circle path {
    stroke: var(--primary);
    stroke-width: 4;
    box-sizing: border-box;
    transition: all 200ms cubic-bezier(.39, .575, .565, 1)
}

.social-icons {
    overflow: hidden
}

.social-icons li a {
    position: relative;
    width: 40px;
    height: auto;
    aspect-ratio: 1;
    background-color: var(--secondary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    overflow: hidden
}

.social-icons li a:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .5s;
    z-index: 2;
    background-color: var(--primary)
}

.social-icons li a:hover:before {
    top: 0
}

.social-icons li a i {
    position: relative;
    transition: .5s;
    z-index: 3
}

.social-icons li a:hover i {
    color: #fff;
    transform: rotateY(360deg)
}

.who-we-are-row {
    align-items: flex-start;
    overflow: hidden
}

.who-we-are-img {
    figure {
        position: relative;
        padding-top: 70%;
        border-radius: 4px;
        overflow: hidden;

        img {
            width: 100%;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover
        }
    }
}

.who-we-are-images {
    align-items: flex-start
}

.mission-vision-info {
    margin-bottom: 40px;

    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }

    &:last-of-type {
        margin-bottom: 0
    }
}

.view-all {
    margin-top: 50px;
    text-align: center;

    .button {
        margin: 0 auto
    }
}

.products-row {
    .product-slide {
        margin: 0
    }
}

.mission-vision-icon {
    display: flex;
    width: auto
}

.mission-vision-icon figure {
    position: relative;
    z-index: 1;
    min-width: 72px;
    max-width: 72px;
    width: 100%;

    &::before {
        position: absolute;
        top: -16px;
        left: -16px;
        width: 44px;
        height: auto;
        aspect-ratio: 1;
        border-radius: 50%;
        background: rgb(76 200 140 / .4);
        transition: all .3s cubic-bezier(.47, 0, .745, .715);
        z-index: -1;
        pointer-events: none
    }

    img {
        width: 100%;
        height: auto;
        max-height: 80px
    }
}

.mission-vision-info {
    background: #2F3338;
    padding: 50px;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    height: 100%;
    transition: background .35s cubic-bezier(.47, 0, .745, .715);
    cursor: pointer;
    color: #fff;

    h5 {
        color: inherit
    }

    &:hover {
        background: #2A3948;

        figure {
            &::before {
                transform: scale(1.3);
                background: rgb(76 200 140 / .4)
            }
        }
    }
}

.mission-vision-main-sec {
    background-color: #282B2F;

    .section-title {
        color: var(--white);

        h2 {
            color: inherit
        }
    }
}

.total-price {
    span {
        font-weight: 700
    }

    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }
}

.product-content {
    a {
        color: var(--secondary);

        &:hover {
            color: var(--primary)
        }
    }
}

.prodcut-dt-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 20px;

    .product-rating {
        display: flex;
        align-items: center;
        grid-gap: 5px
    }
}

.product-price {
    display: flex;
    align-items: center;
    grid-gap: 10px;
    font-size: 24px;

    p {
        font-size: 24px
    }

    del {
        color: var(--gray)
    }
}

.product-size {
    display: flex;
    align-items: center;
    grid-gap: 20px;
    font-size: 20px;
    padding: 0 0 20px
}

.product-options {
    display: flex;
    grid-gap: 10px;
    align-items: center;
    flex-wrap: wrap;

    .button {
        padding: 5px 10px;
        line-height: 1
    }

    span {
        padding: 5px 10px;
        line-height: 1;
        background-color: #fff0;
        border: 1px solid var(--primary);
        border-radius: 4px;
        overflow: hidden;
        text-transform: uppercase;
        font-size: 1rem;
        vertical-align: bottom;
        font-weight: 600;
        text-align: center;
        display: table;
        color: var(--primary)
    }
}

.product-images {
    img {
        width: 100%
    }
}

.product-slider-images {
    display: flex;
    width: 100%
}

.product-slider-thumbs-images {
    padding: 10px 0
}

.product-slider-thumbs-images .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: .4
}

.product-slider-thumbs-images .swiper-slide-thumb-active {
    opacity: 1
}

.products-detail-images {
    max-width: 600px
}

.posted-in {
    font-size: 20px;
    display: flex;
    grid-gap: 20px;
    padding: 0 0 20px;

    .button {
        padding: 5px 10px;
        line-height: 1;
        text-transform: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center
    }

    .product-tags {
        display: flex;
        align-items: center;
        grid-gap: 10px;
        flex-wrap: wrap;

        span {
            padding: 5px 10px;
            line-height: 1;
            background-color: var(--primary);
            border-radius: 4px;
            overflow: hidden;
            font-size: 1rem;
            vertical-align: bottom;
            font-weight: 600;
            text-align: center;
            display: table;
            color: var(--white)
        }
    }
}

.availability-text p {
    font-size: 20px
}

.prodcuts-images {
    figure {
        position: relative;
        padding-top: 50%;
        background-color: var(--secondary);
        border-radius: 4px;
        overflow: hidden;

        img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover
        }
    }
}

.product-thumbs-images {
    figure {
        position: relative;
        padding-top: 70%;
        background-color: var(--secondary);
        border-radius: 4px;
        overflow: hidden;

        img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover
        }
    }
}

.product-badge {
    padding: 30px 0;
    text-align: center;
    grid-gap: 20px;

    li {
        figure {
            width: 4rem;
            height: auto;
            aspect-ratio: 1;
            margin: 0 auto 10px;
            display: flex;

            svg {
                width: 4rem;
                height: auto;
                aspect-ratio: 1
            }

            img {
                width: 100%;
                overflow: hidden;
                border-radius: 50%;
                height: 100%;
                object-fit: cover
            }
        }
    }

    h6 {
        margin-bottom: 0;
        font-size: 20px
    }
}

.product-detail-main-sec {
    padding-top: 100px
}

.products-detail-row {
    grid-template-columns: minmax(530px, auto) 1fr;
    grid-gap: 84px
}

.prodcut-description-listing {
    margin-bottom: 40px;

    &:last-child {
        margin-bottom: 0
    }

    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }
}

.products-details-sec {
    padding-top: 50px;

    .section-block {
        padding: 30px 0
    }
}

.text-danger {
    color: #db524c !important
}

.availability-text {
    span {
        color: #00584B
    }

    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }
}

.benifits-sec {
    .custom-arrow-list {
        grid-gap: 10px 20px
    }
}

.reviews-row {
    span {
        font-size: 20px
    }

    .reviews-btn {
        display: flex;
        align-items: center;
        grid-gap: 20px
    }
}

.review-listin-box-row {
    padding-top: 20px
}

.review-listin-box {
    padding-top: 30px;
    border-bottom: 1px solid rgb(51 153 153 / .1);
    padding-bottom: 20px;

    h6 {
        margin-bottom: 10px
    }

    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }
}

.reviews-listin-row {
    .button.center {
        text-align: center;
        display: table;
        margin: 60px auto 0
    }
}

.reviews-popup-sec {
    box-shadow: 0 5px 15px rgb(0 0 0 / .35);
    background-color: #fff;
    max-width: 550px;
    width: 100%;
    padding: 20px;
    margin: 0 auto;
    border-radius: 4px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    max-height: 800px;
    height: calc(100vh - 50px);
    overflow-y: auto;
    display: none;

    &.open {
        opacity: 1;
        visibility: visible
    }

    input {
        height: 36px
    }

    input,
    textarea {
        border-radius: 4px;

        &:focus {
            border-color: var(--secondary)
        }
    }

    form {
        margin: 0 auto;
        max-width: 100%;
        padding: 0;

        .form-block {
            width: 100%;
            height: 100%
        }
    }

    .close:before,
    .close:after {
        background-color: var(--primary)
    }

    .form-block {
        .form-group {
            label {
                margin-bottom: 0;

                sup {
                    font-size: 16px;
                    display: inline-flex
                }
            }
        }
    }
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgb(0 0 0 / .3);
    background-color: #F5F5F5
}

::-webkit-scrollbar {
    width: 6px;
    background-color: #F5F5F5
}

::-webkit-scrollbar-thumb {
    background-color: var(--primary)
}

.reviews-sec {
    padding: 60px 0
}

.rating {
    --dir: right;
    --fill: gold;
    --fillbg: rgba(100, 100, 100, 0.15);
    --star: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 17.25l-6.188 3.75 1.641-7.031-5.438-4.734 7.172-0.609 2.813-6.609 2.813 6.609 7.172 0.609-5.438 4.734 1.641 7.031z"/></svg>');
    --stars: 5;
    --starsize: 2rem;
    --value: 3.5;
    --x: calc(100% * (var(--value) / var(--stars)));
    block-size: var(--starsize);
    inline-size: calc(var(--stars) * var(--starsize));
    position: relative;
    touch-action: manipulation;
    -webkit-appearance: none
}

[dir="rtl"] .rating {
    --dir: left
}

.rating::-moz-range-track {
    background: linear-gradient(to var(--dir), var(--fill) 0 var(--x), var(--fillbg) 0 var(--x));
    block-size: 100%;
    mask: repeat left center/var(--starsize) var(--star)
}

.rating::-webkit-slider-runnable-track {
    background: linear-gradient(to var(--dir), var(--fill) 0 var(--x), var(--fillbg) 0 var(--x));
    block-size: 100%;
    mask: repeat left center/var(--starsize) var(--star);
    -webkit-mask: repeat left center/var(--starsize) var(--star)
}

.rating::-moz-range-thumb {
    height: var(--starsize);
    opacity: 0;
    width: calc(var(--starsize) / 2)
}

.rating::-webkit-slider-thumb {
    height: var(--starsize);
    opacity: 0;
    width: calc(var(--starsize) / 2);
    -webkit-appearance: none
}

.rating,
.rating-label {
    display: block;
    font-family: ui-sans-serif, system-ui, sans-serif
}

.rating-label {
    margin-block-end: 1rem
}

.close {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 32px;
    height: 32px;
    transition: all 350ms ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999
}

.close:hover {
    opacity: 1
}

.close:before,
.close:after {
    position: absolute;
    left: 15px;
    content: ' ';
    height: 20px;
    width: 2px;
    background-color: #fff;
    transition: all 350ms ease-in-out
}

.close:hover::before,
.close:hover::after {
    background-color: var(--secondary)
}

.close:before {
    transform: rotate(45deg)
}

.close:after {
    transform: rotate(-45deg)
}

.wpcf7-submit {
    position: relative;

    .wpcf7-spinner {
        flex-shrink: 0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        margin: 0 auto;
        left: 0;
        right: 0;
        opacity: 1;
        background-color: #fff;

        &::before {
            background-color: #282b2f
        }
    }
}

form.submitting {

    button span,
    button span i {
        font-size: 0
    }

    button span.wpcf7-spinner {
        padding: 0;
        z-index: 3;
        min-height: auto
    }
}

.image-gallery {
    a {
        display: flex;
        width: 100%
    }

    figure {
        position: relative;
        padding-top: 55.5555%;
        z-index: 1;
        display: flex;
        width: 100%;
        border-radius: 4px;

        img {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            object-fit: cover
        }
    }
}

.fancybox-button {
    transition: all 350ms ease-in-out
}

.fancybox__container .carousel__button {
    transition: all 350ms ease-in-out
}

.fancybox__container .carousel__button::after {
    transform: scale(0);
    background-color: rgb(255 255 255 / .1);
    border-radius: 50%;
    z-index: -1
}

.fancybox__container .carousel__button:hover {
    background-color: #fff0
}

.fancybox__container .carousel__button:hover::after {
    transform: scale(1)
}

.fancybox__container .fancybox__thumbs .carousel__slide .fancybox__thumb::after {
    border-color: red
}

.inner-banner {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;

    &:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        background: rgb(0 0 0 / .7);
        width: 100%;
        z-index: -1;
        pointer-events: none
    }

    h1 {
        color: #fff;
        font-size: clamp(2.75rem, 4vw, 6.25rem);
        text-transform: uppercase
    }
}

.supply-chain-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px
}

.supply-chain-info {
    text-align: center;
    position: relative;

    .steps-image-wrapper {
        max-width: 300px;
        margin: 0 auto;
        display: flex;

        img {
            width: 100%
        }
    }

    strong {
        color: var(--primary);
        font-weight: 800
    }

    h6 {
        margin: 20px 0 0
    }

    &:last-child {
        .arrow-right {
            display: none
        }
    }
}

.arrow-right {
    position: absolute;
    width: 100px;
    height: 2px;
    background: var(--secondary);
    z-index: 1;
    top: 120px;
    right: -80px
}

.arrow-right::before,
.arrow-right::after {
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    z-index: -1
}

.arrow-right::before {
    right: 0;
    bottom: 0;
    border-bottom-left-radius: 100%;
    border-left: 2px solid var(--secondary);
    border-bottom: 2px solid var(--secondary)
}

.arrow-right::after {
    top: 0;
    right: 0;
    border-top-left-radius: 100%;
    border-top: 2px solid var(--secondary);
    border-left: 2px solid var(--secondary)
}

.counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--bold);
    min-width: 220px;
    max-width: 220px;

    .plus {
        display: flex;
        line-height: 1
    }
}

.counter-box h2,
.counter {
    font-size: 2.5rem;
    color: var(--primary)
}

.counter-box h2 {
    margin: 0
}

.who-we-are-about-image {
    figure {
        padding-top: 55.556%;
        position: relative;

        img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover
        }
    }
}

.who-we-are-about-main-sec {
    overflow: hidden
}

.who-we-are-about-info:not(.counter-box) {
    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }
}

.counter-box {
    text-align: center;
    margin-top: 20px;

    p {
        margin: 10px 0 0 !important
    }
}

.our-founders-main-sec {
    background-color: rgb(76 200 140 / .08);
    overflow: hidden
}

.our-founders {
    padding: 40px;
    background: #fff;
    box-shadow: 0 4px 60px rgb(0 0 0 / .08);
    overflow: hidden;
    text-align: center;
    position: relative;

    &::before {
        content: "";
        position: absolute;
        top: 40px;
        left: 0;
        width: 3px;
        height: 80px;
        background: var(--primary);
        transition: width .25s cubic-bezier(.47, 0, .745, .715)
    }

    &:hover {
        &::before {
            width: 20px
        }
    }

    figure {
        width: clamp(6.25rem, 9.375vw, 11.25rem);
        height: auto;
        aspect-ratio: 1;
        border-radius: 50%;
        overflow: hidden;
        margin: 0 auto 20px;
        background-color: var(--primary);

        img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }
    }

    p {
        &:last-of-type {
            margin-bottom: 0
        }
    }
}

.what-do-We-Offer {
    .who-we-are-about-row {
        .who-we-are-about-info {
            order: 2
        }

        .who-we-are-about-image {
            order: 1
        }
    }

    .what-we-do-offers-content {
        margin-top: 30px;

        h6 {
            margin-bottom: 10px
        }
    }
}

.ftr-img-sec {
    figure {
        position: relative;
        padding-top: 40.56%;

        img {
            width: 100%;
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            object-fit: cover
        }
    }
}

.pb-0 {
    padding-bottom: 0 !important
}

.reviews-form {
    .form-block {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px 30px;

        .form-group {
            padding: 0;

            label {
                padding: 0 0 8px
            }

            &.full-width {
                grid-column: span 2
            }
        }
    }

    .form-block .form-group label {
        margin-bottom: 0
    }

    label.error {
        padding: 5px 0 0 !important
    }
}

body.admin-bar header {
    margin-top: 32px
}

.product-content .hide {
    display: none
}

.sale--badge.hide {
    display: none !important
}

.product-options span:hover {
    color: var(--white);
    background-color: var(--primary)
}

.product-options .selected {
    color: var(--white);
    background-color: var(--primary)
}

#commentform .form-group label .error {
    color: red !important
}

#commentform .form-group label sup {
    color: red !important
}

footer {
    .current-menu-item {
        a {
            color: var(--primary);
            background-size: 100% 100%;
            background-position: left bottom
        }
    }
}

header {
    .current-menu-item {
        a {
            color: var(--secondary) !important;

            &::after {
                transform-origin: 0% 50% !important;
                transform: scaleX(1) !important
            }
        }
    }
}


.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    display: none;
}