:root {
    --green: #2c4e31;
    --red: #c60808;
    --text : #4e4e4e;
}

html {
    scroll-behavior: auto !important;
}

body {
    font-family: 'Gothic A1', sans-serif;
    font-weight: 500;
    color: var(--text);
}

img {
    max-width: 100%;
}

a {
    color: var(--text);
    text-decoration: underline;
}

.text-red {
    color: var(--red);
}

.text-green {
    color: var(--green);
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
    color: var(--red);
}

.bg-light {
    background-color: #ececec !important;
}

.btn {
    padding: 0.7rem 3rem;
    border-radius: 30px;
    font-weight: 600;
}

.btn-green {
    background-color: var(--green);
    color: white;
}

.btn-green:active {
    background-color: var(--green);
    color: white;
}

.title {
    font-weight: 800;
    font-size: 2rem;
    margin-bottom: 2rem;
}

section {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

header {
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-color: white;
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
}

.navbar-brand img {
    max-width: 100px;
}

.navbar-nav {
    margin-top: 2rem;
}

.head-banner {
    background-color: var(--green);
    color: white;
    padding: 0.6rem 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.9rem;
}

.social a {
    text-decoration: none;
}

.navbar-toggler {
    border: none;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.dropdown-menu {
    border: none;    
}

.dropdown-item {
    color: var(--bs-nav-link-color);
}

.dropdown-item:hover {
    background-color: #EEEEEE !important;
    color: var(--red);
}

.carousel {
    height: 80vh;
}

.carousel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider-caption {
    position: absolute;
    left: 50%;
    top: 50%;
    color: white;
    z-index: 2;
    text-align: center;
    transform: translate(-50%, -50%);
    width: 100%;
}

.slider-caption .container {
    padding-left: 3rem;
    padding-right: 3rem;
}

.slider-caption h1 {
    font-size: 2rem;
    font-weight: 800;
}

.slider-caption p {
    font-size: 1.2rem;
    font-weight: 600;
}

.categorie-slide {
    height: 500px;
    position: relative;
}

.categorie-slide img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: top center;
}

.categorie-caption {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.5);
    color: white;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
}

.reviews {
    background-image: url(/app/img/bg.jpg);
    background-size: cover;
}

.card-review {
    padding: 0 2rem 3rem 2rem;
    background-color: white;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 20px;
}

.card-review h3 {
    font-weight: 800;
    font-size: 2rem;
}

.card-review p {
    font-size: 1.3rem;
}

.card-review small {
    font-size: 0.7rem;
}

.review-picture {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 2rem;
    margin-top: -75px;
    border: 10px solid white;
}

.form-control {
    background-color: #e6e6e6;
    padding: 1rem 1rem;
    border: 1px solid #a1a1a1;
    border-radius: 10px;
}

.form-control:focus {
    border-color: #a1a1a1;
    box-shadow: none;
}

.brands {
    border-bottom: 1px solid #bcbcbc;
    border-top: 1px solid #bcbcbc;
    padding: 2rem 0;
}

footer {
    background-color: #202020;
}

footer img {
    max-width: 200px;
}

footer ul {
    list-style: none;
    padding-left: 0;
}

footer a {
    text-decoration: none;
}

footer .form-control {
    background-color: white;
    border-radius: 0;
    padding: 0.5rem 1rem;
}

.footer-social a {
    width: 35px;
    height: 35px;
    background-color: var(--green);
    color: white;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
}

.copy {
    background-color: #1e1e1e;
    color: white;
}

.phone {
    position: fixed;
    bottom: 15px;
    right: 15px;
    max-width: 70px;
}

.about {
    background-image: url(/app/img/about.jpg);
    background-size: cover;
    background-position: center center;
}

.about-footer {
    background-image: url(/app/img/about-3.jpg);
    background-position: center center;
    background-size: cover;
}

.tools {
    max-width: 200px;
}

.contact {
    background-image: url(/app/img/contact-bg.jpg);
    background-size: cover;
    background-position: center;
}

.catalog {
    background-image: url(/app/img/catalog.jpg);
    background-size: cover;
    background-position: center center;
}

.flagship {
    background-image: url(/app/img/flagship.jpg);
    background-size: cover;
    background-position: center center;
}

.card-product {
    text-decoration: none;
    padding: 2rem;
    transition: all .3s ease;
    display: block;
    color: var(--text);
}

.card-product:hover{    
    box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
}

.card-title {
    text-transform: uppercase;
    font-size: 1rem;
    color: var(--text);
}

.card-brand {
    font-size: 0.9rem;
}

.list-group-item {
    color: var(--text);
}

.active>.page-link, .page-link.active, .page-link:hover {
    background-color: var(--red);
    border-color: var(--red);
    color: white;
}

.page-link {
    color: white;
    background-color: rgb(170 170 170);
}

.page-item {
    margin-right: 1rem;
}

.product-title {
    color: #909091;
    font-size: 1.7rem;
}

.related-title {
    color: #909091;
}

.thumbnails {
    display: flex;
    margin: 1rem auto 0;
    padding: 0;
    justify-content: center;
  }

.thumbnail {
    width: 80px;
    height: 80px;
    overflow: hidden;
    list-style: none;
    margin: 0 0.2rem;
    cursor: pointer;
    border: 1px solid #e4e4e4;
}

.thumbnail img {
    width: 100%;
    height: auto;
}

.product-slide .splide__arrow {
    background-color: transparent;
}

.product-slide .splide__arrow--next {
    right: 0;
}

.product-slide .splide__arrow--prev {
    left: 0;
}

.product-slide i {
    position: absolute;
    right: 0;
    top: 0;
    color: var(--red);
    font-size: 1rem;
    z-index: 2;
}

.product-stars {
    color: #ffc107;
}

.product-stars * {
    display: inline-block;
    margin-right: 0.5rem;
}

.loading-products {
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: white;
    z-index: 99;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.search .form-control {
    border: none;
    background: #e8e8e8;
    border-radius: 0;
}

.search .input-group-text {
    cursor: pointer;
}

@media(min-width:768px) {
    .navbar-brand img {
        max-width: 170px;
    }

    .carousel {
        height: 500px;
    }

    .slider-caption {
        left: 0;
        transform: translateY(-50%);
        text-align: left;
    }

    .slider-caption h1 {
        font-size: 3.5rem;
    }

    .slider-caption p {
        font-size: 1.5rem;
    }

    .slider-caption .container * {
        max-width: 500px;
    }

    section {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .categorie-slide {
        height: 400px;
    }
    
    .brand-image {        
        transform: scale(1.2);
    }

    .about-img {
        float: left;
        margin-right: 4rem;
    }

    .about-img {
        max-width: 400px;
    }

    .about-footer {        
        background-position: center left;        
    }

    .tools {
        transform: scale(1.7);
        margin-top: -70px;
    }

    .product-slide .splide__slide {
        padding: 0 4rem;
    }

    .product-slide i {
        right: 1.5rem;
    }
    
}

@media(min-width:992px) {
    .carousel {
        height: 80vh;
    }

    .navbar-nav {
        margin-top: 0;
    }

    .nav-item {
        margin: 0 0.5rem;
    }

    section {
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }

    .brand-image {
        transform: scale(1);
        margin-top: -110px;
    }

    .reviews {
        margin-top: -100px;
        z-index: -1;
    }

    .tools {
        transform: scale(2);
        margin-top: -70px;
    }

    .dropdown-menu {        
        box-shadow: 0 2px 15px -3px rgba(0,0,0,0.07),0 10px 20px -2px rgba(0,0,0,0.04);
    }

    .dropdown-item {
        padding: 0.5rem 1rem;
    }

    .dropdown-menu[data-bs-popper] {
        top: 130%;
    }

    .product-slide .splide__slide {
        padding: 0 2rem;
    }
}

@media(min-width:1200px) {

    .nav-item {
        margin: 0 0.8rem;
    }

    .splide__arrow--prev {
        left: -3em;
    }

    .splide__arrow--next {
        right: -3em;
    }

    .splide__arrow {
        background: transparent;
    }

    .splide__arrow svg {
        fill: var(--red);
        height: 1.7em;
        width: 1.7em;
    }

    .title {
        font-size: 2.5rem;
    }

    .about-img {
        max-width: 100%;
        margin-right: 8rem;
    }

    .tools {
        transform: scale(2.5);
        margin-top: -30px;
    }

    .product-slide .splide__slide {
        padding: 0 5rem;
    }

    .product-slide .splide__arrow svg {
        fill: #000;
    }

    .product-slide .splide__arrow--next {
        right: 1rem;
    }
    
    .product-slide .splide__arrow--prev {
        left: 1rem;
    }

}

@media(min-width:1400px) {

    .categorie-slide {
        height: 500px;
    }

    section {
        padding-top: 5.5rem;
        padding-bottom: 5.5rem;
    }

    .title {
        font-size: 3rem;
    }

    .brand-image {
        margin-top: -150px;
    }

    .card-review {
        padding: 0 3rem 4rem 3rem;
    }
}

@media (hover: hover) {
    a:hover, a:active {
        color: var(--red);
    }

    .nav-link:hover {
        color: var(--red);
    }

    .btn-green:hover {
        background-color: #203924;
        color: white;
    }

    .categorie-caption {
        opacity: 0;
        transition: all .3s ease;
    }

    .categorie-caption:hover {
        opacity: 1;
    }

    .phone:hover {
        opacity: 0.8;
    }

    .list-group-item label:hover {
        cursor: pointer;
        color: var(--red);
    }
}