#loader{
    position: fixed;
    width: 100vw;
    height: 100vh;
    background-color: white;
    z-index: 2000;
    transition: 0.4s;
}


#loader .image_container{
    position: relative;
    width: 25vw;
    height: 72vh;
    top: 14vh;
    margin: 0 auto;
}
#loader .image_container div{
    text-align: center;
}

#loader .image_container h1{
    position: relative;
    animation: typeTitle 1.8s steps(22);
    overflow: hidden;
    white-space: nowrap;
    font-family: Consolas;
    border-right: 3px black solid;
    margin: 0 auto;
    max-width: 22ch!important;
    display: inline-block;
}

footer{
    margin-top: 0 !important;
}

@keyframes typeTitle {
    0%
    {
        width: 0ch;
    }

    100%
    {
        width: 22ch;
    }
}

.tobottom, .tobottom:visited{
    border-radius: 50px;
    width: 4vw;
    height: 4vw;
    background-color: #006ac5;
    color: white;
    position: fixed;
    top: 84vh;
    z-index: 501;
    font-size: 2.4vw;
    margin: 0 48vw;
    cursor: pointer;
    text-decoration: none;
    transition: 0.6s;
    text-align: center;

    -webkit-box-shadow: 0px 6px 23px -6px #000000;
    box-shadow: 0px 6px 23px -6px #000000;
}

body{
    overflow-y: hidden;
}

.banner{
    height: 90vh;
    width: 100%;
    background-color: grey;
    overflow: hidden;
    background-image: url("/static/core/images/campo.jpg");
    background-size: cover;
    background-position: center;
    margin-bottom: 5vh;

    transition: 0.6s;
}

.banner .wave{
    position: absolute;
    left: 0;
    bottom: 10vh;
    width: 100%;
    height: 80px;
    background: url('/static/core/images/wave.png');
    background-size: 1000px 100px;
}

.banner .wave1{
    animation: animateWave 30s linear infinite;
    z-index: 500;
    opacity: 1;
    animation-delay: 0s;
    bottom: 9.1vh;
}

@keyframes animateWave {
    0%
    {
        background-position-x: 0;
    }
    100%
    {
        background-position-x: 1000px;
    }
}

.banner .wave2{
    animation: animateWave2 15s linear infinite;
    z-index: 499;
    opacity: 0.5;
    animation-delay: -5s;
    bottom: 9.9vh;
}

@keyframes animateWave2 {
    0%
    {
        background-position-x: 0;
    }
    100%
    {
        background-position-x: -1000px;
    }
}

.banner .wave3{
    animation: animateWave3 20s linear infinite;
    z-index: 498;
    opacity: 0.7;
    animation-delay: -2s;
    bottom: 9.4vh;
}

@keyframes animateWave3 {
    0%
    {
        background-position-x: 0;
    }
    100%
    {
        background-position-x: 1000px;
    }
}

.banner .wave4{
    animation: animateWave4 15s linear infinite;
    z-index: 497;
    opacity: 0.7;
    animation-delay: 0s;
    bottom: 9.1vh;
}

@keyframes animateWave4 {
    0%
    {
        background-position-x: 0;
    }
    100%
    {
        background-position-x: 1000px;
    }
}

.flip-horizontal-bottom {
	-webkit-animation: flip-horizontal-bottom 0.6s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
	        animation: flip-horizontal-bottom 0.6s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
}
@-webkit-keyframes flip-horizontal-bottom {
  0% {
    -webkit-transform: rotateX(-180deg);
            transform: rotateX(-180deg);
  }
  100% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
}
@keyframes flip-horizontal-bottom {
  0% {
    -webkit-transform: rotateX(-90deg);
            transform: rotateX(-90deg);
  }
  100% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
}



.bannercontent{
    width: 82vw;
    height: 60vh;
    position: relative;
    left: 9vw;
    top:14vh;
    display: none;
}

.banner_img{
    height: 60vh;
}

.bannercontent h2, .bannercontent h4{
    color: white;
}

.bannercontent h2{
    font-size: 6ch;
}
#home-section{
    padding-top: 20vh;
    margin-top: -20vh;
}

#home-section > section{
    margin-bottom: 10vh;
}
.product .title{
    background-color: white;
    border-radius: 0 0 25px 25px;
    -webkit-box-shadow: 1px 10px 16px -2px rgba(0, 0, 0, 0.77);
    box-shadow: 1px 10px 16px -2px rgba(0, 0, 0, 0.77);
    transition: 0.6s;
    padding: 8px 20px;
}
.product:hover .title, #home-section .product:hover .image{
    -webkit-box-shadow: 1px 17px 21px -2px rgba(0, 0, 0, 0.77);
    box-shadow: 5px 17px 21px -2px rgba(0, 0, 0, 0.77);
}

.product .image{
    padding: 10px 15px;
    background-color: white;
    border-radius: 25px 25px  0 0;
    padding-bottom: 3vh;
    transition: 0.6s;
    z-index: 20;
    -webkit-box-shadow: 1px 10px 16px -2px rgba(0, 0, 0, 0.77);
    box-shadow: 1px 10px 16px -2px rgba(0, 0, 0, 0.77);
}

.product .image img{
    width: 95%;
    transition: 0.6s;
}

.product:hover .image img{
    width: 110%;
}

#home-section > section > h2{
    margin-bottom: 4vh;
}

.slideOut {
    -webkit-animation: slide 0.5s forwards;
    animation: slideOut 1s forwards;
    display: flex !important;
}

.slideIn {
    -webkit-animation: slide 0.5s forwards;
    animation: slideIn 1s forwards;
    display: flex !important;
}


@-webkit-keyframes slideOut {
    99% { left: -99vw; display: initial; }
    100% { left: -100vw; display: none; }
}

@keyframes slideOut {
    99% { left: -99vw; display: initial; }
    100% { left: -100vw; display: none; }
}

@-webkit-keyframes slideIn {
    0% { left: 100vw; display: none;}
    100% { left: 9vw; display: initial;}
}

@keyframes slideIn {
    0% { left: 100vw; display: none;}
    100% { left: 9vw; display: initial;}
}

#products a, #products a:hover, #products a:visited{
    color: black;
    text-decoration: none;
}
.banner .bannercontent .text{
    padding-top: 20vh;
}

@media screen and (max-width: 440px){
    html{
        overflow-x: hidden !important;
        text-decoration: black;

    }

    .bannercontent {
        left: 11vw;
    }
    .banner .bannercontent .text{
        padding-top: 10vh !important;
        text-align: center;
    }
    .banner .bannercontent .text h2{
        margin-bottom: 3vh;
    }

    .wave {
        visibility: hidden;
    }

    .banner{
        height: 80vh;
        width: 100%;
        background-color: grey;
        overflow: hidden;
        background-image: url("/static/core/images/banner_background_red.png");
        background-size: cover;
        background-position: center;
        margin-bottom: 5vh;

        transition: 0.6s;
    }

    .banner .wave{
        position: absolute;
        left: 0;
        bottom: 10vh;
        width: 100%;
        height: 80px;
        background: url('/static/core/images/wave.png');
        background-size: 1000px 100px;
    }

    .banner .wave1{
        animation: animateWave 30s linear infinite;
        z-index: 500;
        opacity: 1;
        animation-delay: 0s;
        bottom: 9.1vh;
    }

    .banner .wave2{
        animation: animateWave2 15s linear infinite;
        z-index: 499;
        opacity: 0.5;
        animation-delay: -5s;
        bottom: 9.9vh;
    }

    .banner .wave3{
        animation: animateWave3 20s linear infinite;
        z-index: 498;
        opacity: 0.7;
        animation-delay: -2s;
        bottom: 9.4vh;
    }

    .banner .wave4{
        animation: animateWave4 15s linear infinite;
        z-index: 497;
        opacity: 0.7;
        animation-delay: 0s;
        bottom: 9.1vh;
    }

    .card-area{
        display: none;
    }
    .image_container{
        width: 80vw !important;
        height: 72vh !important;
    }

    .images {
        padding: 0 0 15vh 0 !important  ;
    }
    .images h2 {
        padding:  0 10vw 5vw;
        text-align: center;
    }

    h2.mobile-center {
        text-align: center;
    }

    a.mobile-center {
        margin-left: 25vw;
    }

    #images{
        padding-bottom: 7vh !important;
    }

    #images article{
        padding-top: 0 !important;
    }
}

@media only screen
    and (max-height : 635px)
    and (max-width : 375px){
    .banner .bannercontent .text{
        padding-top: 10vh !important;
        text-align: center;
    }
    .banner .bannercontent .text h2{
        margin-bottom: 3vh;
    }

    .banner{
        height: 80vh;
        width: 100%;
        background-color: grey;
        overflow: hidden;
        background-image: url("/static/core/images/banner_background_red.png");
        background-size: cover;
        background-position: center;
        margin-bottom: 5vh;

        transition: 0.6s;
    }

    .banner .wave{
        position: absolute;
        left: 0;
        bottom: 10vh;
        width: 100%;
        height: 80px;
        background: url('/static/core/images/wave.png');
        background-size: 1000px 100px;
    }

    .banner .wave1{
        animation: animateWave 30s linear infinite;
        z-index: 500;
        opacity: 1;
        animation-delay: 0s;
        bottom: 4.5vh;
    }

    .banner .wave2{
        animation: animateWave2 15s linear infinite;
        z-index: 499;
        opacity: 0.5;
        animation-delay: -5s;
        bottom: 5.9vh;
    }

    .banner .wave3{
        animation: animateWave3 20s linear infinite;
        z-index: 498;
        opacity: 0.7;
        animation-delay: -2s;
        bottom: 5.4vh;
    }

    .banner .wave4{
        animation: animateWave4 15s linear infinite;
        z-index: 497;
        opacity: 0.7;
        animation-delay: 0s;
        bottom: 5.1vh;
    }

    .card-area{
        display: none;
    }
    .image_container{
        width: 80vw !important;
        height: 72vh !important;
        left: 10vw !important;
    }
}