/**
 * Theme Name: Hello Elementor Child
 * Author: Elementor Team
 * Template: hello-elementor
 * Text Domain: hello-elementor-child
 * Description: Hello Elementor is a lightweight and minimalist WordPress theme built to work seamlessly with the Elementor site builder plugin.
 */


/* -------------------------------------------------------
   Lenis
------------------------------------------------------- */

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-stopped {
  overflow: hidden;
}


/* -------------------------------------------------------
   Header
------------------------------------------------------- */

.admin-bar .elementor-location-header > div {
    top: 32px !important;
}

.admin-bar .elementor-location-header {
    top: 0;
    position: relative;
}

/* -------------------------------------------------------
   Navigation
------------------------------------------------------- */

.elementor-nav-menu--layout-horizontal .elementor-nav-menu .elementor-item-active,
.elementor-nav-menu--layout-horizontal .elementor-nav-menu a:hover {
    color: var(--e-global-color-primary) !important;
}

.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item::after {
    display: none;
}

.page-id-1243 .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
    color: #004449;
}
.call-to-action {
    display: none;
}

.elementor-location-header > div {
    transition: background-color 0.4s ease;
}

.elementor-location-header.header-scrolled > div {
    background-color: rgb(0 68 73 / 62%);
}
html, body {
    overflow-x: hidden;
}

/* -------------------------------------------------------
   Text Animation
------------------------------------------------------- */

.s-text-animation .elementor-heading-title {
    color: transparent !important;
    -webkit-text-stroke: 1px var(--e-global-color-primary);
    white-space: nowrap;
}

.s-text-animate-section .s-text-animation {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    white-space: nowrap;
    width: max-content;
    animation: scrolling-text-animation 45s linear infinite;
}

.s-text-animation .elementor-widget-heading {
    flex: 0 0 auto !important;
}

.s-text-img-animate .s-text-animation .elementor-heading-title {
    -webkit-text-stroke: unset;
    color: #fff !important;
}

.s-text-animate-two .s-text-animation {
    animation: scrolling-text-animation-reverse 45s linear infinite reverse;
}

.s-text-animate-section strong {
    font-weight: 700;
}

.s-text-animate-section p {
    font-weight: normal;
}

/* -------------------------------------------------------
   Image Animations
------------------------------------------------------- */

.s-img-fix {
    will-change: transform;
}

.s-img-with-animation {
    animation: stratus-looped-rotate 12s forwards infinite linear;
}

.s-img-with-animation img {
    opacity: 1;
    transform: none;
}


/* -------------------------------------------------------
   Text Block
------------------------------------------------------- */

.s-text-block .s-text {
    font-size: 75px;
    line-height: 1.4;
    font-weight: 700;
    color: #004449;
    text-align: center;
}


/* -------------------------------------------------------
   Image Loading Animation
------------------------------------------------------- */

.s-img-loaded {
    position: relative;
    width: 80px;
    height: 80px;
    display: inline-block;
    vertical-align: middle;
}

.s-img-loaded img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: auto;
    max-width: none;
    opacity: 0;
    clip-path: circle(15%);
}

.animate-img .s-img-loaded img {
    animation: animateImage 1.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.s-img-loaded img {
    display: inline-block;
    vertical-align: middle;
}


/* -------------------------------------------------------
   Link Animation
------------------------------------------------------- */

.s-text-block .s-link {
    position: relative;
    text-decoration: none;
    color: #004449;

    background-repeat: no-repeat;
    background-image: linear-gradient(
        transparent calc(100% - 2px),
        var(--e-global-color-primary) 2px
    );

    background-size: 100% 2px;
    background-position: left 100%;

    transition: background-size 0.55s cubic-bezier(0.2, 0.75, 0.5, 1);
}

.s-text-block .s-link:not(:hover) {
    color: inherit;
    animation: s-link-underline-start 0.55s ease forwards;
}

.s-text-block .s-link:hover {
    animation: 0.55s cubic-bezier(0.215, 0.61, 0.355, 1) s-link-underline-hover forwards;
    background-position: right 100%;
}


/* -------------------------------------------------------
   Box Cards
------------------------------------------------------- */

.s-box-card {
    max-width: 620px;
    width: 100%;
    margin: 0 auto;
}

.s-four-box .s-box-card {
    height: 604px;
    justify-content: space-between;
}

.s-four-box .s-box-card img {
    width: 100%;
    height: 100%;
    max-width: 100% !important;
}

.s-box-card > .e-con .elementor-widget-image {
    height: 100%;
}

.s-box-card-one > .e-con:first-child {
    height: 220px;
}

.s-box-card-one > .e-con:last-child {
    height: 370px;
}

.s-box-card-two > .e-con {
    height: 294px;
}


/* -------------------------------------------------------
   Contact
------------------------------------------------------- */

.s-contact-link a {
    color: var(--e-global-color-primary) !important;
}

.elementor-field-type-checkbox label {
    font-size: 12px !important;
    line-height: 1.4;
    padding-left: 30px;
    display: block !important;
    cursor: pointer;
}

.elementor-field-type-checkbox input[type="checkbox"] {
    -webkit-appearance: none;
    border: 2px solid #13D1B1;
    width: 18px;
    height: 18px;
    position: absolute;
    left: 0;
    top: 1px;
    border-radius: 5px;
    margin-top: 0;
    cursor: pointer;
}

.elementor-field-type-checkbox .elementor-field-option {
    position: relative;
    margin-top: 5px;
}

.elementor-field-type-checkbox input[type="checkbox"]:checked {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAADUUlEQVR4nO2ZW6hNQRjHfxy3XGLyQB2UPPGAeaDjLi8uxQPxMBS5c0onhXLJpRQPhJJLwot5I5cHJLmXW8Y9yQNKB2FIuaSDh7VOzR57r73PWou9yvq9zX/NfN/675k161uzIScnJycnJz6tqn0D5RBStQLGAB2Ac9bopmL9Wv/Tu4rHbuACcBo4VKpTpmdESDUZOOlITUA7a/RPv29mZ0RI1RXY48l3ipmADBsBtgG1TrsJqC/VOZNGhFTjgLmevM0afavUmMwZEVJ1BPZT+Pw+BTZEjcucEWAL0M9p/wTmW6O/Rg3KlBEh1TBgqSfvtkZfKTc2M0aEVO2BA0CNI78A1lQyPjNGgI3AAKf9C1hojf5cyeBMvBCFVIOBm0BbRz5gjV5QaYyqz4iQqg1wkEITjcDKlsSpuhFgNSA9bak12rYkSFWXlpCqP3CHoLJt5og1elZLY1VtRoRUrQl2KdfEO2B5nHjVXFrLgeGeVm+NfhsnWFWWlpCqL/AA6OTIp6zRU+LG/OczEi6pwxSa+AQsSRK3TUTC0cA64AOwwhr9Mkkih0XAaE9rsEa/ShK06NIKy4VGQITSa2CyNfp2kmRCqj7AQ6CLI5+xRk9MEhdKL63OQDen3RO4KKSKvYZD9lFo4jPBDCWmqBFr9Htgryd3Ao4JqZbFSSSkmg1M8ORVaS3ZqIe9nqCQc6kBdgqp9oWlRUUIqXoC2z35En/+WLEpu/0KqeYQfLG19S6dBaZXUp0KqY4CUx3pCzDIGv2s8luNpuz2a40+DEwEPnqXxgNXhVS9osYLqWZQaAJgbZomoML3iDX6PDCS4EPHZSBwPSzD/0BI1R3Y5ck3imiJqfiFaI1+BNQB/hZcC1wWUk0qMmwn0MNpfwfmlTr2TEKL3uzW6NfAWApP/yDYUk8IqRY3C6GxmV6/TeEPkjqxai0hVQ3BLlRsK94FrAfuA70d/R4wxBr9I07OciQqGoVUDQQngv7MvqLwlPAHMNQafTdJvigSFY3W6B3ANILt1KXWa2/9myYgherXGn2c4Ll5U6LLE2Bz0jzlSKWMD89k64DH3qXmU8JvaeSJIrXvEWv0c2AEcN6RN1qjr6WVI4rUvxDDv8pGAV+jTs9zcnJy/m9+A6lS4YGYd45hAAAAAElFTkSuQmCC);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: auto 14px;
    background-color: var(--e-global-color-primary);
}

.elementor-field-group .elementor-button {
    border: 2px solid var(--e-global-color-primary);
}

.elementor-mark-required label.elementor-field-label:after {
    color: var(--e-global-color-primary);
    padding-left: 0;
    position: relative;
    left: -5px;
}

body:not(.page-id-1243) .s-contact-logo,
.page-id-1243 .elementor-widget-theme-site-logo {
    display: none;
}

.elementor-form .elementor-field-label {
    margin-left: 15px;
}

.s-footer-text p {
    margin-bottom: 0;
}

/* -------------------------------------------------------
   Keyframes
------------------------------------------------------- */

@keyframes animateImage {
    0% {
        opacity: 0;
        clip-path: circle(10%);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        clip-path: circle(42%);
    }
}

@keyframes s-link-underline-hover {
    0% {
        background-size: 100% 2px;
    }

    100% {
        background-size: 0 2px;
    }
}

@keyframes s-link-underline-start {
    0% {
        background-size: 0 2px;
    }

    100% {
        background-size: 100% 2px;
    }
}

@keyframes stratus-looped-rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes scrolling-text-animation {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes scrolling-text-animation-reverse {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}


/* -------------------------------------------------------
   Responsive
------------------------------------------------------- */


@media (min-width: 768px)  {
	
/* -------------------------------------------------------
   Banner
------------------------------------------------------- */
.s-banner {
    left: -1px;
}
	
}

@media (min-width: 1025px) and (max-width: 1500px) {
	
	.s-heading h2 {
		font-size: 50px !important;
	}
	
}
@media (min-width: 1025px) and (max-width: 1300px) {
	.s-nav-menu .elementor-nav-menu .menu-item a{
		padding-left: 10px !important;
		padding-right: 10px !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
	}
}
@media (min-width: 1025px) and (max-width: 1200px) {

    .s-box-card .s-card-heading h2 {
        font-size: 60px !important;
    }

}

@media (max-width: 1024px) {
	
	header .elementor-menu-toggle {
		padding-right: 0;
	}
    .s-text-block .s-text {
        font-size: 45px;
    }

    .s-img-loaded {
        width: 60px;
        height: 60px;
    }

    .s-img-loaded img {
        width: 60px;
    }

    .s-text-img-animate .elementor-widget-image {
        height: 100%;
    }

    .elementor-element.s-text-img-animate {
        height: 100%;
        min-height: unset;
    }
    .page-id-1243 .elementor-menu-toggle {
        color: #33373d !important;
    }
    .page-id-1243 .elementor-menu-toggle svg {
        fill: #33373d !important;
    }
    .elementor-nav-menu--stretch nav.elementor-nav-menu__container.elementor-nav-menu--dropdown {
        position: fixed;
        top: 0 !important;
        left: 0 !important;
        height: 100%;
        width: calc(100% - 60px) !important;
        margin-top: 0;
        padding-top: 20px;
        transform: translateX(-100%) !important;
        max-height: 100% !important;
    }

    .elementor-nav-menu--stretch .elementor-active ~ nav.elementor-nav-menu__container.elementor-nav-menu--dropdown {
        transform: translateX(0) !important;
    }
    body .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
        background-color: var(--e-global-color-primary);
    }

}

@media (max-width: 767px) {

    
    .s-img-fix {
        left: 0;
        right: auto;
    }

    .s-text-animation .elementor-heading-title {
        letter-spacing: -0.5px !important;
        line-height: 1.3 !important;
    }

    .s-text-block .s-text {
        font-size: 28px;
    }

    .s-img-loaded {
        width: 45px;
        height: 45px;
    }

    .s-four-box .s-box-card,
    .s-box-card-one > .e-con:first-child,
    .s-box-card-one > .e-con:last-child,
    .s-box-card-two > .e-con {

        height: 220px;

        display: flex;
        flex-direction: row !important;

        width: 100% !important;
        flex: unset !important;
    }

    .s-box-card > .e-con .elementor-widget-image {
        width: 100%;
    }

    .s-text-img-animate img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
	.s-footer-text {
		margin-bottom: 20px !important;
	}

}