/**
Theme Name: DF Floor
Author: Blue Winds Media
Author URI: https://www.bluewindsmedia.com
Description: A custom theme for DF Floor Covering, 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: df-floor
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 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 ======= */



/* ======= Header Section CSS: Start ======= */

.header-btn a {
    clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
}

.header-menu nav ul li.current-menu-item a:before {
    content: "";
    width: 14px;
    height: 13px;
    display: block;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><g clip-path="url(%23clip0_1_1533)"><path d="M0.499873 12.5L8.94044 12.5L13.5009 6.31589L8.94044 0.499987L0.500694 0.499987L4.8055 6.31589L0.499873 12.5Z" fill="%23C42A36"/></g><defs><clipPath id="clip0_1_1533"><rect width="13" height="12" fill="white" transform="translate(0.5 0.5)"/></clipPath></defs></svg>');
    background-repeat: no-repeat;
    background-size: contain;
    /* background-color: transparent !important; */
    margin-left: -20px;
}

/* ======= Header Section CSS: End ======= */



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

.footer-main-sec {
    clip-path: polygon(0 0, calc(100% - 100px) 0, 100% 100px, 100% 100%, 0 100%, 0% 50%);
}

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



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

.hero-banner-main-sec {
    clip-path: polygon(100px 0, calc(100% - 100px) 0, 100% 100px, 100% 100%, 0 100%, 0% 60%, 0 100px);
}

.sub-heading h4:before {
    content: "";
    width: 10px;
    height: 10px;
    display: block;
    background: rgba(196, 42, 54, 1);
    position: absolute;
    border-radius: 100%;
    top: 50%;
    transform: translateY(-50%);
    left: 0px;
}

.intro-main-sec .e-con-inner {
    margin-left: 0px;
}

.services-slider .swiper {
    width: 118.75vw;
}

.services-loop-sec img {
    aspect-ratio: 1/1.14;
    object-fit: cover;
}

.services-loop-sec .elementor-widget-image img {
    clip-path: polygon(70px 0, 100% 0, 100% calc(100% - 70px), calc(100% - 70px) 100%, 0 100%, 0 70px);
}

.h-about-img img {
    clip-path: polygon(70px 0, 100% 0, 100% calc(100% - 70px), calc(100% - 70px) 100%, 0 100%, 0 70px);
}

.h-about-img img {
    aspect-ratio: 1/1.15;
    object-fit: cover;
}

.about-box {
    clip-path: polygon(30px 0, calc(100% - 30px) 0, 100% 30px, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%, 0 30px);
}

.cta-textarea .e-con-inner {
    margin-right: 70px;
}

.cta-main-sec {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100px), calc(100% - 100px) 100%, 100px 100%, 0 calc(100% - 100px));
}

.cta-main-sec .curve-image img {
    filter: brightness(0) saturate(100%) invert(0%) sepia(1%) saturate(7459%) hue-rotate(322deg) brightness(81%) contrast(91%);
}

.why-us-col {
    clip-path: polygon(70px 0, 100% 0, 100% calc(100% - 70px), calc(100% - 70px) 100%, 0 100%, 0 70px);
}

.slider-heading h2 {
    display: flex;
    width: max-content;
    white-space: nowrap;
    justify-content: center;
    align-items: center;
    animation: marqueeLeft 45s infinite linear;
}

.slider-heading {
    overflow: hidden;
}

@keyframes marqueeLeft {
    0% {
        transform: translateX(0%);
    }

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

.slider-heading h2>span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-heading h2>span>span {
    text-indent: 50px;
    display: flex;
    align-items: center;
}

.slider-heading h2 {
    white-space: nowrap;
}

.slider-heading h2 span>span:after {
    content: "";
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><g clip-path="url(%23clip0_1_1239)"><path d="M6.61882 -4.95209e-05L0.00012207 6.61865L33.3824 40.0009L40.0011 33.3822L6.61882 -4.95209e-05Z" fill="%23C42A36"/><path d="M0.000976562 30.6397V40H33.4244V30.6397H0.000976562Z" fill="%23C42A36"/><path d="M40.0009 0H30.6406V23.982H40.0009V0Z" fill="%23C42A36"/></g><defs><clipPath id="clip0_1_1239"><rect width="40" height="40" fill="white"/></clipPath></defs></svg>');
    background-size: contain;
    width: 40px;
    height: 40px;
    display: inline-flex;
    margin-left: 50px;
}

.projects-slider .swiper {
    width: 135.14vw;
}

.project-tag {
    clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
}

.projects-loop-sec {
    clip-path: polygon(100px 0, 100% 0, 100% calc(100% - 100px), calc(100% - 100px) 100%, 0 100%, 0 100px);
}

.contact-inner-sec {
    clip-path: polygon(150px 0, 100% 0, 100% 100%, 0 100%, 0 150px);
}

.gfield_label {
    color: rgb(0 0 0 / 70%);
    font-family: Inter;
    font-size: 18px !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: normal;
    margin: 0 !important;
}

.contact-form .gform_wrapper .gform-body.gform_body .gfield input,
.contact-form .gform_wrapper .gform-body.gform_body .gfield textarea {
    padding: 0px;
    border-width: 0 0 1px 0 !important;
    background-color: transparent;
    color: #000;
    font-family: Inter;
    font-size: 18px !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: normal;
    border-color: rgba(0, 0, 0, 0.2);
    border-radius: 0px 0px 0px 0px;
}

.contact-form .gform_wrapper .gform-body.gform_body .gfield input {
    height: 50px !important;
}

.contact-form .gform_wrapper .gform-body.gform_body .gfield input:focus,
.contact-form .gform_wrapper .gform-body.gform_body .gfield textarea:focus {
    box-shadow: none !important;
    border-style: solid !important;
}

.contact-form .gform_wrapper .gform-body.gform_body .gform_fields {
    gap: 60px;
}

.contact-form .gform_wrapper .gform_heading {
    display: none;
}

.contact-form .gform_wrapper .gform-footer {
    padding: 0 !important;
    margin: 60px 0 0 0 !important;
    display: flex;
    justify-content: center;
}

.contact-form .gform_wrapper .gform-footer input {
    margin: 0 !important;
    color: #FFF;
    font-family: Inter;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: normal;
    text-transform: uppercase;
    border-style: none;
    background-color: rgba(196, 42, 54, 1);
    padding: 24px 60px 24px 80px;
    display: flex;
    align-items: center;
    border-radius: 50px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="12" viewBox="0 0 14 12" fill="none"><path d="M0.499507 12.0029L8.94007 12.0029L13.5005 5.81881L8.94007 0.00290108L0.500328 0.00290108L4.80513 5.81881L0.499507 12.0029Z" fill="white"/></svg>');
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: calc(50% - 35px) center;
}

.contact-form .gform_wrapper .gform-footer input:hover {
    background-color: #000 !important
}

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


/* =======  About Page CSS: Start ======= */

.inner-banner-main-sec {
    clip-path: polygon(0 0, calc(100% - 100px) 0%, 100% 100px, 100% 100%, 100px 100%, 0% calc(100% - 100px));
}

.cta-main-sec.white .curve-image img {
    filter: inherit;
}

.service_sec .service:nth-child(odd) {
    margin-top: 150px;
}

.cta_info_inner,
.cta_info_inner_one {
    clip-path: polygon(0px 0px, 100% 0, 100% calc(100% - 100px), calc(100% - 100px) 100%, 0% 100%);
}

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

/*
    Elementor Breakpoint For Responsive Screen : 
    Mobile Portrait   : 767
    Mobile Landscape  : 1024
    Tablet Portrait   : 1200
    Tablet Landscape  : 1400
    Laptop            : 1600
    */

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

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

    .info-col {
        padding-left: 60px !important;
        padding-right: 60px !important;
    }
}

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

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

    .services-slider .elementor-swiper-button-next,
    .projects-slider .elementor-swiper-button-next {
        --arrow-next-right-position: -20px !important;
    }

    .services-slider .swiper {
        width: 123vw !important;
    }

    .services-loop-sec h2 {
        font-size: 34px !important;
    }
}

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

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

    .hero-banner-main-sec {
        clip-path: polygon(80px 0, calc(100% - 80px) 0, 100% 80px, 100% 100%, 0 100%, 0% 60%, 0 80px) !important;
    }

    .cta-main-sec {
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 80px), calc(100% - 80px) 100%, 80px 100%, 0 calc(100% - 80px)) !important;
    }

    .contact-inner-sec {
        clip-path: polygon(100px 0, 100% 0, 100% 100%, 0 100%, 0 100px) !important;
    }

    .service_sec .service:nth-child(odd) {
        margin-top: 80px;
    }
}

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

    .about-box {
        left: -20px !important;
    }
}

@media screen and (max-width: 1400px) {
    .cta-textarea .e-con-inner {
        margin-right: 15px;
    }
}

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

    .contact-inner-sec {
        clip-path: polygon(100px 0, 100% 0, 100% 100%, 0 100%, 0 100px) !important;
    }

    .why-us-col {
        clip-path: polygon(50px 0, 100% 0, 100% calc(100% - 50px), calc(100% - 50px) 100%, 0 100%, 0 50px) !important;
    }

    .projects-loop-sec {
        clip-path: polygon(80px 0, 100% 0, 100% calc(100% - 80px), calc(100% - 80px) 100%, 0 100%, 0 80px) !important;
    }

    .slider-heading h2 span>span:after {
        width: 30px !important;
        height: 30px !important;
    }

    .inner-banner-main-sec {
        clip-path: polygon(0 0, calc(100% - 80px) 0%, 100% 80px, 100% 100%, 80px 100%, 0% calc(100% - 80px)) !important;
    }

    .cta_info_inner,
    .cta_info_inner_one {
        clip-path: polygon(0px 0px, 100% 0, 100% calc(100% - 80px), calc(100% - 80px) 100%, 0% 100%);
    }
}

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

    .contact-form .gform_wrapper .gform-body.gform_body .gform_fields {
        gap: 50px !important;
    }

    .gfield_label,
    .contact-form .gform_wrapper .gform-body.gform_body .gfield input,
    .contact-form .gform_wrapper .gform-body.gform_body .gfield textarea {
        font-size: 16px !important;

    }

    /* .hero-banner-main-sec {
        clip-path: polygon(60px 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%, 0% 60%, 0 60px) !important;
    } */

    .services-loop-sec .elementor-widget-image img {
        clip-path: polygon(40px 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%, 0 40px);
    }

    .why-us-col {
        clip-path: polygon(30px 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%, 0 30px) !important;
    }

    .projects-loop-sec {
        clip-path: polygon(40px 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%, 0 40px) !important;
    }

    .contact-inner-sec {
        clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%, 0 60px) !important;
    }

    .footer-main-sec {
        clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%, 0% 50%);
    }

    .slider-heading h2 span>span:after {
        width: 25px !important;
        height: 25px !important;
    }

    .hero-banner-main-sec,
    .cta-main-sec {
        clip-path: polygon(0 60px, 60px 0, 100% 0, 100% calc(100% - 60px), calc(100% - 60px) 100%, 0 100%) !important;
    }

    .inner-banner-main-sec {
        clip-path: polygon(0 0, calc(100% - 60px) 0%, 100% 60px, 100% 100%, 60px 100%, 0% calc(100% - 60px)) !important;
    }

    .contact-form .gform_wrapper .gform-footer input {
        padding: 20px 40px 20px 60px !important;
        line-height: 1em !important;
    }

    .service_sec .service:nth-child(odd) {
        margin-top: 40px;
    }

    .cta_info_inner,
    .cta_info_inner_one {
        clip-path: polygon(0px 0px, 100% 0, 100% calc(100% - 60px), calc(100% - 60px) 100%, 0% 100%) !important;
    }
}

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

    .footer-main-sec nav ul {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    br {
        display: none;
    }

    .contact-form .gform_wrapper .gform-body.gform_body .gform_fields {
        grid-template-columns: 1fr;
    }

    .contact-form .gform_wrapper .gform-footer input {
        padding: 20px 35px 20px 50px;
        line-height: 1em !important;
    }

    .inner-banner-main-sec {
        clip-path: polygon(0 0, calc(100% - 60px) 0%, 100% 60px, 100% 100%, 60px 100%, 0% calc(100% - 60px)) !important;
    }

    .gform_wrapper.gravity-theme .gfield:not(.gfield--width-full) {
        grid-column: 1/-1;
    }
}

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

    .projects-slider .swiper,
    .services-slider .swiper {
        width: 100% !important;
    }

    .hero-banner-main-sec,
    .cta-main-sec {
        clip-path: polygon(0 60px, 60px 0, 100% 0, 100% calc(100% - 60px), calc(100% - 60px) 100%, 0 100%) !important;
    }

    .service_sec .service:nth-child(odd) {
        margin-top: 0 !important;
    }
}

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