@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;700&family=Open+Sans:wght@400;700&display=swap');
/*=============================================
=                 ROOT                      =
=============================================*/
:root {
    --dark:   #322f31;
    --yellow: #fed130;

    
    --second-font: 'Lora', serif;
    --main-font: 'Open Sans', sans-serif;
}

/*=============================================
=                Essentials                  =
=============================================*/
body {
    font-family: var(--main-font);
    background-color: var(--white);
    color: var(--dark);
    /* -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale; */
}
h1 {font-size: 36px;}
h2 {font-size: 30px;}
h3 {font-size: 24px;}
h4 {font-size: 18px;}

a {transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275) .3s;}
/*=============================================
=                Elements                  =
=============================================*/

/* preloader */
.preloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--white);
    z-index: 99999;
}

#lp-content {
    position: relative;
    min-height: 100vh;
    overflow-x: hidden;
}
.lp-section {
    overflow: hidden;
    padding-top: 60px;
}
.lp-section h2 {
    font-size: 36px;
    font-family: var(--second-font);
    line-height: 48px;
    margin-bottom: 0;
}

/* parallax */
.parallax {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.btn {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    border: none;
    padding: 17px 25px;
    transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275) .3s;
}
.btn:focus {
    box-shadow: none !important;
    outline: none !important;
}
.btn:hover {animation: pulse .3s ease-in-out 0s 1 forwards;}

.btn-warning {
    background-color: var(--yellow);
    border-color: var(--yellow);
    color: var(--dark);
    width: 100%;
    max-width: 250px;
    box-shadow: 0 -3px 0 0 rgba(0,0,0, .2) inset;
}
.btn-dark {
    background-color: var(--dark);
    border-color: var(--dark);
    box-shadow: 0 -3px 0 0 rgb(0,0,0,.6) inset;
    color: var(--yellow);
    width: 100%;
    max-width: 250px;
}


.bg-dark {background-color: var(--dark) !important;}
.bg-warning {background-color: var(--yellow) !important;}
.text-warning {color: var(--yellow) !important;}


/*=============================================
=                Navigation                  =
=============================================*/
.navbar {
    padding: 60px 15px 20px;
    z-index: 99;
}
.navbar-brand {
    max-width: 140px;
    padding: 0;
    margin: 0 0 0 45px;
}
.navbar-brand img {
    max-width: 100%;
    height: auto;
}
.navbar h3,
.lp-footer h3 {
    font-size: 24px;
    font-weight: 600;
    max-width: 75%;
    margin: 0 auto;
}
.navbar__contacts a {
    color: var(--white);
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
}
.navbar__contacts a.tel {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.navbar__contacts a.mail {
    color: var(--yellow);
    text-decoration: underline;
}



/*=============================================
=                   Slide 1                   =
=============================================*/
.showcase {
    position: relative;
    height: 675px;
	min-height: 100vh;
    padding-top: 0;
}
.showcase__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}
.showcase__img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -moz-linear-gradient(top,  rgba(50,47,49,0.8) 0%, rgba(50,47,49,0) 100%);
    background: -webkit-linear-gradient(top,  rgba(50,47,49,0.8) 0%,rgba(50,47,49,0) 100%);
    background: linear-gradient(to bottom,  rgba(50,47,49,0.8) 0%,rgba(50,47,49,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc322f31', endColorstr='#00322f31',GradientType=0 );
}
.showcase__description {
    background-color: var(--yellow);
    padding: 170px 50px 60px;
    line-height: 30px;
}
.showcase__description h3 {
    font-size: 24px;
    font-weight: 700;
    font-family: var(--second-font);
    margin-bottom: 15px;
}
.showcase__description p {
    margin-bottom: 41px;
}



/*=============================================
=                   Slide 2                   =
=============================================*/
.categories h2 {
    margin-top: -11px;
    margin-bottom: 10px;
}
.categories ul {
    color: #999;
    line-height: 24px;
    margin-bottom: 25px;
    padding-left: 60px;
    list-style-type: none;
}
.categories ul li {
    position: relative;
    padding-left: 10px;
}
.categories ul li::before {
    content: "-";
    position: absolute;
    top: 0;
    left: 0;
}

.categories-masonry {
    display: block;
}
.categories-masonry .item {
    margin-bottom: 60px;
    float: left;
    width: 36%;
}
.categories-masonry .item a {display: block;}
.categories-masonry .item img {width: 100%;}
.categories-masonry .item-wide {width: 54%;}
.grid-sizer {width: 5%;}



/*=============================================
=                   Slide 3                   =
=============================================*/
.additional-categories {
    padding-top: 0;
    padding-bottom: 60px;
}
.additional-categories h2 {margin-bottom: 19px;}
.additional-categories__list {
    column-count: 3;
    column-gap: 10px;
    color: #999999;
    line-height: 24px;
}
.additional-categories__list .single-item {
    margin-bottom: 19px;
}
.additional-categories__list .single-item svg {
    min-width: 26px;
    height: 20px;
    margin-right: 10px;
    color: var(--dark);
}


/*=============================================
=                   Slide 4                   =
=============================================*/
.benefits {
    padding-bottom: 60px;
}
.benefits h2 {margin-bottom: 17px;}
.benefits__bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.benefits__bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--dark);
    opacity: .8;
}
.benefits__list {
    column-count: 2;
    font-family: var(--second-font);
    line-height: 24px;
}
.benefits__list--single {
    margin-bottom: 18px;
    font-size: 18px;
}
.benefits__list--single h1 {
    font-size: 48px;
    line-height: 1;
    margin-right: 30px;
}
.benefits__list--single.item-2 {padding-left: 60px;}
.benefits__list--single.item-3,
.benefits__list--single.item-5 {padding-left: 120px;}
.benefits__list .btn {
    font-family: var(--main-font);
    margin-left: 200px;
}

/*=============================================
=                   Slide 5                   =
=============================================*/
.numbers {
    padding-bottom: 60px;
}

.numbers__item {
    font-size: 24px;
    font-family: var(--second-font);
}
.numbers__item .count {
    font-weight: 700;
    font-size: 60px;
    line-height: 48px;
    margin-left: 10px;
    margin-right: 10px;
}
.numbers__item strong {
    font-size: 60px;
    line-height: 48px;
}
.numbers__item svg {
    color: var(--dark);
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -12px;
    margin-right: 40px;
}
.numbers__item.item3 svg {display: none;}

/*=============================================
=                   Slide 6                   =
=============================================*/ 
.gallery h2 {
    margin-bottom: 45px;
}
.gallery__carousel {
    margin: 0 -30px;
}
.gallery__carousel .slick-track {
    display: flex;
    align-items: center;
    margin-bottom: 60px;
}
.gallery__carousel .item {
    padding: 0 30px;
    transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275) .3s;
}
.gallery__carousel .item:hover {
    opacity: .75;
    transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275) .3s;
}
.gallery__carousel .item img {max-width: 255px;}
.gallery__carousel .item.item-wide img {max-width: 410px;}
.gallery__carousel .item.item-small img {max-width: 210px;}
.gallery__carousel .slick-dots {
    margin-bottom: 30px;
}


/* slick arrows */
.slick-arrow {
    cursor: pointer;
    position: absolute;
    z-index: 1;
    top: 50%;
    border: none;
    background-color: transparent;
    z-index: 3;
    padding: 0;
    margin-top: -20px;
    outline: none !important;
    box-shadow: none !important;
    transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275) .3s;
}
.slick-arrow svg {
    width: 24px;
    height: 24px;
    color: var(--dark);
}

.slick-arrow.prev {
    left: 0;
    margin-left: -30px;
}
.slick-arrow.next {
    right: 0;
    margin-right: -30px;
}


.slick-dots {
    display: flex;
    margin: 0;
    padding: 0;
    list-style-type: none;
    align-items: center;
    justify-content: center;
}
.slick-dots li {
    margin: 0 10px;
}
.slick-dots li button {
    min-width: 20px;
    height: 20px;
    background-color: #e1e1e1;
    border: 2px solid var(--dark);
    border-radius: 4px;
    padding: 0;
    text-indent: -99999px;
}
.slick-dots li.slick-active button {background-color: var(--yellow);}
.slick-dots li button:focus,
.slick-dots li button:active {
    outline: none;
    box-shadow: none;
}

/*=============================================
=                   Slide 7                   =
=============================================*/
.steps {
    padding-bottom: 60px;
}
.steps__wrapp--single {
    font-size: 24px;
    font-family: var(--second-font);
    line-height: 30px;
    margin-bottom: 24px;
}
.steps__wrapp--single h2 {
    font-size: 60px;
    font-weight: 700;
    line-height: 49px;
    margin-left: 20px;
}
.steps__wrapp--single svg {
    color: var(--dark);
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -12px;
    margin-right: 40px;
}
.steps__wrapp--single.item3 svg {display: none;}



/*=============================================
=                   Slide 8                   =
=============================================*/
.testimonials {
    height: 435px;
    overflow: visible;
    margin-bottom: 140px;
}
.testimonials__carousel--item {
    border-radius: 10px;
    margin: 0 30px;
    padding: 30px 30px 24px;
    font-size: 16px;
    line-height: 24px;
}
.testimonials__carousel--item .client {margin-bottom: 21px;}
.testimonials__carousel--item .client img {
    min-width: 60px;
    border: 6px solid var(--yellow);
    margin-right: 30px;
}
.testimonials__carousel--item .client h4 {
    font-family: var(--second-font);
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 0;
}



/*=============================================
=                   Slide 9                  =
=============================================*/
.contact-wrapp {
    padding: 60px 60px 30px;
}
.contact-wrapp h3 {
    font-family: var(--second-font);
    font-weight: 700;
    margin-bottom: 28px;
    margin-top: -6px;
}
.contact-wrapp p {
    margin-bottom: 0;
}

.form-group {
    margin-bottom: 30px;
}
.form-control {
    height: 50px;
    padding: 10px 30px;
}
.wpcf7-submit {min-width: 100%;}
.wpcf7-not-valid {border-color: var(--red);}
div.wpcf7-response-output {margin: 0;}
div.wpcf7 .ajax-loader {position: absolute;}



/*=============================================
=                 Footer                      =
=============================================*/
.lp-footer {
    padding-top: 55px;
    font-size: 16px;
}
.lp-footer .navbar-brand img {
    filter: invert(1) brightness(100);
}


/* copyright */
.copyright {
    margin-top: 50px;
    padding: 23px 0;
    text-align: center;
    font-size: 16px;
}
.copyright a {
    color: var(--dark);
    font-weight: 700;
}

.btn-up {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 999;
    display: block;
    width: 45px;
    height: 45px;
    text-decoration: none;
    text-align: center;
    border: 2px solid transparent;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    display: none;
    outline:  none !important;
    box-shadow:  none !important;
}
.btn-up::after {
    content: "";
    position: absolute;
    top: 15px;
    left: 13px;
    width: 15px;
    height: 15px;
    border-top: 3px solid var(--green);
    border-left: 3px solid var(--green);
    transform: rotate(45deg);
}

.btn-up:hover {border-color: var(--yellow);}

/*=============================================
=               Success Page                  =
=============================================*/
.page-template-success-page #lp-content,
.error404 #lp-content {padding-top: 0 !important;}

.page-template-success-page .navbar {
    background-color: var(--yellow);
    padding: 60px 15px;
}
.page-template-success-page .navbar a {color: var(--dark);}
.page-template-success-page .lp-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.success-wrapp a {
    color: var(--dark);
    text-decoration: none;
}

.success-wrapp {
    background-color: var(--white);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    min-height: 100vh;
    font-weight: 400;
}

.success-wrapp h2 {
    font-size: 36px;
    font-weight: 400;
    font-family: var(--second-font);
    margin-bottom: 52px;
}
.success-wrapp h2 a {font-weight: 700;}
.success-wrapp h4 {
    font-size: 18px;
    font-family: var(--second-font);
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 16px;
}
.success-wrapp p {margin-bottom: 25px;}




/*=============================================
=                Error page                  =
=============================================*/
.error-content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--white);
    font-size: 18px;
    min-height: 100vh;
}
.error-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(51,51,51,.2);
}
.error-content h2 {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 0;
}
.error-content h1 {
    font-size: 12vw;
    font-weight: 700;
    margin-bottom: 0;
}
.error-content p {
    margin-bottom: 0;
}
.error-content a {
    font-weight: 600;
    color: var(--white);
    text-decoration: underline;
}
.error404 .navbar,
.error404 .lp-footer {display: none !important;}



::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color:  #919191;
    opacity: 1; /* Firefox */
}
  
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:  #919191;;
}
  
::-ms-input-placeholder { /* Microsoft Edge */
    color:  #919191;;
}




/*=============================================
=           Custom Animation               =
=============================================*/

@keyframes growingL {
    0% {
        transform: scale(0);
        transform-origin: bottom;
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animate-arrow-1 {
    0%{transform:translateX(-40px);opacity: 0;}
    70%,100%{transform:translateX(0px);opacity: 1;}
}
@keyframes animate-arrow-2 {
    0%{transform:translateX(-20px);opacity: 0;}
    70%,100%{transform:translateX(0px);opacity: 0.5;}
}
@keyframes animate-arrow-3 {
    0%{transform:translateX(-10px);opacity: 0;}
    70%,100%{transform:translateX(0px);opacity: 0.3;}
}



@keyframes float_shadow {
	0% {
		box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
		transform: translatey(0px);
	}
	50% {
		box-shadow: 0 25px 15px 0px rgba(0,0,0,0.2);
		transform: translatey(-20px);
	}
	100% {
		box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
		transform: translatey(0px);
	}
}

@keyframes float {
	0% {
		transform: translatey(0px);
	}
	50% {
		transform: translatey(-20px);
	}
	100% {
		transform: translatey(0px);
	}
}

/*=============================================
=           Responsive Elements               =
=============================================*/

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

@media screen and (max-width: 1280px) { 
    
    .parallax {background-attachment: scroll;}

    
    
}

@media screen and (max-width: 1024px) {
    br {display: none;}
    
    .categories {
        padding-bottom: 54px;
    }
    .categories-masonry .item {margin-bottom: 30px;}
    
    .steps__wrapp--single {padding-right: 5%;}

    .testimonials {margin-bottom: 70px;}
}   

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

    .showcase__img,
    .benefits__bg {background-attachment: scroll;}

    .additional-categories__list {column-count: 2;}
    .benefits__list--single {padding-left: 0 !important;}
    .benefits__list .btn {margin-left: 0;}

    .numbers__item {font-size: 18px;}
    .numbers__item .count,
    .numbers__item strong {font-size: 40px;}
    .numbers__item svg {margin-right: 0;}
    .steps__wrapp--single svg {margin-right: 15px;}

    .slick-arrow.prev {margin-left: 0;}
    .slick-arrow.next {margin-right: 0;}
}   


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

@media screen and (max-width: 416px) { 
    .btn-warning,
    .btn-dark {max-width: 100%;}

    .navbar-brand {
        display: block;
        margin: 0 auto 20px;
    }

    .showcase__description {
        padding-top: 200px;
        text-align: center;
    }

    .categories ul {padding-left: 30px;}
    .categories-masonry .item {margin-bottom: 15px;}

    .additional-categories__list,
    .benefits__list {column-count: 1;}
    .benefits__list--single.item-5 {margin-bottom: 28px;}

    .numbers {text-align: center;}
    .numbers .col-12 h2  {padding: 0 11%;}
    .numbers__item svg {display: none;}
    .numbers__item .d-flex {justify-content: center;}

    .gallery__carousel .item {padding: 0 15px;}

    .steps__wrapp--single {margin-bottom: 50px;}
    .steps__wrapp--single svg {
        margin-right: 0;
        transform: rotate(90deg);
        top: 100%;
        left: 50%;
        margin-top: 20px;
    }

    .testimonials__carousel {padding: 0 15px;}
    .slick-arrow.prev {margin-left: 15px;}
    .slick-arrow.next {margin-right: 15px;}

    .contact-wrapp__intro {margin-bottom: 34px;}

    .lp-footer .navbar__contacts a.tel {
        margin-bottom: 20px;
        display: block;
    }
   

    .copyright {
        text-align: center;
        font-size: 16px;
    }


    /* /success */
    .success-wrapp {
        height: 100%;
        padding: 340px 0 460px;
        text-align: center;
    }

    .success-wrapp .left-column {
        padding: 15px 20px;
        margin-bottom: 30px;
    }
    .success-wrapp .right-column {
        padding-left: 0;
    }
}