@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700&display=swap");

*,
*::before,
*::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
    background-color: #212529;
}

body {
    font-family: 'Poppins', sans-serif;
    font-size: 1.7rem;
    color: #231f20;
    font-weight: 400;
    line-height: 1.7;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

a {
    text-decoration: none;
    transition: all .3s ease-in-out !important;
}

.container {
    max-width: 132rem;
}

.bg-dark {
    background-color: transparent !important;
}

@media (max-width: 767.98px) {
    .shortcut-btns {
        display: none;
    }
}

.shortcut-btns {
    position: fixed;
    bottom: 6rem;
    right: 2rem;
    z-index: 999;
}

.shortcut-btns #btnPhone {
    transform: rotate(-90deg);
    transition: all .5s ease-in-out !important;
}

.shortcut-btns #btnScrollTop {
    margin-top: 1rem;
    transition: all .5s ease-in-out !important;
}

.shortcut-btns #btnPhone,
.shortcut-btns #btnScrollTop {
    display: block;
    width: 5rem;
    height: 5rem;
    color: #efefef;
    background-color: #771031;
    border: 1px solid #600c26;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
}

.shortcut-btns #btnPhone:hover {
    transform: rotate(270deg) !important;
}

.shortcut-btns #btnScrollTop:hover {
    transform: rotate(360deg) !important;
}

.shortcut-btns #btnPhone:hover,
.shortcut-btns #btnScrollTop:hover {
    color: #fff !important;
    background-color: #600c26;
    border: 1px solid #600c26;
}

.nav-link {
    color: rgba(255, 255, 255, 0.7);
}

.nav-link:focus,
.nav-link:hover {
    color: #fff;
}

.navbar-toggler {
    padding: 0;
    border: none !important;
}

.navbar-toggler:active,
.navbar-toggler:focus {
    border: none !important;
    box-shadow: none !important;
}

.navbar-toggler-icon {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    width: 2.5rem;
    transition: transform .3s ease-in-out;
}

.navbar-toggler-icon:hover {
    transform: rotate(180deg);
}

.sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgb(119, 16, 49, 0.96);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.4);
    z-index: 999;
}

nav.navbar>.container {
    padding: 0 2rem;
}

.footer-widget .active {
    color: #fff;
    font-weight: 500;
}

.navbar-nav .nav-link:last-child {
    padding-right: 0;
}

#section-quote .container {
    padding: 0 2rem;
}

.vspacer {
    display: none;
}

@media (max-width: 991.98px) {
    .logo {
        width: 144px;
        height: 38px;
    }

    .navbar-collapse .navbar-nav a {
        text-align: center !important;
        margin: 10px 0;
    }

    .navbar-collapse .navbar-nav {
        margin: 40px 0 20px;
    }

    .col-lg-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .navbar-nav .nav-link {
        padding: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .logo {
        width: 144px;
        height: 38px;
    }

    #section-products h2.title,
    #section-about-us h2.title,
    #section-why-us h2.title,
    #section-services h2.title,
    #section-testimonials h2.title,
    #section-contact-us h2.title,
    #section-services-page h2.title {
        font-size: 4.2rem !important;
    }

    #section-quote {
        text-align: center;
    }

    #section-quote .text-end {
        display: flex;
        justify-content: center;
        margin-top: 2rem;
    }

    h4.quote-title {
        font-size: 3.6rem;
        margin-bottom: 2rem;
    }

    .navbar-collapse .navbar-nav a {
        text-align: center !important;
        margin: 10px 0;
    }

    .navbar-collapse .navbar-nav {
        margin: 40px 0 20px;
    }

    .col-lg-3 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .copyright,
    .copyright span {
        display: block !important;
        text-align: center;
    }

    .vspacer {
        display: block;
        height: .4rem;
    }
}

@media (max-width: 575.98px) {
    .logo {
        width: 144px;
        height: 38px;
    }

    #section-products h2.title,
    #section-about-us h2.title,
    #section-why-us h2.title,
    #section-services h2.title,
    #section-testimonials h2.title,
    #section-contact-us h2.title,
    #section-services-page h2.title {
        font-size: 3.4rem !important;
    }

    .navbar-collapse .navbar-nav a {
        text-align: center !important;
        margin: 10px 0;
    }

    .navbar-collapse .navbar-nav {
        margin: 40px 0 20px;
    }

    .col-lg-3 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* Testimonials */
.testimonials svg {
    color: #fdc102;
}

.testimonials .item .container {
    height: 27rem !important;
}

#review-us {
    display: flex !important;
    justify-content: center !important;
    margin-top: 2rem;
    margin-left: 0 !important;
}

#review-us a {
    display: flex;
    gap: 4px;
    align-items: center;
    justify-content: center;
    padding: 1rem 1.8rem;
    font-size: 1.5rem;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 1px;
    color: #fff;
    background-color: #427fed;
    border-radius: 2rem;
    box-shadow: rgba(0, 0, 0, .16) 0 1px 4px;
    -webkit-transition: .3s;
    -ms-transition: .3s;
    transition: all .3s ease;
}

#review-us a:hover {
    transform: translateY(-2px) !important;
    background-color: #2d64e2;
    box-shadow: rgba(0, 0, 0, .24) 0 3px 8px;
}

#review-us a>svg {
    background-color: #fff;
    border-radius: 5rem;
    padding: 2px;
}

.rounded-4 {
    padding: 30px !important;
}

.footer {
    position: relative;
    padding: 5rem 0 3rem 0;
    background-color: #22252b;
}

.footer .row {
    padding-bottom: 0 !important;
}

.footer ul {
    list-style: none;
    padding-left: 0;
}

.footer ul li {
    line-height: 1.9;
}

.footer,
.footer a {
    font-weight: 300;
    color: #d2D3D5;
}

.links-list a,
a#tel,
.social-links a li,
.copyright a {
    transition: all .3s !important;
}

.links-list a:hover,
.copyright a:hover,
a#tel:hover {
    color: #fff;
}

#email {
    font-size: 1.6rem;
}

.social-links a:hover li {
    color: #fff;
    background-color: #771031;
    transform: translateY(-4px) !important;
}

.auto-container {
    position: static;
    max-width: 132rem;
    padding: 0 1.5rem;
    margin: 0 auto;
}

.widget-title h4 {
    font-size: 2rem;
    margin-bottom: 2rem;
}

.footer .social-links {
    display: flex;
    gap: 1rem;
}

.footer .social-links li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5rem;
    height: 5rem;
    color: #efefef;
    background-color: #2C313D;
    border: 1px solid #12151c;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
}

/* background-color: #771031;
border: 1px solid #600c26; */

#g-map {
    margin-bottom: -9px;
}

.logo,
.footer-logo img {
    transition: all .3s;
}

.logo:hover,
.footer-logo img:hover {
    transform: translateY(-2px) !important;
}

.footer-column {
    margin-top: 3rem;
}

/* .navbar {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
} */

#section-services,
#section-why-us {
    background-color: rgba(189, 38, 38, 0.05) !important;
}

#section-products .row,
#section-services .row {
    padding-top: 8rem !important;
    padding-bottom: 4rem !important;
}

#section-contact-us .container {
    padding-left: 2rem;
    padding-right: 2rem;
}

#section-contact-us .container .row {
    margin-left: 0;
    margin-right: 0;
}

/*@media (max-width: 767.98px) {*/
/*    #section-contact-us .container .row .col-md-8.col-sm-12 {*/
/*        padding-left: 0;*/
/*        padding-right: 0;*/
/*    }*/
/*}*/

#section-about-us .row,
#section-contact-us .row,
#section-services-page .row,
#section-products-page .row,
#section-404 .row {
    padding-top: 4rem !important;
    padding-bottom: 8rem !important;
}

#section-testimonials .row,
#section-quote .row,
#section-why-us .row {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
}

#section-products h2.title,
#section-about-us h2.title,
#section-why-us h2.title,
#section-services h2.title,
#section-testimonials h2.title,
#section-contact-us h2.title,
#section-services-page h2.title {
    color: #232A34;
    font-size: 5.6rem;
    font-weight: bold;
    text-transform: uppercase;
}

#section-products-page h2.title {
    color: #232A34;
    font-size: 3.6rem;
    font-weight: bold;
    text-transform: uppercase;
}

#section-products .subtitle,
#section-services .subtitle,
#section-testimonials .subtitle,
#section-services-page .subtitle {
    font-size: 1.3rem;
    color: #232a34bf;
    font-weight: 600;
    font-style: normal;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    opacity: 0.9;
    margin-bottom: 1.8rem;
}

#section-products .columns-wrap,
#section-services .columns-wrap,
#section-services-page .columns-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    grid-template-rows: 1fr;
}

#section-products-page .columns-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-template-rows: 1fr;
}

#section-products-page .mtop {
    margin-top: 7rem;
}

#section-products .card,
#section-services .card,
#section-services-page .card,
#section-products-page .card {
    position: relative;
    width: 40rem;
    background: #fff;
    border: none;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    transition: all .3s;
}
    
#section-why-us .show-mobile {
    display: none;
}

#section-why-us .show-both {
    display: block;
}
    
#section-about-us p.welcome-text {
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.2rem;
    opacity: 1;
}

@media (max-width: 767.98px) {
    #section-about-us h2,
    #section-why-us h2 {
        font-size: 3rem !important;
        text-align: center;
    }
    
    #section-about-us .col-md-5.col-sm-12,
    #section-about-us .col-md-7.col-sm-12,
    #section-contact-us .col-md-4.col-sm-12 {
        padding: 0 2rem !important;
    }
    
    #section-contact-us .col-md-4.col-sm-12 {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    #section-about-us .col-md-5.col-sm-12 .img-chip,
    #section-about-us .col-md-7.col-sm-12 span,
    #section-why-us .col-md-5.col-sm-12 .img-chip,
    #section-why-us .col-md-7.col-sm-12 span,
    #section-about,
    #section-contact {
        display: none;
    }   
    
    .breadcrumb-main {
        padding-top: 10rem !important;
        margin-top: 0 !important;
    }
    
    #section-about-us .row,
    #section-contact-us .row {
        padding-top: 2rem !important;
        padding-bottom: 4rem !important;
    }
    
    #section-why-us .show-mobile {
        display: block;
    }
    
    #section-why-us .hide-mobile {
        display: none;
    }
    
    #section-about-us .show-both img,
    #section-why-us .show-mobile img {
        height: 200px;
        object-fit: cover;
    }
    
    #section-about-us .show-both>div,
    #section-why-us .show-mobile>div {
        padding-bottom: 2rem !important;
    }
    
    #section-about-us p.welcome-text {
        font-size: 1.3rem;
        color: #232a34bf;
        font-weight: 700;
        text-align: center;
        text-transform: uppercase;
    }
    
    #section-products-page h3.title {
        font-size: 2.4rem;
        padding-left: 0px;
        padding-right: 0px;
        margin-left: 0px !important;
        text-align: center;
    }
    
    #section-products .columns-wrap,
    #section-services .columns-wrap,
    #section-services-page .columns-wrap,
    #section-products-page .columns-wrap {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }

    #section-products .card,
    #section-services .card,
    #section-services-page .card,
    #section-products-page .card {
        width: 34rem;
    }
}

#section-products .card:hover,
#section-services .card:hover,
#section-services-page .card:hover,
#section-products-page .card:hover {
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 20px;
    transform: translateY(-4px);
}

#section-products .card-info,
#section-services .card-info,
#section-services-page .card-info {
    font-size: 1.6rem;
    color: #5c6164;
    background-color: #fff;
    padding: 3.6rem !important;
    text-align: justify;
    z-index: 1;
}

/* #section-services-page .card-info, */
#section-products-page .card-info {
    width: 100%;
    height: 6rem;
    font-size: 1.6rem;
    color: #fff;
    background-color: rgba(119, 16, 49, 0.8);
    padding: 1.6rem !important;
    transition: height .3s ease-in-out !important;
    text-align: justify;
    z-index: 1;
}

#section-services-page .card-info:hover,
#section-products-page .card-info:hover {
    height: 100%;
}

#section-products-page .product-card {
    width: 30rem;
}

.product-card .card-info {
    padding: 2rem !important;
}

h3.title {
    font-size: 2.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.product-title {
    font-size: 2rem;
    color: rgba(255, 255, 255, 0.9) !important;
    text-shadow: 1px 1px 2px black;
    /* line-height: 1.214em; */
    margin: 0;
}

.product-item-title,
.service-item-title {
    font-size: 2.8rem;
    color: #232A34;
    line-height: 1.214em;
    margin: 0;
}

.quote-title {
    font-size: 4.6rem;
}

.quote-desc {
    font-size: 1.8rem;
    font-weight: 300;
}

.quote-title,
.quote-desc {
    color: #f9f9f9;
}

#section-quote {
    background-color: #771031;
}

#section-quote .row {
    display: flex;
    align-items: center;
}

.quote-btn,
.all-products-btn,
.all-services-btn,
.submit-btn {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    letter-spacing: 2px;
    padding: 1.4rem 3.8rem;
    border-radius: 1rem;
    text-transform: uppercase;
    transition: all .3s;
}

.quote-btn {
    background-color: #231f20;
}

.share-btn-light,
.share-btn-dark {
    transition: all .3s;
}

.share-btn-light:hover {
    transform: translateY(-2px) !important;
    color: rgba(35, 31, 32, 0.8) !important;
}

.quote-btn:hover,
.share-btn-dark:hover {
    transform: translateY(-2px) !important;
    color: rgba(255, 255, 255, 0.8) !important;
    background-color: #131010 !important;
}


.all-products-btn,
.all-services-btn,
.submit-btn {
    background-color: #771031;
    border: none;
}

.all-products-btn:hover,
.all-services-btn:hover,
.submit-btn:hover {
    transform: translateY(-2px) !important;
    color: rgba(255, 255, 255, 0.8);
    background-color: #600c26;
}

.copyright {
    display: flex;
    justify-content: space-between;
    font-size: 1.6rem;
    padding: 1rem 2rem;
    margin-top: 5rem;
    border-radius: 1rem;
    background-color: rgba(255, 255, 255, 0.05);
}

/* ABOUT PAGE */
#section-about,
#section-contact,
#section-404 {
    max-width: 100%;
    /* margin-top: 7.85rem; */
}

#section-about .about-banner,
#section-contact .contact-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Poppins', sans-serif;
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
    background-image: url(../img/banner01.jpg);
    height: 35rem;
    padding-top: 7.85rem;
    background-size: cover;
    background-position: center;
}

#section-about .about-banner .title,
#section-contact .contact-banner .title {
    font-size: 4.6rem;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 1px 1px 1px #000;
    -o-animation: moveDown .7s ease-out .1s;
    -moz-animation: moveDown .7s ease-out .1s;
    -webkit-animation: moveDown .7s ease-out .1s;
    animation: moveDown .7s ease-out .1s;
}

/* #section-about .about-banner .title,
#section-about .about-banner .title {
    text-shadow: 1px 1px 1px #000;
}

#section-about .about-banner .title {
    -o-animation: moveDown .7s ease-out .1s;
    -moz-animation: moveDown .7s ease-out .1s;
    -webkit-animation: moveDown .7s ease-out .1s;
    animation: moveDown .7s ease-out .1s;
} */

.breadcrumb {
    padding-right: 2rem !important;
}

.breadcrumb a {
    transition: all .3s ease-out !important;
}

.breadcrumb a:hover {
    transform: translateY(-1px) scale(1.01);
}

@keyframes moveDown {
    0% {
        opacity: 0;
        -o-transform: translateY(-15rem);
        -moz-transform: translateY(-15rem);
        -webkit-transform: translateY(-15rem);
        transform: translateY(-15rem);
    }

    100% {
        opacity: 1;
        -o-transform: translateY(0);
        -moz-transform: translateY(0);
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* /ABOUT PAGE */

/* input {
    font-size: 1.6rem !important;
} */

i.asterisk {
    font-size: .8rem;
    vertical-align: super;
}

textarea#message {
    height: 15rem;
}

.contact-info {
    font-size: 1.6rem;
    color: #5c6164;
}

.contact-info span {
    display: block;
}

.contact-email {
    margin-top: 1rem;
    margin-bottom: .5rem;
}

.contact-phone a {
    font-size: 2rem;
    font-weight: 500;
}

.contact-email a,
.contact-phone a {
    color: #5c6164;
}

.contact-email,
.contact-phone {
    transition: all .3s ease-out !important;
}

.contact-email a:hover,
.contact-phone a:hover {
    color: #771031 !important;
}

.flag-container {
    position: relative;
    padding: 0;
    margin: 0;
}

.flag-img {
    position: absolute;
    margin-top: 0 !important;
    top: 50%;
    left: 2rem;
    transform: translate(-50%, -50%);
    width: 25px;
    height: 25px;
    filter: none !important;
    transition: none !important;
}

input#phone {
    padding-left: 4rem !important;
}

.form-control {
    font-size: 1.4rem !important;
}

.form-control:focus {
    border: 1px solid #757575;
    outline: 0;
    box-shadow: none;
    background-color: transparent;
}

.office-hours {
    margin-top: 1.6rem;
}

.office-hours h3 {
    font-size: 1.6rem;
    font-weight: 600;
}

p#statusMessage {
    display: none;
}

.status-chip {
    display: inline-block !important;
    padding: 8px 20px !important;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 1px;
    border-radius: 10px;
    text-align: center;
    color: white;
}

.open {
    background-color: #28a745;
}

.closed {
    background-color: #dc3545;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}




