 html, body {
    max-width: 100%;
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color:  white; 
    font-size: 1.7rem;
}

.brand-border {
    border: 2px solid;
    border-color:  #212121;
    transition: all .8s fade-in;
    box-sizing: border-box;
}

/* change the nav button with js*/
.nav-button-black {
    background: black;
    transition: all .5s;
}

.header-hero {
    height: 100vh;
    display: flex;
    align-items: center;
    background-color: #212121;
    position: relative;
}

.child {
    position: absolute;
    left:43%;
    transform: translate(0%, -20%);
}

.first-title {
    color:yellow;
    z-index: 2;
    position: absolute;
    left: 13%;
    transform: translate(0%, -160%);
}
.first-title h1  {
font-weight: 200;
font-size: 6rem;
}

.first-title h1:nth-child(2n) {
    font-weight: 400;
}

/* in large size devices */
@media(max-width: 1500px) { 
    .first-title {
        transform: translate(0%, -140%);
    }
} 

.nav-icons {
    display: none;
}

/* ==================== ABOUT ================== */

.intro {
    margin-top: 14rem;
    padding-top: 10rem;
    padding-left: 7%;
    padding-right: 7%;
}

.intro-headline {
    margin-bottom: 3rem;
}

/* ============== BUTTON ============== */
button {
    font-weight: 500;
    border: none;
    background-color: transparent;
}

button:active, 
button:focus {                   
    outline: none;
}

.button {
    position: relative;
    margin: 0;
    display: inline-block;
}

.box {
    width: 100%;
    height: 13px;
    background-color: yellow;
    margin:0;
    position: absolute;
    transition: background-color 0.3s ease-out;
    transform: translate(0%, -113%);
    z-index: -1;
}

.button:hover .box {
    background-color:#FC9D6D;
    
}

/* ============== TOPICS =============== */
.black-bg {
    margin-top: 22rem;
    height: auto;
    padding-bottom: 12rem;
    align-items: center;
    background-color: #212121;
    position: relative;
    z-index: 0;  /* used for the treasure img */
}

.link-1 a {
    position: absolute;
    /* bottom:20%;  */ /* the img is placed above the bg. transform is needed */
    transform: translate(0, -5%);
}

a.link-2 {
    position: absolute;
    /* top:2%; */
    transform: translate(0, -40%);
}

a.link-3 {
    position: absolute;
    /* top:2%; */
    transform: translate(0, 65%);
}


/* ========== IMG hover =============== */
  
  .color-show-up {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    z-index: 0;
    transition:.4s ease-in-out;  
}
  
  .container1:hover .color-show-up {
    opacity: 0.6;

  }
  .container1:hover .text-show-up{
    opacity:1;
  }
  
  .text-show-up {
    color: #FC9D6D;
    font-size: 6rem;
    line-height: 7rem;
    font-weight: 700;
    position: absolute;
    top: 50%;
    left: 50%;
    opacity:0;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  .link-1 .color-show-up{
    background-color: purple;
 }


  /* ========= SECOND IMG ========== */
  .link-2 .color-show-up{
    background-color: #008CBA;
  }
  .link-2 .text-show-up, .link-3 .text-show-up{
    font-size: 4rem;
    line-height: 5rem;
  }
  
  /* ========= THIRD IMG ========== */
  .link-3 .color-show-up{
    background-color: #008CBA;
}



/* ============================================================ */
hr {
    margin-left: 1rem;
    margin-right: 1rem;
}

hr.hr-photos:nth-child(2){
    margin-top: 60rem;
}


@media(max-width: 768px) {
    .child {
        position: absolute;
        left: 4.5%;
        transform: translate(0%, -20%);
    }
}




/* ====================== WELCOME AREA ======================== */

.welcome-headline {
    padding-top: 2rem;
    padding-bottom: 1rem;
}

.welcome-headline h2 {
    color:  yellow;
    font-weight: 400;
    font-size: 6rem;
    line-height: 5rem;
}

.welcome-text {
    color: white;
    margin-top: 2rem;
}
.treasure {
    position: relative;
    /* background-image: url(imgs/Treasure.png); */
}
.treasure-img {
    /* Cs of relative black-bg, img moves when text is altered */
    position: absolute;
    /* bottom: 1%; NOT HELPFUL */
    right: -6%;
    transform: translate(0%, -80%);
    z-index: -1;        /* NOT inside the IMG */
}



/* ====================== COMPANIES ======================= */
.companies {
    padding: 10rem 0;
}

.single-brand i {
    padding: 2rem 5rem;
    border: 1px solid #d3d3d3;
    box-sizing: border-box;
    width: 13rem; /* standard size in order every box to have the same size */
    transition: .3s;
    background-color:white;
    color: #212121;
    font-size: 3rem;
    margin-bottom: 3rem;
}

.single-brand:hover i {
    transform: scale(1.1);
    box-shadow: 0px 0px 20px  #212121;
}


/* ===================== FREE CALL ========================== */
.free-call {
    box-shadow: 0px 0px 10px  #212121;
    padding: 2rem 1rem;
    border-radius: 3px;
}

.free-call h2 {
    /* font-size: 3rem; */
    font-size: 2.3rem;
    font-weight: 700;
    color: blueviolet;
    
}

.free-call .box {
    background-color:  #008CBA;
}

.timer {
    border-radius: 10px;
    width: 4rem;
    height: 4.5rem;
    margin: auto 0.4rem;
    background-color: blueviolet;
    color: white;
    display: inline-block;
    text-align: center;
    font-size: 1.4rem;
}

.timer p {
    margin: 1rem; /* so as h6 not to be outside of the box (step 1) */
}

.timer h6 {
    background-color: black;
    padding: 0.3rem;
    margin: 0;   /* step 2 */
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 10px 8px 20px black;
}


/* ===================== FOOTER ========================== */

footer {
    background-color: #212121;
    padding: 5rem 0 3rem 0;
    color: white;
}

#footer {
    color: white;
}

footer button {
    z-index: 0;
    color: white; 
}

.footer-header {
    padding-bottom: 4rem;
}

footer .box {
    background-color: #008CBA; 
}

/* ***************************************** */
.nav-extra-info {
    display: flex;
    justify-content: center;
}

.navbar-nav .nav-extra-info a {
    color:  #008CBA;
    font-size: 1.4rem;
}

.extra-info a {
    text-decoration: none;
    color: white;
    transition: color 0.7 ease-in-out;
    font-weight: 300;
}
.extra-info a:hover .footer-textlink {
    color: purple;
}

.social-icons a {
    color:#008CBA;
}
.social-icons a:hover {
    color:purple;
}
.social-icons i {
    font-size: 4rem;
    text-decoration: none;
    margin: 3.5rem 1.7rem;
}


    




/* ====================== MEDIA ============================= */
/* no horizontal scroll */
/* @media screen and (max-width: 667px) {
    body {
        overflow-x: hidden !important;
    }
    .container {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
} */

/* MD Screens */
@media(max-width: 992px) {
    body {
        font-size: 1.4rem;
    }

    .first-title {
        left: 13%;
        transform: translate(0%, -120%);
    }
    .first-title h1 {
        font-weight: 200;
        font-size: 5rem;
    }


    .intro {
        margin-top: 0rem;
        padding-top: 10rem;
        padding-left: 3%;
    }
    .text-show-up {
        color: #FC9D6D;
        font-size: 4rem;
        line-height: 5rem;
        font-weight: 700;
        position: absolute;
        top: 50%;
        left: 50%;
        opacity:0;
        transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    .link-2 .text-show-up, .link-3 .text-show-up{
        font-size: 3.5rem;
        line-height: 4rem;
    }
    
    hr.hr-photos:nth-child(2) {
        margin-top: 40rem;
    }

    .welcome-headline h2{
        font-weight: 400;
        font-size: 4rem;
        line-height: 4rem;
    }

    .companies {
        padding: 13rem 0;
    }
    .single-brand i {
        padding: 1rem 2rem;
        max-width: 10rem; /* ***** reduce the size and KEEP the content CENTERED ***** */
        margin-bottom: 1rem;

    }


}


        

/* SM Screens */
 @media(max-width: 768px){

    .navbar a{
        font-size: 1.5rem;
    }
    .nav-icons .social-icons i{
        font-size: 1.6rem;
        text-decoration: none;
        margin: 0rem 1rem;
    }
    .flex-center-vertically {
        display: flex;
        justify-content: center;
        flex-direction: column;
        height: 55vh;
      }
    .header-hero img{
        display: none;
    }

    .first-title{
        transform: translate(0%, -110%);
    }
    .first-title h1{
        font-weight: 200;
        font-size: 4.5rem;
    }
    .intro-headline{
        margin-bottom: 2rem;
    }
    .intro p{
        padding-bottom: 2rem;
    }

    hr.hr-photos:nth-child(2){
        margin-top: 50rem;
    }
    .black-bg{
        height: auto;
        padding-bottom: 4rem;
    }

    .free-call.elem-centered{
        text-align: center;
    }

    .social-icons i{
        font-size: 2rem;
        text-decoration: none;
        margin: 2rem 1rem;
    }

}

/* XS Screens */
@media(max-width: 576px){
    .navbar-nav .nav-extra-info a{
        font-size: 1.2rem;
    }
    .first-title h1{
        font-size: 4.5rem;
    }
    .flex-center-vertically {
        display: flex;
        justify-content: center;
        flex-direction: column;
        height: 52vh;
      }
    body{
        font-size: 1.2rem;
    }
    .navbar-toggler{
        margin-right: 10%;
    }
    
    .navbar-brand img{
        width: 180px;
        height: auto;
    }
    .carousel .carousel-item{
        display: none;
    }
    .first-title{
        margin-left: 3rem;
        transform: translate(0%, -40%);
    }

    .first-title h1{
        font-weight: 200;
        font-size: 4rem;

    }
    
    .welcome-headline h2{
        font-size: 3.5rem;
        line-height: 3rem;
    }
    hr.hr-photos:nth-child(2){
        margin-top: 40rem;
    }

    .single-brand i{
        padding: 1rem 2rem;
        max-width: 6rem; 
        margin-bottom: 1rem;
        font-size: 2rem;
    }
    .single-brand:hover i{
        transform: scale(1.01);
        box-shadow: 0px 0px 15px  #212121;
    }

    .email-footer-button{
        margin-top: 2rem;
    }
    .nav-icons{
        display: block;
    }


}