@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
/* Root  */
:root{
    --regular: "Plus Jakarta Sans", sans-serif;
    --color1: #A31E21;
    --color2: #C59540;
    --color3: #E9E3D5;
    --bg: #F8F7F5;
    --gray: #F5F5F5!important;
    --text: #1D1D1E;
    --white: #fff;
}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    font-family: var(--regular)!important;
    background-color: var(--bg)!important;
    color: #000;
}
.cap {
    text-transform: uppercase;
}
.container-box{
    max-width: 1300px;
    margin: 0 auto;
}
section{
    padding: 80px 5vw 80px 5vw;
    position: relative;
}
.theme-btn{
    background-color: var(--color1);
    font-family: var(--regular);
    color: var(--color3)!important;
    padding: 13px 30px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    text-transform: uppercase;
    border-radius: 40px;
    height: fit-content;
    width: fit-content;
    transition: .3s;;
}
.theme-btn img{
    position: absolute;
    width: 93px;
    bottom: -36px;
    right: 19px;
    transition: .3s;
}
.theme-btn:hover img{
    filter: brightness(0.7);
}
.theme-btn:hover{
    background-color: #620A1A;
    text-decoration: none;
    cursor: pointer;
}
.secondary-btn{
    background-color: var(--color2);
    font-family: var(--regular);
    color: #ffffff !important;
    padding: 13px 30px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    text-transform: uppercase;
    border-radius: 40px;
    height: fit-content;
    width: fit-content;
    cursor: pointer;
    transition: .3s;
}
.secondary-btn:hover{
    background-color: #1D1D1D;
    text-decoration: none;
    cursor: pointer;
}
.display-flex{
    display: flex;
    gap: 12px;
    justify-content: center;
}
nav{
    margin: auto;
    z-index: 9999;
    width: 100%;
}
.navbar-nav{
    gap: 20px;
}
nav img{
    width: 260px;
}
.navbar-nav li a{
    font-size: 15px;
    color: var(--color1);
    font-weight: 700;
    text-transform: uppercase;
}
.navbar{
    position: absolute !important;
    left: 50%;
    transform: translate(-50%, 0px);
    padding: 2px 20px!important;
    background: var(--color3);
    border-radius: 15px;
    top: 15px;
    width: 96%;
}
.navbar-nav .nav-link.theme-btn {
    padding-right: 20px !important;
    padding-left: 20px !important;
}
.collapse.navbar-collapse{
    justify-content: end;
}
.container-box{
    max-width: 1260px;
    margin: auto;
}
.carousel-item img{
    height: 100vh;
    object-fit: cover;
}
.logo-mobile{display: none;}
.text-h2{
    font-size: 45px;
    font-weight: 700;
    color: var(--color1);
    line-height: 55px;
}
.text-h3{
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--dark);
}
.text-h3 span{
    width: 3px;
    height: 3px;
    background: var(--dark);
}
.box-center{
    display: flex;
    justify-content: center;
    gap: 13px;
}
.text-center{
    display: grid;
    width: 62%;
    margin: 0 auto 40px
}
/* End of Root */

/* Header */
header{
   position: relative;
}
.carousel-content{
    position: absolute;
    top: 56%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
}
.carousel-item h1, .carousel-item h2{
    font-size: 49px;
    line-height: 66px;
    color: #e7e7e7;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}
.block-flex{
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-top: 28px;
}
.ci-3 .carousel-content{
    width: 58%;
}
/* End of Header */

/* About Us */
.about-grid{
    display: grid;
    grid-gap: 40px;
    grid-template-columns: 1fr 1fr;
}
.about-left img{
    width: 85%;
}
.about-right{
    display: grid;
    align-content: center;
    grid-gap: 10px;
}
.about-right p{
    margin-top: 20px;
}
/* End of About Us */

/* Services */
#services{
    background-color: var(--color3);
}
.service-item {
    position: relative;
}
.service-item img{
    width: 100%;
    border-radius: 20px;
}
.service-text{
    background: var(--bg);
    border-radius: 10px;
    position: absolute;
    bottom: -30px;
    padding: 10px 14px;
    box-shadow: 2px 2px 17px #00000017;
}
.service-text h3{
    color: var(--text);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.2px;
    text-align: center;
}
.service-text p{
    color: var(--text);
    margin-bottom: 5px;
    text-align: center;
}
#services .box-center{
    margin-top: 44px;
}
.service-swiper .swiper {
    width: 100%;
    height: 100%;
}
.swiper-wrapper{
    padding-bottom: 50px;
}
/* End of Services */

/* Contact */
#contact{
    background-image: url(./images/contact-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
#contact form{
    width: 495px;
    margin: auto;
    margin-top: 25px;
}
#contact input, #contact textarea{
    border: 1px solid var(--color3);
    background: var(--color3);
    border-radius: 45px;
    padding: 14px 20px;
    font-family: var(--regular);
    font-size: 14px;
    width: 100%;
    margin-bottom: 18px;
    color: var(--color1);
    backdrop-filter: blur(2px);
}
#contact textarea{
     border-radius: 10px;
}
#contact input::placeholder, #contact textarea::placeholder{
    font-family: var(--regular);
    font-size: 14px;
    color: var(--color1);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
#contact button{
    border: none;
}
.contact-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
}
.contact-grid .text-h2{
    color: var(--color3);
    width: 80%;
}
.contact-left{
    display: grid;
    align-content:space-between;
}
.contact-left p{
    color: var(--color3);
    width: 80%;
    font-style: italic;
    line-height: 27px;
    font-weight: 400;
}
/* End of Contact */

/* Project */
.project-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}
.project-item img{
    width: 100%;
    border-radius: 10px;
}
.project-item{
    display: grid;
    gap: 10px;;
}
.project-item h4{
    font-size: 17px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--dark);
    margin: 6px 0;
    font-style: italic;
}
/* End of Project */

/* Footer */
#map{
    height: 450px;
    width: 100%;
}
footer{
    background: var(--dark);
    padding: 30px 0;
}
.contact-items a{
    color: var(--bg);
    font-size: 15px;
    text-align: center;
    width: fit-content;
    display: block;
    margin: auto;
    transition: .3s;
}
.contact-items a:hover{
    color: var(--color2);
    cursor: pointer;
}
.social-grid{
    display: flex;
    justify-content: center;
    gap: 15px;
}
.social-grid a{
    margin: 0;
}
.social-grid a i{
    color: #fff;
    transition: .3s;
    cursor: pointer;
}
.social-grid a:hover i{
    color: var(--color2);
}
.contact-items{
    display: grid;
    gap: 20px;
}
footer h4{
    font-size: 15px;
    font-weight: 500;
    color: #f8f7f5;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 0;
}
/* End of Footer */

/* Responsive */
@media (max-width: 1100px) {
    .carousel-item h1, .carousel-item h2 {
        font-size: 44px;
        line-height: 61px;
    }
    .carousel-content{width: 70%;}
    .carousel-item img {height: 95vh;}
    .text-h2 { font-size: 33px; font-weight: 700;}
    .about-right p {margin-top: 0;}
    .about-grid{grid-gap: 0;}
    .project-grid{gap: 20px;}
}
@media (max-width: 991px) {
    .navbar{height: 70px;}
    .navbar-brand{left: 8px;position: absolute;}
    .navbar-toggler{position: absolute;  right: 7;  top: 16px;}
    nav img { width: 230px;}
    .text-h2{line-height: 46px;}
    .text-center{width: 68%;}
    .navbar-toggler{right: 12px;}
    .navbar-toggler-icon img {width: 37px;}
}
@media (max-width: 900px) {
    .carousel-content {width: 80%;}
    .navbar-collapse{
        background: var(--color3);
        padding: 20px 20px;
        border-radius: 10px;
        top: 77px;
        position: relative;
    }
}
@media (max-width: 800px) {
    .about-grid{grid-template-columns: 1fr;}
    .about-left{order: 2;}
    .about-right{order: 1;}
    .about-left img {width: 70%;margin: 65px auto 0 auto;display: block;}
    .text-center {width: 84%;}
    .contact-grid{grid-template-columns: 1fr;}
    #contact form {  width: 100%;  margin: 0;  margin-top: 0px;}
    .project-grid {grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 576px) {
    .carousel-content {width: 88%;}
    .carousel-item h1, .carousel-item h2 {font-size: 37px;}
    section { padding: 50px 5vw 50px 5vw;}
    .about-left img {width: 100%;margin: 35px auto 0 auto;}
    .ci-3 .carousel-content { width: 88%;}
    .text-center{margin-bottom: 24px;}
    .service-text{width: 100%;}
    .service-text h3{font-size: 22px;}
    .service-text p{font-size: 19px;}
}
@media (max-width: 425px) {
    .carousel-item h1, .carousel-item h2 {font-size: 27px;line-height: 43px;}
    .block-flex {display: grid;}
    section {padding: 35px 5vw 35px 5vw;}
    .text-h2 {font-size: 25px; line-height: 36px;}
    #services .box-center{display: grid;}
    #services .theme-btn{margin: auto;}
    #services .box-center { margin-top: 22px;}
    .contact-grid .text-h2{width: 100%;}
    .contact-left p{width: 100%;}
    footer h4{line-height: 22px; padding: 0 38px;}
}
/* End of Responsive */