/*==================================================
Google Font
==================================================*/

body{

    font-family:'Poppins',sans-serif;

    font-size:15px;

    font-weight:400;

    color:#555;

    line-height:1.8;

    overflow-x:hidden;

}

a{

    text-decoration:none;

    transition:.3s;

}

img{

    max-width:100%;

}

ul{

    margin:0;

    padding:0;

    list-style:none;

}

h1,
h2,
h3,
h4,
h5,
h6{

    margin:0;

    color:#1b2146;

    font-weight:700;

}

p{

    margin-bottom:20px;

}

.container{

    max-width:1320px;

}
/*==================================================
Header
==================================================*/

.main-header{

    position:absolute;

    top:0;
    left:0;

    width:100%;

    background:#fff;

    height:95px;

    z-index:999;

    border-bottom:1px solid #f3f3f3;

}

.main-header .container{

    max-width:1320px;

}

.navbar{

    height:95px;

}

.header-wrapper{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.header-logo{

    width:220px;

}

.header-logo img{

    width:130px;

    height:auto;

}

.header-menu{

    flex:1;

    display:flex;

    justify-content:center;

}

.header-menu .navbar-nav{

    display:flex;

    flex-direction:row;

    gap:42px;

}
.header-menu .nav-link {
    padding: 0;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    color: #111;
    line-height: 95px;
}

.header-menu .nav-link.active,

.header-menu .nav-link:hover{

    color:#ef2b2d;

}

.header-right{

    width:310px;

    display:flex;

    justify-content:flex-end;

    align-items:center;

    gap:28px;

}

.appointment-btn {
    background: #ef2b2d;
    color: #fff;
    padding: 10px 30px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 9px;
    white-space: nowrap;
}

.appointment-btn:hover{

    background:#d71f1f;

    color:#fff;

}

.header-phone{

    display:flex;

    align-items:center;

    gap:12px;

}

.header-phone i{

    color:#ef2b2d;

    font-size:28px;

}

.header-phone span{

    display:block;

    color:#888;

    font-size:12px;

    margin-bottom:0px;

}

.header-phone a{

    color:#111;

    font-size:16px;

    font-weight:700;

}

.navbar-brand img{

    width:120px;

}

.navbar-toggler{

    border:0;

    box-shadow:none!important;

    font-size:32px;

}


/*==================================================
Hero Slider
==================================================*/

.hero-section{

    position:relative;

    margin-top:95px;

}

.hero-section .carousel-item{

    position:relative;

    height:610px;

}

.hero-section img{

    width:100%;

    height:610px;

    object-fit:cover;

}

.hero-overlay{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:100%;

    background:rgba(0,0,0,.10);

}

.hero-section .carousel-caption{

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    bottom:auto;

    width:100%;

    max-width:900px;

}

.hero-section h1{

    font-size:54px;

    color:#fff;

    font-weight:700;

    margin-bottom:18px;

}

.hero-section p{

    color:#fff;

    font-size:18px;

    margin-bottom:32px;

    font-weight:400;

}

.hero-btn{

    background:#ef2b2d;

    color:#fff;

    padding:15px 38px;

    border-radius:0;

    text-transform:capitalize;

    font-size:16px;

    font-weight:600;

}

.hero-btn:hover{

    background:#d71f1f;

    color:#fff;

}

.hero-arrow{

    width:44px;

    height:44px;

    background:#1b2146;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:18px;

}

.carousel-control-prev{

    width:6%;

}

.carousel-control-next{

    width:6%;

}

.carousel-indicators{

    bottom:22px;

}

.carousel-indicators button{

    width:11px !important;

    height:11px !important;

    border-radius:50%;

    margin:0 5px;

}

.carousel-indicators .active{

    background:#ffffff;

}


/*==================================================
About Section
==================================================*/

.about-section{

    padding:90px 0;

    background:#ffffff;

}

.about-image{

    text-align:center;

}

.about-image img {
    max-width: 460px;
    width: 100%;
    height: auto;
    object-fit: inherit;
    border: solid 2px #000;
    border-radius: 6px;
    margin-top: 50px;
}

.about-content{

    padding-left:40px;

}

.section-subtitle{

    display:block;

    color:#ef2b2d;

    font-size:16px;

    font-weight:600;

    margin-bottom:10px;

}

.section-title{

    font-size:45px;

    font-weight:700;

    color:#1d2146;

    margin-bottom:28px;

    font-family:Georgia, serif;

}

.about-content p{

    color:#666;

    font-size:15px;

    line-height:30px;

    margin-bottom:22px;

}

.btn-read-more{

    background:#ef2b2d;

    color:#fff;

    padding:14px 32px;

    font-size:14px;

    font-weight:600;

    border-radius:10px;

    text-transform:capitalize;

    margin-top:10px;

}

.btn-read-more:hover{

    background:#d71f1f;

    color:#fff;

}

.section-title{

    font-family:'Playfair Display',serif;

}


/*==================================================
Services Section
==================================================*/

.services-section{

    padding:90px 0;

    background:#fff;

}

.services-section .section-title{

    margin-bottom:10px;

}

.service-box{

    background:#fff;

    border:1px solid #f7dcdc;

    border-radius:6px;

    min-height:220px;

    padding:45px 30px;

    text-align:center;

    transition:.35s;

}

.service-box:hover{

    transform:translateY(-8px);

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    border-color:#ef2b2d;

}

.service-box img{

    height:62px;

    margin-bottom:28px;

}

.service-box h4{

    font-size:24px;

    color:#1b2146;

    line-height:34px;

    font-family:'Playfair Display', serif;

    font-weight:700;

    margin:0;

}

.btn-services{

    background:#ef2b2d;

    color:#fff;

    margin-top:60px;

    padding:14px 40px;

    border-radius:10px;

    font-size:14px;

    font-weight:600;

}

.btn-services:hover{

    background:#d71f1f;

    color:#fff;

}


/*==================================================
WHY US
==================================================*/

.why-us-section{

    background:#1d203d;

    padding:80px 0 120px;

    position:relative;

    overflow:hidden;
	
	background-image: url(../images/bg1.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

}

.why-content{

    padding-right:40px;

}

.why-content h2{

    color:#fff;

    font-size:46px;

    margin-bottom:22px;

}

.why-content .intro{

    color:#d9d9d9;

    font-size:16px;

    line-height:24px;

    margin-bottom:28px;

}

.why-item{

    margin-bottom:24px;

}

.why-item h5{

    color:#fff;

    font-size:16px;

    font-weight:700;

    margin-bottom:10px;

}

.why-item p{

    color:#d8d8d8;

    font-size:16px;

    line-height:23px;

    margin:0;

}

.why-image{

    text-align:right;

}

.why-image img{

    width:520px;

    border-radius:6px;

}

.emergency-box{

    margin-top:15px;

    background:#ff2020;

    color:#fff;

    display:flex;

    align-items:center;

    gap:18px;

    padding:18px 25px;

    width:420px;

    border-radius:8px;

    z-index:20;

}

.phone-icon{

    width:55px;

    height:55px;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

}

.emergency-box small{

    display:block;

    font-size:12px;

}

.emergency-box h3{

    margin:0;

    color:#fff;

    font-size:28px;

}

.dot-pattern{

    position:absolute;

    right:70px;

    bottom:30px;

    width:150px;

    height:40px;

    background-image:radial-gradient(rgba(255,255,255,.35) 1px, transparent 1px);

    background-size:8px 8px;

    opacity:.4;

}


/*==================================================
FOOTER
==================================================*/

.main-footer{

    position:relative;

    background:#1d203d;

}

.footer-top{

    padding:70px 0 55px;

    background:#1d203d;

}

.footer-logo img{

    width:250px;

    background:#fff;

    padding:12px;

    border-radius:4px;

}

.footer-widget h4{

    position:relative;

    color:#fff;

    font-size:20px;

    font-weight:700;

    margin-bottom:35px;

    padding-left:16px;

}

.footer-widget h4:before{

    content:"";

    position:absolute;

    left:0;

    top:4px;

    width:3px;

    height:26px;

    background:#ffffff;

}

.footer-widget ul{

    margin:0;

    padding:0;

    list-style:none;

}

.footer-widget ul li{

    margin-bottom:22px;

}

.footer-widget ul li a{

    color:#fff;

    font-size:16px;

}

.footer-widget ul li a:hover{

    color:#ef2b2d;

}

.footer-widget p{

    color:#fff;

    font-size:16px;

    margin-bottom:28px;

}

.footer-widget p a{

    color:#fff;

}

.footer-bottom{

    background:#111325;

    padding:18px 0;

    text-align:center;

}

.footer-bottom p{

    color:#fff;

    margin:0;

    font-size:14px;

}

.scroll-top{

    position:fixed;

    right:25px;

    bottom:25px;

    width:52px;

    height:52px;

    border-radius:50%;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#111;

    box-shadow:0 10px 25px rgba(0,0,0,.2);

    z-index:999;

}

.scroll-top:hover{

    background:#ef2b2d;

    color:#fff;

}


/*==================================================
Page Banner
==================================================*/

.page-banner{

    position:relative;

    height:280px;

    margin-top:95px;

    background:url('../images/bg1.jpg') center center;

    background-size:cover;

    background-repeat:no-repeat;

    overflow:hidden;

}

.banner-overlay{

    position:absolute;

    inset:0;

    background:rgba(29,32,61,.45);

}

.page-banner-content{

    position:relative;

    z-index:2;

    height:280px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

}

.page-banner-content h1{

    color:#fff;

    font-size:65px;

    font-weight:700;


    margin:0;

}

/* Optional Breadcrumb */

.breadcrumb{

    margin-top:18px;

    background:none;

}

.breadcrumb-item{

    color:#fff;

    font-size:16px;

}

.breadcrumb-item a{

    color:#fff;

}

.breadcrumb-item.active{

    color:#ef2b2d;

}

.breadcrumb-item + .breadcrumb-item::before{

    color:#fff;

}


/*==================================================
Who We Are
==================================================*/

.who-we-are{

    padding:95px 0;

    background:#fff;

}

.about-page-image{

    border:1px solid #2b2b2b;

    border-radius:10px;

    overflow:hidden;

}

.about-page-image img{

    width:100%;

    display:block;

}

.about-page-content{

    padding-left:55px;

}

.about-page-content .section-subtitle{

    display:block;

    color:#ff2a20;

    font-size:18px;

    font-weight:600;

    margin-bottom:12px;

}

.about-page-content h2{

    font-size:46px;

    font-weight:700;

    color:#1d2146;

    margin-bottom:28px;

    line-height:1.1;

}

.about-page-content p{

    color:#4c5572;

    font-size:15px;

    line-height:2;

    margin-bottom:28px;

}
}


/*==================================================
Services Page
==================================================*/

.services-page{

    padding:90px 0 100px;

    background:#fff;

}

.services-page .section-title{

    margin-bottom:10px;

}

.service-card{

    border:1px solid #f6dede;

    border-radius:6px;

    padding:40px 28px;

    height:100%;

    transition:.3s;

    background:#fff;

}

.service-card:hover{

    border-color:#ef2b2d;

    transform:translateY(-5px);

}

.service-icon{

    margin-bottom:22px;

    text-align:center;

}

.service-icon img{

    height:48px;

}

.service-card h4 {
    
    line-height: 42px;
    color: #1d2146;
    text-align: center;
    margin-bottom: 7px;
    font-size: 20px;
    font-weight: 700;
   
    font-family: 'Playfair Display',serif;
}
.service-card p {
    color: #5f6273;
    font-size: 14px;
    line-height: 28px;
    margin: 0;
    text-align: center;
}

/*==================================================
Contact Section
==================================================*/

.contact-section{

    padding:90px 0;

    background:#fff;

}

.contact-info,

.contact-form{

    background:#fff;

    border-radius:8px;

    padding:55px;

    box-shadow:0 15px 15px rgba(0,0,0,.08);

    height:100%;

}

.contact-info h2,

.contact-form h2{

    text-align:center;

    font-size:35px;

    color:#1d2146;

    margin-bottom:45px;

}


/*==================================================
Appointment Section
==================================================*/

.appointment-section{

    padding:90px 0 100px;

    background:#fff;

}

.page-title{

    font-size:62px;

    color:#1d2146;

    margin-bottom:18px;

}

.appointment-breadcrumb{

    background:#f7f7f7;

    padding:14px 18px;

    margin-bottom:45px;

    font-size:15px;

}

.appointment-breadcrumb a{

    color:#1696ff;

    text-decoration:none;

}

.appointment-breadcrumb span{

    margin:0 8px;

    color:#777;

}

.appointment-desc{

    font-size:20px;

    color:#333;

    margin-bottom:45px;

}

.appointment-section label{

    display:block;

    margin-bottom:10px;

    color:#444;

    font-size:16px;

}

.appointment-section .form-control{

    height:52px;

    border:1px solid #dcdcdc;

    border-radius:0;

    box-shadow:none;

    font-size:15px;

}

.appointment-section textarea.form-control{

    height:230px;

    resize:none;

}

form .appointment-btn{

    background:#ff2020;

    color:#fff;

    padding:15px 40px;

    border-radius:3px;

    font-size:16px;

    font-weight:600;

}

.appointment-btn:hover{

    background:#d81d1d;

    color:#fff;

}



.contact-box{

    display:flex;

    align-items:center;

    gap:20px;

    padding:28px 0;

    border-bottom:1px solid #ededed;

}

.contact-box:last-child{

    border-bottom:0;

}
.contact-icon {
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .08);
    align-items: center;
    justify-content: center;
    padding: 6px 16px;
    display: flex;
}

.contact-icon i{

    color:#ff2b2b;

    font-size:28px;

}

.contact-box h5{

    color:#1d2146;

    font-size:20px;

    margin-bottom:8px;

}

.contact-box a{

    color:#5d6278;

    font-size:16px;

}

.contact-form label{

    font-size:17px;

    color:#555;

    margin-bottom:10px;

    display:block;

}

.contact-form .form-control{

    height:58px;

    border-radius:4px;

    border:1px solid #dddddd;

    box-shadow:none;

}

.contact-form textarea.form-control{

    height:auto;

}

.contact-btn{

    background:#ff2020;

    color:#fff;

    padding:16px 42px;

    border-radius:4px;

    font-size:18px;

    font-weight:600;

}

.contact-btn:hover{

    background:#d91d1d;

    color:#fff;

}

#appointmentMessage{

    margin-bottom:25px;

}

#appointmentMessage .alert{

    border-radius:4px;

    padding:15px 18px;

}