/**
Theme Name: Sargents Title
Author: Blue Winds Media
Author URI: https://www.bluewindsmedia.com
Description: A custom theme for Sargents Title, built on the Astra framework.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sargents-title
Template: astra
*/

/* ======= Common CSS: Start ======= */
*,
::before,
:after {
    box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}

p {
    margin: 0px 0px 20px;
}

p:last-child {
    margin: 0px 0px 0px;
}

a {
    text-decoration: none;
    color: inherit;
}

a:hover,
a:focus {
    text-decoration: none;
}

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

/* ul,
ol,
li {
    list-style: none;
} */

ul+ul,
ul+ol,
ol+ul,
ol+ol {
    margin: 20px 0px 0px;
}

a:focus,
a:focus-within,
a:focus-visible,
a:target,
a:visited,
a:active,
button:focus,
button:focus-within,
button:focus-visible,
button:target,
button:visited,
button:active,
input:focus,
input:focus-within,
input:focus-visible,
input:target,
input:visited,
input:active,
select:focus,
select:focus-within,
select:focus-visible,
select:target,
select:visited,
select:active,
textarea:focus,
textarea:focus-within,
textarea:focus-visible,
textarea:target,
textarea:visited,
textarea:active {
    outline: none;
    box-shadow: none;
    font-family: inherit;
}

::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
::-ms-input-placeholder,
::placeholder {
    color: inherit;
    opacity: 1;
    font-family: inherit;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* ======= Common CSS: End ======= */



/* ======= Hover Button CSS: Start ======= */

.hover-btn a.elementor-button,
.contact-form button.elementor-button.elementor-size-sm {
    padding: 5px 5px 5px 20px;
    transition: all 0.4s ease-in-out;
}

.hover-btn a.elementor-button span.elementor-button-icon,
.contact-form button.elementor-button.elementor-size-sm span.elementor-button-icon {
    border-radius: 5px;
    background: #43886A;
    height: 50px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.4s ease-in-out;
}

.hover-btn a.elementor-button span.elementor-button-icon svg path,
.contact-form button.elementor-button.elementor-size-sm span.elementor-button-icon svg path {
    transition: all 0.4s ease-in-out;
}

.hover-btn a.elementor-button span.elementor-button-content-wrapper,
.contact-form button.elementor-button.elementor-size-sm span.elementor-button-content-wrapper {
    display: flex;
    align-items: center;
}

.hover-btn a.elementor-button:hover,
.contact-form button.elementor-button.elementor-size-sm:hover {
    background-color: rgba(67, 136, 106, 1) !important;
}

.hover-btn a.elementor-button:hover span.elementor-button-icon,
.contact-form button.elementor-button.elementor-size-sm:hover span.elementor-button-icon {
    background: #fff;
}

.hover-btn a.elementor-button:hover span.elementor-button-icon svg path,
.contact-form button.elementor-button.elementor-size-sm:hover span.elementor-button-icon svg path {
    fill: rgba(67, 136, 106, 1) !important;
}

.contact-form button.elementor-button.elementor-size-sm span.elementor-button-icon svg path {
    fill: #fff !important;
}

/* ======= Hover Button CSS: End ======= */



/* ======= Heading Text Anim CSS: Start ======= */
span.word {
    display: inline-flex;
    overflow: hidden;
}

.text-anim span.word span.char {
    opacity: 0;
    transition: all 1.2s cubic-bezier(0.17, 0.17, 0, 0.79) !important;
}

.text-anim.split-is h1 span.word span.char,
.text-anim.split-is h2 span.word span.char,
.text-anim.split-is h3 span.word span.char,
.text-anim.split-is h4 span.word span.char {
    opacity: 1;
    transition-delay: calc(30ms * var(--char-index)) !important;
    display: inline-flex;
}

/* ======= Heading Text Anim CSS: End ======= */

/* ======= Footer Section CSS: Start ======= */

.footer-main-sec:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0.8;
    background: linear-gradient(180deg, #43886A 0%, #000 165.94%);
}

/* ======= Footer Section CSS: End ======= */



/* =======  Banner Section CSS: Start ======= */

.hero-banner-main-sec:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: #43886A;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0.2;
    pointer-events: none;
}

.banner-slider .swiper-pagination span.swiper-pagination-bullet {
    opacity: 0.5;
}

.banner-slider .swiper-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: rgba(97, 206, 112, 1) !important;
    opacity: 1;
}

/* .text-anim.last-pattern h1.elementor-heading-title span:after,
.text-anim.last-pattern h2.elementor-heading-title span:after,
.text-anim.first-pattern h2.elementor-heading-title span:after {
    content: "";
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="421" height="44" viewBox="0 0 421 44" fill="none"><path d="M0.669922 23.5026C0.669922 23.5026 138.511 4.82601 186.67 5.00123C233.671 5.17223 420.67 7.00128 420.67 7.00128C420.67 7.00128 273.379 9.47368 141.67 22.5013C130.453 23.6107 32.1699 39.0012 32.1699 39.0012C32.1699 39.0012 236.128 25.3732 269.17 27.5012C298.471 29.3884 369.17 37.0026 369.17 37.0026" stroke="%2361CE70" stroke-width="10"/></svg>');
    width: 100%;
    height: 44px;
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    aspect-ratio: 1 / 1;
    background-size: contain;
    right: 0;
    bottom: -15px;
}

.text-anim .elementor-heading-title span {
    position: relative;
} */

.banner-list span {
    color: rgba(67, 136, 106, 1);
}

.service-box .elementor-icon-box-wrapper .elementor-icon-box-icon .elementor-icon {
    border: 1px solid rgba(67, 136, 106, 0.5);
}

.service-box .elementor-icon-box-wrapper:hover .elementor-icon-box-icon .elementor-icon svg {
    filter: brightness(0) invert(1);
}


/* .contact-form .elementor-form-fields-wrapper .elementor-field-group input,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea {
    padding: 0 0 30px 40px !important;
    box-shadow: none;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group input::placeholder,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea::placeholder {
    color: rgba(26, 26, 26, 0.5);
    opacity: 1 !important;
}

.contact-form .elementor-form-fields-wrapper .elementor-field-group input:focus,
.contact-form .elementor-form-fields-wrapper .elementor-field-group textarea:focus,
.contact-form .elementor-form-fields-wrapper .elementor-field-group select:focus {
    box-shadow: none !important;
    border-style: solid !important;
} */


.contact-form_wrapper .gform_heading {
    display: none;
}

.contact-form_wrapper .contact-form .gform_body input {
    margin: 0 0 30px 0;
    padding: 0 40px;
    background: none;
    border: none;
    border-bottom: 1px solid rgba(26, 26, 26, 0.2);
    border-radius: 0;
    box-shadow: none;
    outline: none;
    height: 75px;
    font-size: 20px;
    font-weight: 500;
    color: rgba(26, 26, 26, 0.5);
    font-family: "Inter", sans-serif;
}

.contact-form_wrapper .contact-form .gform_body textarea {
    margin: 0 0 30px 0;
    padding: 15px 40px 0 40px;
    background: none;
    border: none;
    border-bottom: 1px solid rgba(26, 26, 26, 0.2);
    border-radius: 0;
    box-shadow: none;
    outline: none;
    height: 200px;
    font-size: 20px;
    font-weight: 500;
    color: rgba(26, 26, 26, 0.5);
    font-family: "Inter", sans-serif;
}

.contact-form_wrapper .contact-form .gform_body input::placeholder,
.contact-form_wrapper .contact-form .gform_body textarea::placeholder {
    color: rgba(26, 26, 26, 0.5);
}

.contact-form_wrapper .contact-form .gform_fields {
    grid-column-gap: 50px;
}

.contact-form_wrapper .contact-form .ginput_container_address {
    margin-left: -25px;
    margin-right: -25px;
}

.contact-form_wrapper .contact-form .ginput_container_address span {
    flex: 0 0 50% !important;
    padding-left: 25px;
    padding-right: 25px;
}

.contact-form_wrapper .contact-form .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full) {
    padding-left: 25px;
    padding-right: 0;
}

.contact-form_wrapper .contact-form .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full) {
    padding-right: 25px;
}

.contact-form_wrapper .contact-form .gform-footer {
    justify-content: center;
}

.contact-form_wrapper .contact-form .gform-footer .gform_button {
    margin: 0;
    padding: 16px 30px;
    background: none;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    font-size: 18px;
    color: #1A1A1A;
    font-weight: 700;
    text-transform: uppercase;
    font-family: "Inter", sans-serif;
    box-shadow: none;
    line-height: normal;
    transition: all 0.4s ease-in-out;
}

.contact-form_wrapper .contact-form .gform-footer .gform_button:hover{ color: #fff; background: #43886A; border-color: #43886A;}

/* =======  Banner Section CSS: End ======= */

.blog-content h1.wp-block-heading,
.blog-content h3.wp-block-heading {
    color: #000;
    font-family: Oswald;
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2em;
    text-transform: uppercase;
    margin: 30px 0;
}

.blog-content p strong {
    font-weight: 700;
}

.blog-content p strong u {
    text-decoration: none;
}

.blog-content ul.wp-block-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.blog-content ul.wp-block-list li:before {
    content: "";
    width: 5px;
    height: 5px;
    background: #000;
    display: inline-flex;
    border-radius: 100%;
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
}

.blog-content ul.wp-block-list li {
    position: relative;
    padding-left: 20px;
}

.tab-sec button {
    width: 100px !important;
    height: 100px !important;
    min-height: 100px !important;
    padding: 10px !important;
    min-width: 100px;
}


/* ======= Responsive CSS: Start ======= */

/*
Elementor Breakpoint For Responsive Screen : 
Mobile Portrait   : 575
Mobile Landscape  : 767
Tablet Portrait   : 991
Tablet Landscape  : 1199
Laptop: 1599
*/

@media screen and (min-width: 1600px) and (max-width: 1780px) {

    .text-anim h1.elementor-heading-title {
        font-size: 100px !important;
    }

    .text-anim h2 {
        font-size: 90px !important;
    }

    .box-col {
        min-height: 700px !important;
    }

    .box-col h3 {
        font-size: 55px !important;
    }
}

@media screen and (min-width: 1600px) and (max-width: 1700px) {

    .about-img {
        right: 40px !important;
    }
}

@media screen and (max-width: 1780px) {}

@media screen and (min-width: 1600px) and (max-width: 1680px) {}

@media screen and (max-width: 1680px) {}

@media screen and (max-width: 1599px) {}

@media screen and (min-width: 1200px) and (max-width: 1299px) {

    .footer-menu-col {
        gap: 40px !important;
    }

    .about-text-col {
        padding-top: 10px !important;
    }
}

@media screen and (max-width: 1199px) {

    .text-anim.last-pattern h1.elementor-heading-title span:after,
    .text-anim.last-pattern h2.elementor-heading-title span:after,
    .text-anim.first-pattern h2.elementor-heading-title span:after {
        bottom: -10px !important;
        height: 25px;
    }

    .blog-content h1.wp-block-heading,
    .blog-content h3.wp-block-heading {
        font-size: 24px !important;
    }

    .tab-sec button {
        width: 80px !important;
        height: 80px !important;
        min-height: 80px !important;
        padding: 10px !important;
        min-width: 80px;
    }
}

@media screen and (max-width: 991px) {

    .contact-form .elementor-form-fields-wrapper .elementor-field-group input,
    .contact-form .elementor-form-fields-wrapper .elementor-field-group textarea {
        padding: 0 0 20px 20px !important;
    }

    .hover-btn a.elementor-button,
    .contact-form button.elementor-button.elementor-size-sm {
        padding: 5px 5px 5px 10px !important;
    }

    .hover-btn a.elementor-button span.elementor-button-icon,
    .contact-form button.elementor-button.elementor-size-sm span.elementor-button-icon {
        height: 40px !important;
        width: 30px !important;
    }

    .contact-form_wrapper .contact-form .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full) {
        padding-right: 15px;
    }
    .contact-form_wrapper .contact-form .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full) {
        padding-left: 15px;
        padding-right: 0;
    }
    .contact-form_wrapper .contact-form .ginput_container_address span {
        padding-left: 15px;
        padding-right: 15px;
    }
    .contact-form_wrapper .contact-form .ginput_container_address {
        margin-left: -15px;
        margin-right: -15px;
    }
    .contact-form_wrapper .contact-form .gform_body textarea {
        margin: 0 0 10px 0;
        padding: 15px 20px 0 20px;
        height: 180px;
        font-size: 18px;
    }
    .contact-form_wrapper .contact-form .gform_body input {
        margin: 0 0 20px 0;
        padding: 0 20px;
        height: 65px;
        font-size: 18px;
    }
    .contact-form_wrapper .contact-form .gform_fields {
        grid-column-gap: 30px;
    }

}

@media screen and (max-width: 767px) {

    br {
        display: none;
    }

    .contact-form_wrapper .contact-form .gform-footer .gform_button{
        padding: 12px 30px;
        font-size: 16px;
    }
}

@media screen and (max-width: 640px) {
    .contact-form_wrapper .contact-form .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full) {
        padding-right: 0;
    }
    .contact-form_wrapper .contact-form .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full) {
        padding-left: 0;
        padding-right: 0;
    }
    .contact-form_wrapper .contact-form .ginput_container_address {
        margin-left: 0;
        margin-right: 0;
    }
    .contact-form_wrapper .contact-form .ginput_container_address span {
        flex: 0 0 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .contact-form_wrapper .contact-form .gform_fields{
        grid-row-gap: 0 !important;
    }

    .contact-form_wrapper .contact-form .gform_body textarea {
        margin: 10px 0 10px 0;
    }
}

@media screen and (max-width: 575px) {

    .blog-content h1.wp-block-heading,
    .blog-content h3.wp-block-heading {
        font-size: 20px !important;
        margin: 20px 0 !important;
    }
}

/* ======= Responsive CSS: End ======= */