/* COLOURS PALETTE */
:root{
    --one: #FE011A;
    --two: #1A379E;
    --three: #333333;
    --four: white;
    --five: #cccccc;    
    --rad: 4px;
}

/* IMPORT TYPOS */
@import url('https://fonts.googleapis.com/css2?family=Oxygen:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');

/* GLOBAL */
*{
    font-family: "Oxygen", Gotham, 'Helvetica Neue', Helvetica, Arial, 'sans-serif';
}
a{
    text-decoration: none;
}
p{
    font-size: 1.1rem;
    font-weight: 300;
}
ul{
    padding: 0;
}
h2{
    font-family: apotek-comp, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 6rem;
    color: var(--three);
    text-transform: uppercase;
    margin-top: 0;
    line-height: 70px;
    margin-bottom: 30px;
}
h3{
    font-size: 20px;
    font-weight: 300;
    color: var(--two);
    text-transform: uppercase;
}
h4{
    font-family: apotek-comp, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 28px;
    color: var(--three);
    text-transform: uppercase;       
}
img{
    border-radius: var(--rad);
}

.btn-primary{
    background: var(--one);
    border: var(--one);
}
    .btn-primary:hover{
        background: var(--three);
        border: var(--three);
        transition: .5s;
    }
.btn-secondary{
    background: var(--two);
    border: var(--two);
}
.spacer{
    margin-top: 80px;
}
.socials{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}
    .socials a{
        display: block;
        height: 40px;
        width: 40px;
    }
    .socials a.instagram{
        background: url('../images/icono-instagram.svg') no-repeat;
    }
    .socials a.facebook{
        background: url('../images/icono-facebook.svg') no-repeat;
        margin-left: 20px;
    }   
    .socials a.instagram:hover{
        background: url('../images/icono-instagram-hover.svg') no-repeat;
        transition: .5s;
    }
    .socials a.facebook:hover{
        background: url('../images/icono-facebook-hover.svg') no-repeat;
        transition: .5s;
    }        
/* HEADER */ 
header{
    padding: 45px 0;
}
.dark-grey{
    background: var(--three);
}
.navbar-light{
    background: var(--four) !important;
}
.navbar-brand{
    background: url("../images/logo-main-builders-preferred-distributor.svg") no-repeat;
    width: 360px; 
    height: 70px;
    display: block;
}
    .navbar-brand:hover{
        transition: .5s;
        filter: brightness(150%);
    }

.navbar-nav{
    width: 100%;
}
.nav-item{
    width: 20%;
    text-align: center;
}
.nav-item a{
    color: var(--four);
    padding: 10px 0;
    font-size: 22px;
    font-weight: 300;
}
    .nav-item a:hover, .nav-link:focus{
        color: var(--one);
    }
    .dropdown-menu a.dropdown-item{
        color: var(--three) !important;
        padding: 10px;
    }
    .dropdown-menu a.dropdown-item:hover{
        background: var(--five);
        color: var(--four) !important;
    }     
    .dropdown-menu.show{
        border:2px solid var(--three) !important;
    }        

/* BODY */ 
.carousel-item img{
    opacity: 1;
}
.carousel-caption {
    top: 5%;
    text-align: left;
    width: 1320px;
    margin: 0 auto;
    padding-left: 20px;
}
.carousel-caption p{
    font-family: apotek-comp, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 90px;
    color: var(--white);
    text-shadow: 0 0 10px black;
    text-transform: uppercase;
    line-height: 70px;
} 
.carousel-caption span{
    font-size: 30px;
    color: var(--white);
    text-shadow: 1px 1px 3px black;
    line-height: 34px;
}
.product-gallery img{
    max-width: 100%;
}
.product-gallery img:hover{

    transition: .5s;
}
.product-container{
    border: 1px solid var(--five);
    margin-bottom: calc(var(--bs-gutter-x) * 1);
    border-radius: var(--rad);
}
    .product-container .product-list{
        padding: 20px;
        min-height: 360px;
    }
    .product-container .product-list li{    
        list-style: none;
        list-style-position: outside;
        padding: 0;
    }
    .product-container .product-list li:before{
        content: "»";
        color: var(--one);
        margin-right: 10px;
        list-style: none;
        list-style-type: none;;
    }    

.about{
    background-color: var(--two);
    background-image:  linear-gradient(#012193 1px, transparent 1px), linear-gradient(to right, #012193 1px, var(--two) 1px);
    background-size: 40px 40px;    
    padding: 80px 0;
}    
    .about h2, .about h3, .about p{
        color: var(--four);
    }
    
label{
    width: 100%;
}
label{
    margin-top: 20px;
    margin-bottom: 5px;
}
input, textarea, select{
    width: 100%;
    padding: 20px;
    border: 1px solid var(--five);
    border-radius: var(--rad);
}
.contact .btn-primary{
    font-family: apotek-comp, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 30px;
    text-transform: uppercase;
    justify-content: flex-end;    
    display: flex;
    margin-top: 20px;
    float: right;
}
/* FOOTER */ 
footer{
    background: var(--three);
    padding: 50px 0;
    margin-top: 100px;
}
footer p, footer a{
    color: var(--four);
}
.footer-brand{
    background: url("../images/logo-white-builders-preferred-distributor.svg") no-repeat;
    width: 450px; 
    height: 90px;
    display: block;
}
footer h2{
    font-family: apotek-comp, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 30px;
    color: var(--four);
    margin-bottom: 10px;
}
footer a{
    font-size: 1.1rem;
}
.line{
    border-top: 2px solid var(--one);
    padding-top: 20px;
}
.footer-bottom{
    background: var(--one);
    padding: 20px 0;
    color: var(--three);
}
.footer-bottom .col-md-6:nth-child(2){
    text-align: right;
}
.dev-badge{
    background: url("../images/badge-Xerif-Design.svg") no-repeat;
    width: 75px; 
    height: 35px;
    float: right;
}
.legals a:nth-child(2):before{
    content: " | ";
    padding: 10px;
    color: var(--one);
}

.legals{
    justify-content: flex-end;
    display: flex;
}

.carousel-item img{
    display: block;
    width: 100%;
}
/* ARROW UP */
#btn-back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
    border: none;
    background: none;
}

.arrow-up{
    background: url('../images/icons/icon-arrow-up.svg') no-repeat;
    width: 24px;
    height: 30px;
    display: block;

}

.modal-body li{
    list-style-position: inside;
}

#mensaje-contacto.alert-success {
    padding: 10px;
    border-radius: .25rem;
    display: none;
    margin-right: 10px;
    margin-bottom: 0.5rem !important;
}

/* MOBILE HACKS */
@media only screen and (max-width: 600px) {
    .navbar-brand, .footer-brand{
        width: 90%; 
        margin: 0 auto;
    }    
    .socials {
        justify-content: center;
    }
    .legals {
        justify-content: center;
    } 
    .spacer {
        margin-top: 40px;
    }   
    .about{
        padding: 40px 20px;
    }    
    .product-container .product-list {
        min-height: auto;
    }    
    .carousel-caption{
        text-align: center;
        width: 100%;
        right: 0;
        left: 0;
    }    
    .carousel-caption p {
        font-size: 40px;
        line-height: 40px;
    }    
    .navbar-toggler{
        border: 1px solid var(--four);
        width: 100%;
        color: var(--four);
        padding: 10px 0;
        font-size: 22px;
        font-weight: 300;
    }
    .navbar-toggler-icon{
        height: auto !important;
        width: 100%;
    }
    .nav-item {
        width: 100%;
    }
    header {
        padding: 22px 0;
    }
    footer {
        padding: 22px 0;
        margin-top: 40px;
    }   
    .product-gallery img{
        filter: grayscale(0%);
    }  
    h2 {
        font-size: 60px;
        margin-bottom: 0;
    }   
    h3 {
        font-size: 18px;
        margin-bottom: 0;
    }       
    .carousel-item img{
        width: initial !important;
        height: 320px;
    } 
    .carousel-caption {
        top: 120px;
    }
}