.elementor-kit-8{--e-global-color-primary:#0C1C39;--e-global-color-secondary:#319553;--e-global-color-text:#0C1C39;--e-global-color-accent:#3B6EBF;--e-global-color-9748350:#F4FAFE;--e-global-color-3f77ffb:#B53F24;--e-global-color-6e2c7d8:#FFFFFF;--e-global-color-d7897d0:#FFFFFF00;--e-global-typography-primary-font-family:"gitan-latin";--e-global-typography-primary-font-size:1em;--e-global-typography-primary-font-weight:900;--e-global-typography-primary-line-height:1em;--e-global-typography-secondary-font-family:"gitan-latin";--e-global-typography-secondary-font-size:1em;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-line-height:1em;--e-global-typography-text-font-family:"figtree";--e-global-typography-text-font-size:clamp(14px, 1.33vw, 16px);--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"figtree";--e-global-typography-accent-font-size:1em;--e-global-typography-accent-font-weight:600;background-color:var( --e-global-color-9748350 );font-family:"figtree", Sans-serif;font-size:clamp(14px, 1.33vw, 16px);line-height:1.4em;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:var( --e-global-color-primary );font-size:13px;font-weight:700;text-transform:uppercase;line-height:1em;letter-spacing:0.05em;color:var( --e-global-color-6e2c7d8 );border-radius:1.2em 1.2em 1.2em 1.2em;padding:1.2em 1.75em 1.2em 1.75em;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-9748350 );}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 p{margin-block-end:0.6em;}.elementor-kit-8 a{color:var( --e-global-color-secondary );}.elementor-kit-8 a:hover{color:var( --e-global-color-3f77ffb );}.elementor-kit-8 h1{font-family:"gitan-latin", Sans-serif;font-size:clamp(2.57em, 5vw, 5em);font-weight:900;line-height:1.05em;}.elementor-kit-8 h2{font-family:"gitan-latin", Sans-serif;font-size:clamp(2.14em, 3.5vw, 3.5em);font-weight:800;line-height:1.05em;}.elementor-kit-8 h3{font-family:"gitan-latin", Sans-serif;font-size:clamp(1.79em, 2.5vw, 2.5em);font-weight:800;}.elementor-kit-8 h4{font-family:"gitan-latin", Sans-serif;font-size:clamp(1.43em, 1.75vw, 1.75em);font-weight:700;line-height:1.05em;}.elementor-kit-8 h5{font-family:"gitan-latin", Sans-serif;font-size:clamp(1.21em, 1.25vw, 1.25em);font-weight:700;line-height:1.05em;}.elementor-kit-8 h6{font-family:"gitan-latin", Sans-serif;font-size:1em;font-weight:700;line-height:1.05em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0em;--container-default-padding-right:0em;--container-default-padding-bottom:0em;--container-default-padding-left:0em;}.elementor-widget:not(:last-child){margin-block-end:.5em;}.elementor-element{--widgets-spacing:.5em .5em;--widgets-spacing-row:.5em;--widgets-spacing-column:.5em;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*Basic Size Settings*/
html {
    font-size:clamp(10px, 1.04vw, 15px) !important;
}

.e-con-inner p { line-height:1.4em;}
/*Variables*/
:root {
    /*Colors*/
    --blue: #0c1c39;
    --ltblue:#3b6ebf;
    --green:#319553;
    --red:#b53f24;
    --pale:#f4fafe;
    --clear:#fff0;
    /*Transitions*/
    --transition: 300ms ease;
    /*Heading-Style-Swap*/
   --p-style:clamp(1em, 1vw, 1em);
    --h1-style:clamp(2.57em, 5vw, 5em);
    --h2-style:clamp(2.14em, 3.5vw, 3.5em);
    --h3-style:clamp(1.79em, 2.5vw, 2.5em);
    --h4-style:clamp(1.43em, 1.75vw, 1.75em);
    --h5-style:clamp(1.21em, 1.25vw, 1.25em);
    --h6-style:clamp(1em, 0.88vw, 1em);
    --h1:var(--h1-style);
    --h2:var(--h2-style);
    --h3:var(--h3-style);
    --h4:var(--h4-style);
    --h5:var(--h5-style);
    --h6:var(--h6-style);
    --p:var(--p-style);
    /*Border-Radiuses*/
    --round-bottom-sm: 0rem 0rem 2rem 2rem;
    --round-bottom: 0rem 0rem 4rem 4rem;
    --round-bottom-lg: 0rem 0rem 6rem 6rem;
    --round-top-sm: 2rem 2rem 0rem 0rem;
    --round-top: 4rem 4rem 0rem 0rem;
    --round-top-lg: 6rem 6rem 0rem 0rem;
    --round-sm: 2rem;
    --round: 4rem;
    --round-lg: 6rem;
    /*Additional Padings*/
    --pad-tight:clamp(2.14em, 3.5vw, 3.5em);
    --pad-half:calc(var(--pad-h) * .5)
}

/************************/


/*USEFUL STYLES*/

/**** TEXT ****/

/*Big Text*/
.big, .p-big p, .p-big-first p:first-of-type, .p-first-big p:first-of-type {
    font-size:clamp(15px, 1.5vw, 20px);
}
/*Lighter Paragraph Text*/
.light p {
    font-weight:300 !important;
}

/*Fixes to Heading Weights*/
h2.elementor-heading-title, h3.elementor-heading-title {
    font-weight:800;
}
h4.elementor-heading-title, h5.elementor-heading-title, h6.elementor-heading-title {
    font-weight:700;
}
p.elementor-heading-title, .elementor-widget-heading p {
    font-family:'Figtree' !important;
    font-weight:400 !important;
    line-height: 1.35em !important;
}
/*Remove space at end of last paragraph*/

.elementor-widget-text-editor p:last-child {
    margin-bottom:0;
}
/*Text Widgets Make headings green if strong*/
.elementor-widget-text-editor h1, .elementor-widget-text-editor h2, .elementor-widget-text-editor h3, .elementor-widget-text-editor h4, .elementor-widget-text-editor h5, .elementor-widget-text-editor h6 {
    & strong {
        color:var(--green);
}
}

/*Container as Image Covered - .image-container - default styling for image to be centered and cover a container, avoids some display issues*/

.image-container {
    background-position:center center !important;
    background-size:cover !important;
    background-repeat: no-repeat !important;
    
}

/*Button Tighter Padding*/
.tight .elementor-button {
    padding:.5em 1em;
    border-radius:.6em;
}

/*Fake Button — .fake-button — styling for fake buttons to avoid issues with containers having embeded links*/

.fake-button span {
    background-color: var(--ltblue);
    color:white !important;
    transition:var(--transition);
    padding:.75em 1.5em;
    font-family:'Figtree','Sans-Serif' !important;
    border-radius:.5em;
    font-weight:600 !important;
    font-size:14px;
    text-transform: uppercase;
    letter-spacing: .2em;
    cursor:pointer !important;
}
.fake-button span:hover {
    background-color:var(--green);
}

/************************/

/*Rounded BG Fills [ .rounded-bg ]- Add a Background with a Rounded fill without having to add margins*/
.rounded-bg:before, .rounded-bg-sm:before {
    content:'';
    display:block;
    background-color: var(--blue);
    border-radius:var(--round-lg);
    position:absolute;
    z-index:0;
    top:0;
    left:0;
}
.rounded-bg-sm:before {
    border-radius:var(--round-sm);
}
.rounded-bg .e-con-inner {
    z-index:1;
}
.rounded-bg.green:before {
    background-color: var(--green);
}
.rounded-bg.red:before {
    background-color: var(--red);
}
.rounded-bg.ltblue:before {
    background-color: var(--ltblue);
}
.rounded-bg.light:before {
    opacity:.125;
}
.rounded-bg.dim:before {
    opacity:.25;
}
.rounded-bg.mid:before {
    opacity:.375;
}

.patterned {
    &:before {opacity:.2;}
    border-radius:var(--round-lg);
}
/*Background gradient from Green to Blue*/
.rounded-bg.green-blue:before {
    background:linear-gradient(0deg, var(--blue) 10%, var(--green) 90%);
    
}
/*Inset the Rounded Background [.inset]*/
.rounded-bg.inset-bg:before {
    width:calc(100% - var(--pad-h));
    transform:translateX(var(--pad-half));
}

/************************/

/*Hero Style Settings*/
.hero {
    padding:var(--pad-v) var(--pad-h);
    z-index:10;
    background-color: var(--pale);
}
/*Background Fill*/
.hero:before {
    content:'';
    display:block;
    position:absolute;
    height:100%;
    width:100%;
    background-color: var(--blue);
    border-radius:var(--round-bottom-lg);
}
/*Gap Between Text & Gem*/
.hero .e-con-inner {
    gap:2rem;
}
/*Gem Style*/
.hero .gem-wrapper {
    position:relative;
    margin-top:-10%;
    margin-bottom:-10%;
}
.hero .gem {
    margin-top:-var(--pad-v);
    max-width:20rem;
    transform:translateY(var(--pad-v));
    align-self:center;
    animation:pulse infinite 5s alternate ease-in-out;
}
@keyframes pulse {
    from {
        transform:scale(1) translateY(calc(var(--pad-v) / 2));
    }
}
/*Text Style*/
.hero .text p {
    color:inherit !important;
    text-transform:uppercase;
    font-weight:300;
    letter-spacing: .4em;
}
.hero .text * {
    color:white;
    line-height: 1.25em !important;
    justify-content:center;
}

@media screen and (max-width:767px) {
    .hero {
        padding-top:9em;
        margin-bottom:6rem;
    }
    .hero .gem {
        margin-top:calc(var(--pad-v) * -1);
        margin-bottom:-4rem;
    }
    .hero .text {
        margin-bottom:4rem;
    }
}


/************************/
/**** SPECIAL USE ****/
/************************/

/**** Sections ****/

/*Use a Text Box with a Gem on the Side*/
.box-gem {
    background-color:var(--pale);
    border-radius:var(--round-sm);
}
.box-gem .text {
    padding: var(--pad-tight);
}
.box-gem .gem {
    margin:-6em -6em -6em 0;
    transform:translate3d(-3em, 3em, 0);
    position:relative;
    bottom:-50%;
    max-width:480px !important;
}

@media screen and (max-width:767px) {
    .box-gem .text {
        padding:1em;
    }
}
/*Mobile Fixes for box gem*/
@media screen and (max-width:640px) { .box-gem {
    flex-direction:column !important;
}
.box-gem .text {
    order:2;
    padding-top:.5em;
}
.box-gem .gem {
    order:1;
    min-width:clamp(200px, 80%, 400px);
    margin-top:-12em;
}
.box-gem {
    margin-top:5em;
}
}
/*Cards*/
.cards {
    border-radius:var(--round-sm);
    overflow: hidden;
}
.cards .text {
    padding:2em 2em 0 2em;
}

.cards .image {
    height:20rem;
    background-position:center;
    background-size: cover;
    background-repeat: no-repeat;
}
.cards .text {
    margin-bottom:auto;
}
.cards .elementor-widget-button {
    padding:0 0 2em 2em;
}
/*Quick Container Background Image Fix*/
.img-bg {
    background-position: center;
    background-size:cover;
}

/*Allow a horizontal list to stack on mobile */
@media screen and (max-width:767px) {
.stack-mobile ul {
    display:flex;
    flex-direction: column;
    
}
.stack-mobile ul li {
        padding:.325em 0;
    }
}

/*Gem Image Carousel*/
.gem-carousel.fade:before {
    background-image:linear-gradient(90deg, var(--pale) 1em, #fff0 8rem, #fff0 calc(100% - 8rem), var(--pale) calc(100% - 1em));
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    z-index:10;
}
.gem-carousel .swiper-wrapper {
    transition-timing-function: linear !important;
    -webkit-transition-timing-function: linear !important;
}

.gem-carousel .swiper-slide, .gem-carousel .swiper-slide-image {
    object-fit:cover !important;
    object-position: left bottom;
    align-self:center;
    margin:0 .5em;
}
.gem-carousel.animate .swiper-slide, .gem-carousel.animate .swiper-slide-image {
    animation:gem-vibe infinite 1s ease alternate;
}
@keyframes gem-vibe {
    from {
        transform:scale(.875);
    }
    to {
        transform:scale(1);
    }
}

.gem-carousel .swiper-slide:nth-of-type(5n+0), .gem-carousel .swiper-slide:nth-of-type(5n+0) .swiper-slide-image {
    clip-path: url(#gem-one);
    aspect-ratio: 1042 / 1111;
    animation-delay:000ms;
}

.gem-carousel .swiper-slide:nth-of-type(5n+1), .gem-carousel .swiper-slide:nth-of-type(5n+1) .swiper-slide-image {
    clip-path: url(#gem-two);
    aspect-ratio: 107 / 173;
    animation-delay:200ms;
}

.gem-carousel .swiper-slide:nth-of-type(5n+2), .gem-carousel .swiper-slide:nth-of-type(5n+2) .swiper-slide-image {
    clip-path: url(#gem-three);
    aspect-ratio: 1079 / 1843;
    width:184.4%;
    animation-delay:400ms;
}
.gem-carousel .swiper-slide:nth-of-type(5n+3), .gem-carousel .swiper-slide:nth-of-type(5n+3) .swiper-slide-image {
    clip-path: url(#gem-four);
    aspect-ratio: 1054 / 1843;
    width:180.2%;
    animation-delay:600ms;
}
.gem-carousel .swiper-slide:nth-of-type(5n+4), .gem-carousel .swiper-slide:nth-of-type(5n+4) .swiper-slide-image {
    clip-path: url(#gem-five);
    aspect-ratio: 592 / 574;
    animation-delay:800ms;
}

/*Gem Soundwave [.gem-wave-wrapper .wave .gem-logo .gem] */

/*Gap Consistent*/
.gem-wave-wrapper, .gem-wave-wrapper .gem-logo {
    gap:.1rem !Important
}
.gem-wave-wrapper .gem {
    align-self:center;
}
.gem-wave-wrapper .gem-wave-still {
    min-width:min(18rem, 30vw);
}
.gem-wave-wrapper .wave  .gem {
    animation: gem-wave 1.2s infinite ease alternate;
}

.gem-wave-wrapper .wave .gem:nth-of-type(2n) {
    animation-delay:.3s;
    animation-duration: 1.35s;
}
.gem-wave-wrapper .wave .gem:nth-of-type(3n) {
    animation-delay:.6s;
    animation-duration: 1.05s;
}
.gem-wave-wrapper .wave .gem:nth-of-type(4n) {
    animation-delay:.9s;
    animation-duration: 1.2s;
}
.gem-wave-wrapper .wave .gem:nth-of-type(5n) {
    animation-delay:1.2s;
    animation-duration: 1.2s;
}
.gem-wave-wrapper .wave .gem:nth-of-type(6n) {
    animation-delay:1.2s;
    animation-duration: .8s;
}
.gem-wave-wrapper .wave .gem:nth-of-type(7n) {
    animation-delay:1.2s;
    animation-duration: 1s;
}
.gem-wave-wrapper .wave:nth-of-type(3n) .gem:nth-of-type(2n){
    animation-delay:.3s;
}

@keyframes gem-wave {
    from {
        transform: scaleY(1) scalex(.75);
        height:50%;
    }
    20% {
        transform: scaleY(1);
        height:.3rem;
    }
    80% {
        transform: scaleY(1);
        height:.3rem;
    }
    to {
        transform:scaleY(1)
        scaleX(1);
        height:74%;
    }
}/* End custom CSS */