@font-face {
    font-family: 'Ramo de Jazmi\'n';
    src: url('fonts/Ramo-deJazmin.woff2') format('woff2'),
        url('fonts/Ramo-deJazmin.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Ramo de Lavanda';
    src: url('fonts/Ramo-deLavanda.woff2') format('woff2'),
        url('fonts/Ramo-deLavanda.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Mojave';
    src: url('fonts/MojaveRegular.woff2') format('woff2'),
        url('fonts/MojaveRegular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Ramo de Rosas';
    src: url('fonts/Ramo-deRosas.woff2') format('woff2'),
        url('fonts/Ramo-deRosas.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Ramo de Magnolia';
    src: url('fonts/Ramo-deMagnolia.woff2') format('woff2'),
        url('fonts/Ramo-deMagnolia.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/*********************
 * PALETA DE COLORES *
 ********************/
:root{
    --rojo: #fa2e2a;
    --verde: #446a5c;
    --rosas: 'Ramo de Rosas';
    --magnolia: 'Ramo de Magnolia';
    --mojave: 'Mojave';
    --lavanda: 'Ramo de Lavanda';
    --jazmin: 'Ramo de Jazmi\'n';
    --cafe: #dbc8a7;
    --ocre: #c8b086;
    --fondo: #f2e9d6;
}

/*********************
 * ESTILOS GENERALES *
 ********************/
*{
    box-sizing: border-box;
    position: relative;
    margin: 0px;
}
body{
    margin: 0 auto;
    font-weight: 400;
    background-color: var(--fondo);
}
section{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
    justify-content: center;
    align-items: center;
}
/*section > *{
    padding-left: 2%;
    padding-right: 2%;
}*/
h1{
    font-size: 4vw;
    font-weight: 400;
    line-height: .75;
    color: #FFF;
    font-family: var(--rosas);
    text-align: center;
}
h2{
    font-size: 1.55vw;
    line-height: 1.1;
}
p{
    font-size: .95vw;
    font-weight: 500;
    line-height: 1.2;
    color: #FFF;
}

/*********************
 *    BOTON MENU     *
 ********************/
input[type="checkbox"], .logo-movil{
    display:none;
}
label{
    display: flex;
    flex-direction: column;
    width: 45px;
    cursor: pointer;
    right: 5%;
    position:fixed;
    z-index: 11;
    top: 1vw;
    right: 1%;
    box-sizing: content-box;
    padding: 10px;
}
label span{
    background: var(--rojo);
    height:6px;
    margin: 3px 0;
    transition: .4s  cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
label span:nth-of-type(1){
    width:50%;
}
label span:nth-of-type(2){
    width:100%;
}
label span:nth-of-type(3){
    width:75%;
}    
input[type="checkbox"]:checked ~ span:nth-of-type(1){
    transform-origin:bottom;
    transform:rotatez(45deg) translate(3px,0px)
}
input[type="checkbox"]:checked ~ span:nth-of-type(2){
    transform-origin:top;
    transform:rotatez(-45deg)
}
input[type="checkbox"]:checked ~ span:nth-of-type(3){ 
    transform-origin:bottom;
    width:50%;
    transform: translate(30px,-11px) rotatez(45deg);
    transform: translate(21px, -4px) rotatez(45deg);
}
.abierto{
    background-color: var(--verde);
}


/*********************
 *      HEADER       *
 ********************/
header{
    position: absolute;
    width: 100%;
    height: 100px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9;
}
header div{
    width: 16%;
    height: 4vw;
    font-size: 5vw;
    color: var(--rojo);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--rosas);
/*    text-shadow: 0px 0px 20px rgba(0,0,0,0.6);*/
}
header div span{ 
    font-family: var(--jazmin);
/*    text-shadow: 0px 0px 20px rgba(0,0,0,0.6);*/
}
header div span:nth-child(4){
    background-color: var(--rojo);
    border-radius: 2vw;
    line-height: 0.5;
    width: 2vw;
    display: flex;
    justify-content: center;
    margin-left: .5vw;
/*    text-shadow: 0px 0px 20px rgba(0,0,0,0.6);*/
}
header div font{ 
    font-family: var(--magnolia);
/*    text-shadow: 0px 0px 20px rgba(0,0,0,0.6);*/
}

/*********************
 *       MENU        *
 ********************/
nav{
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: rgba(241, 54, 36, .9);
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    display: none;
}
nav > article{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    width: 87%;
    padding-right: 3%;
    height: 100%;
    padding-bottom: 10vw;
}
nav > article > div{
    height: 4vw;
    font-size: 5vw;
    color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--rosas);
    margin-bottom: 10vw;
    scale: .9;
}
nav > article > div span{ 
    font-family: var(--jazmin);
}
nav > article > div span:nth-child(4){
    background-color: #FFF;
    border-radius: 2vw;
    line-height: 0.5;
    width: 2vw;
    display: flex;
    justify-content: center;
    margin-left: .5vw;
    text-shadow: none;
}
nav > article > div font{ 
    font-family: var(--magnolia);
}
nav a{
    width: 100%;
    color: #FFF;
    font-family: var(--rosas);
    font-size: 5vw;
    color: var(--fondo);
    text-transform: uppercase;
    text-align: right;
    animation-name: junta;
    animation-duration: .3s;
    animation-fill-mode: forwards;
}
nav > aside{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 13%;
    background-color: #000;
    height: 100%;
}
nav > aside > div{
    width: 8.5vw;
    height: 8.5vw;
    border-radius: 5vw;
    text-align: center;
    background-color: var(--verde);
    font-family: var(--rosas);
    color: var(--rojo);
    font-size: 8vw;
    line-height: 7vw;
    border: solid 7px #FFF;
}
nav a:hover{
    animation-name: separa;
}
@keyframes separa{
    from{letter-spacing: 0vw; color: var(--fondo);}
    to{letter-spacing: .5vw; color: #FFF}
}
@keyframes junta{
    from{letter-spacing: .5vw; color: #FFF}
    to{letter-spacing: 0vw; color: var(--fondo);}
}
/*********************
 *       HOME        *
 ********************/
.home{
   /* background-image: url(images/banner-home.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;*/
    height: 53vw;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    z-index: 2;
    padding: 0px;
}
.home > aside{
    position: absolute;
    width: 100%;
    overflow: hidden;
    height: 55vw;
}
.home .swiper-slide{
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
/*.home > aside img{
    position: relative;
    width: 100%;
}*/
.home video{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    z-index: 1;
    display: none;
}
.home h1{
    color: #FFF;
    font-size: 9vw;
    text-align: right;
    text-shadow: 0px 0px 20px rgba(0,0,0,0.6);
    z-index: 3;
}
@keyframes tipo-grande{
    from{font-size: 15vw}
    to{font-size: 9vw}
}


/*********************
 *      HAMBRE       *
 ********************/
.hambre{
    margin-top: -7vw;
    background-image: url(images/img2_home.png);
    background-image: url(images/fondo-modificado.png);
    background-size: 100%;
    background-repeat: no-repeat;
    overflow: hidden;
    z-index: 2;
}
.hambre p{
    width: 5vw;
    height: 5vw;
    border-radius: 5vw;
    background-color: var(--cafe);
    color: #FFF;
    font-size: 2vw;
    text-align: center;
    line-height: 5vw;
    z-index: 2;
}
.hambre > div.fondo{
    position: absolute;
    width: 100%;
    height: 70vw;
    background-image: url(images/trama-visual-small.png);
    background-size: 60px;
    top: 0px;
}
.hambre h1{
    font-size: 5vw;
    width: 24%;
    color: var(--verde);
    font-family: var(--magnolia);
    margin-top: 8vw;
    text-align: center;
}
.hambre h1 span{
    font-family: var(--lavanda);
}
.hambre h1 span:nth-child(5){
    font-family: var(--jazmin);
}
.hambre h1 font{
    font-family: var(--rosas);
}
.hambre h2{
    font-size: 17vw;
    width: 111%;
    text-align: center;
    color: var(--ocre);
    font-family: var(--rosas);
    margin-top: 7vw;
}

    .hambre video{
        width: 35%;
        margin-left: 3%;
    }
.hambre > div > img{
    width: 35%;
    margin-left: 3%;
}
.circulos{
    position: relative;
    width: 14vw;
    height: 14vw;
    margin-left: 60%;
    margin-top: -7vw;
}
.circulos svg{
  position: absolute;
  overflow: visible;
}
.circulos svg text{
  fill: var(--rojo);
  font-family: var(--magnolia);
  font-weight: 900;
  font-size: 5.65vw;
}
.circulos svg path{
    fill: none;
    stroke: #FF9800;
    stroke-width: 0;
}

.circulos svg:nth-child(1) {
    width: 13vw;
    height: 13vw;  
}
.circulos svg:nth-child(1) {
    width: 9.5vw;
    height: 9.5vw;
    left: 1.7vw;
    top: 1.7vw;
    animation: giro 40s infinite;
}
.circulos svg:nth-child(2) {
    width: 7vw;
    height: 7vw;
    left: 2.95vw;
    top: 2.95vw;
    animation: giro-inverso 60s infinite;
}
.circulos svg:nth-child(3) {
    width: 5vw;
    height: 5vw;
    left: 3.95vw;
    top: 3.95vw;
    animation: giro 60s infinite;
}
.circulos svg:nth-child(4) {
    width: 3.5vw;
    height: 3.5vw;
    left: 4.7vw;
    top: 4.7vw;
    animation: giro-inverso 40s infinite;
}
@keyframes giro{
    from{transform: rotate(0deg);}
    to{transform: rotate(360deg);}
}

@keyframes giro-inverso{
    from{transform: rotate(0deg);}
    to{transform: rotate(-360deg);}
}
.hambre > div.renglon{
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: start;
    margin-top: 10vw;
}
.hambre > div.renglon > aside{
    width: 35%;
    margin-left: 7.5%;
    margin-right: 7.5%;
    height: 50vw;
    background-image: url(images/foto1-home.png);
    background-position: center center;
    background-size: cover;
    z-index: 2;
}
.hambre > div.renglon > svg{
    width: 47%;
    margin-left: 1.5%;
    margin-right: 1.5%;
}

#title path {
/*  fill: var(--rojo);*/
    fill: none;
  stroke: var(--rojo);
  stroke-width: 5px;
  stroke-linecap: butt;
  stroke-linejoin: miter;
}

/*********************
 *   QUIENES SOMOS   *
 ********************/
.quienes-somos{
    align-items: flex-start;
    background-color: var(--fondo);
    margin-top: -15vw;
}
.quienes-somos > div{
    display: flex;
    justify-content: center;
    align-items: center;
}
.quienes-somos h2{
    color: var(--verde);
    font-family: var(--rosas);
    font-size: 3vw;
    line-height: .9;
    padding-left: 1vw;
    text-transform: lowercase;
    border-left: solid .5vw;
}
.quienes-somos h1{
    color: var(--rojo);
    font-family: var(--rosas);
    font-size: 8.5vw;
    line-height: .83;
    text-align: left;
    padding-bottom: 2vw;
    padding-top: 1vw;
    text-transform: lowercase;
    margin-top: 0px;
    padding: 0px;
}
.quienes-somos p{
    font-family: var(--mojave);
    font-size: 1.9vw;
    line-height: .8;
    color: #000;
    margin-top: 2vw;
    margin: 0px;
    padding: .1vw;
}
.quienes-somos p:nth-child(5), .quienes-somos p:nth-child(8), .quienes-somos p:nth-child(10), .quienes-somos p:nth-child(14){
    margin-top: 2vw;
}
.quienes-somos div{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10vw;
    margin-bottom: 3vw;
    overflow: hidden;
}

/*********************
 *    EXPERIENCIA    *
 ********************/
.experiencia{
    background-color: var(--rojo);
    padding-bottom: 5vw;
}
.experiencia > aside{
    width: 100%;
    overflow: hidden;
}
.experiencia *{
    z-index: 2;
}
.experiencia > aside > h1{
    color: var(--fondo);
    font-size: 5.5vw;
    text-transform: lowercase;
    line-height: .9;
    padding-top: 20vw;
}
.experiencia > aside > h2{
    color: var(--fondo);
    padding-top: 1vw;
    font-family: var(--mojave);
    text-align: center;
}
.experiencia > aside > div{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: 5vw;
    margin-top: 3vw;
}


.experiencia > aside > div > aside{
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.experiencia > aside > div > aside > div{
    width: 100%;
    height: 25vw;
    background-size: auto 110%;
    background-repeat: no-repeat;
    background-position: bottom center;
}
.experiencia > aside > div > aside:nth-child(2) > div{
    background-size: auto 130%;
    background-position: center center;
}
.experiencia > aside > div > aside > img{
    width: 20%;
    margin-top: 1vw;
    margin-bottom: 1vw;
}
.experiencia > aside > div > aside > a{
    background-color: var(--fondo);
    color: var(--verde);
    font-family: var(--rosas);
    font-size: 1.5vw;
    text-transform: lowercase;
    padding: .2vw;
    width: 33%;
    text-align: center;
    margin-top: .5vw;
    margin-bottom: 2vw;
}
.experiencia > aside > div > aside > a:hover{
    background-color: var(--verde);
    color: var(--fondo);
}


.experiencia > aside > div > img{
    width: 40%;
}
.experiencia > aside > div > article{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20%;
}
.experiencia h4{
    font-size: 7vw;
    text-transform: lowercase;
    font-family: var(--mojave);
    color: var(--verde);
    font-weight: 300;
}
.experiencia h4:nth-child(1){
    color: #FFF;
}
.experiencia p{
    font-family: var(--mojave);
    color: var(--fondo);
    font-size: 1.5vw;
    text-transform: lowercase;
    font-weight: 400;
    text-align: center;
}
.experiencia > aside > a{
    width: 35%;
    height: 40vw;
    background-size: cover;
    background-position: top center;
    display: block;
}
.experiencia > aside > a:nth-child(5){
    background-image: url(images/am.png);
    margin-right: 56%;
    margin-left: 9%;
}
.experiencia > aside > a:nth-child(6){
    background-image: url(images/pm.png);
    margin-left: 56%;
    margin-top: -40vw;
}
.experiencia h3{
    position: absolute;
    font-family: var(--rosas);
    font-size: 60vw;
    line-height: .8;
    z-index: 1;
    color: #ec2b28;
    top: 5vw;
    width: 100%;
    text-align: center;
}
.experiencia article > img{
    width: 5vw;
}
.experiencia article > a{
    background-color: var(--fondo);
    color: var(--verde);
    font-family: var(--rosas);
    font-size: 1.5vw;
    text-transform: lowercase;
    padding: .2vw;
    width: 60%;
    text-align: center;
    margin-top: .5vw;
    margin-bottom: 2vw;
}
.experiencia article > a:hover{
    background-color: var(--verde);
    color: var(--fondo);
}

/*********************
 *      FOOTER       *
 ********************/
footer > div{
    width: 35%;
    height: 40vw;
    background-size: cover;
    background-position: top center;
    background-image: url(images/foto3-home.png);
    margin-left: 50%;
    height: 35vw;
    border-radius: 3vw 3vw 0px 0px;
    margin-top: -33vw;
}
footer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 7vw;
    padding-top: 4vw;
    background-image: url(images/fondo-ubicacion.png);
    background-size: cover;
    background-position: center center;
    z-index: 3;
}
footer h1, footer h2{
    text-transform: lowercase;
    color: var(--rojo);
    font-size: 5.5vw;
    font-family: var(--rosas);
}
footer > p{  
    color: var(--rojo);
    font-family: var(--mojave);
    font-size: 2.2vw;
    margin-top: 5vw;
    margin-bottom: 5vw;
    width: 45%;
    text-align: center;
}
footer article{
    width: 15%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 7vw;
}
footer article img{
    width: 7vw;
}
footer article a p{
    font-size: 2.5vw;
    font-family: var(--rosas);
    color: var(--rojo);
}
footer article a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--rojo);
}
footer article a:hover p{
    color: var(--verde);
}
footer h2{
    color: var(--verde);
}
footer aside{
    width: 30%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 2vw;
}
footer aside > div{
    font-family: var(--mojave);
    color: var(--verde);
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1vw;
    padding-bottom: 1vw;
    font-size: .8vw;
}
footer aside > div:nth-child(1){
    width: 50%;
    border-top: solid 3px var(--rojo);
    border-right: solid 3px var(--rojo);
}
footer aside > div:nth-child(2){
    border-top: solid 3px var(--rojo);
    width: 50%;
}
/*footer aside > div:nth-child(3){
    border-top: solid 3px var(--rojo);
    border-bottom: solid 3px var(--rojo);
    border-right: solid 3px var(--rojo);
    width: 50%;
}
footer aside > div:nth-child(4){
    border-top: solid 3px var(--rojo);
    border-bottom: solid 3px var(--rojo);
    width: 50%;
}*/
footer > aside > div > img{
    width: 50%;
}
footer > img{
    width: 28%;
    margin-left: 8%;
    margin-right: 59%;
    margin-bottom: 10vw;
}

@media (max-width: 480px){
    .home{
        background-image: url(images/banner-home.png);
        background-size: cover;
        height: 110vw;
    }
    .home h1{
        text-align: center;
        font-size: 15vw;
    }
    .hambre{
        margin-top: -18vw;
    }
    .hambre p{
        width: 15vw;
        height: 15vw;
        border-radius: 8vw;
        font-size: 8vw;
        line-height: 15vw;
    }
    .hambre h1{
        margin-top: 24vw;
        font-size: 13vw;
        width: 80%;
    }
    .hambre video{
       width: 97%;
        margin: 0px;
    }
    .hambre > div > img{
        width: 97%;
        margin-left: 0%;
    }
    section{
        padding-left: 10%;
        padding-right: 10%;
    }
    .quienes-somos{
        padding-bottom: 10vw;
        margin-top: 15vw;
    }
    .quienes-somos h2{
        font-size: 8vw;
        margin-bottom: 4vw;
    }
    .quienes-somos h1, .experiencia > aside > h1,footer h1, footer h2{
        font-size: 13vw;
    }
    .quienes-somos p{
        font-size: 5vw;
        line-height: 1;
    }
    .quienes-somos p:nth-child(5), .quienes-somos p:nth-child(8), .quienes-somos p:nth-child(10), .quienes-somos p:nth-child(14){
        margin-top: 3vw;
    }
    .quienes-somos p:nth-child(5){
        margin-top: 5vw;
    }
    .quienes-somos div{
        /*display: none;*/
    }
    .quienes-somos img{
        width: 100%;
    }
    .experiencia > aside > div > article{
        width: 80%;
    }
    .experiencia > aside > h2, .experiencia p{
        font-size: 5vw;
    }
    .experiencia > aside > div{
        flex-direction: column;
    }
    .experiencia > aside > div > img{
        width: 80%;
        margin: 0px;
    }
    .experiencia > aside > a{
        height: 80vw;
        width: 100%;
        margin-bottom: 3vw;
    }
    .experiencia h4{
        font-size: 24vw;
    }
    .experiencia > aside > a:nth-child(5), .experiencia > aside > a:nth-child(6){
        margin: 0px;
        height: 91vw;
        margin-bottom: 3vw;
    }
    footer > img{
        width: 60%;
        margin-left: 20%;
        margin-right: 20%;
    }
    footer p{
        font-size: 5vw;
        width: 80%;
    }
    footer article{
        width: 50%;
        margin-bottom: 14vw;
    }
    footer article img{
        width: 20vw;
    }
    footer article a{
        width: 80%;
    }
    footer article a  p{
        font-size: 7vw;
    }
    footer h1, footer h2{
        text-align: center;
    }
    footer aside{
        width: 80%;
        margin-top: 5vw;
    }
    footer aside > div{
        padding-top: 4vw;
        padding-bottom: 4vw;
        font-size: 4vw;
    }
    footer > aside > div > img{
        width: 90%;
    }
    nav > article > div{
        margin-bottom: 20vw;
        scale: 2.3;
        width: 53%;
    }
    nav > article{
        width: 80%;
    }
    nav a{
        font-size: 12vw;
    }
    nav > aside{
        width: 20%;
    }
    nav > aside > div{
        width: 15vw;
        height: 15vw;
        border-radius: 8vw;
        line-height: 11vw;
    }
    header{
        background: linear-gradient(180deg, rgba(0, 0, 0, .6) 0%,rgba(0, 0, 0, .2) 50%, transparent 100%);
        position: absolute;
    }
    header div{
        scale: 2.5;
        width: 35%;
        justify-content: flex-start;
    }
    label{
        top: 6vw;
        right: 6%;
    }
    .circulos svg:nth-child(1), .circulos{
        width: 40vw;
        height: 40vw;
    }
    .circulos svg text{
        font-size: 18vw;
    }
    .circulos svg:nth-child(2){
        width: 31vw;
        height: 31vw;
        left: 6.3vw;
        top: 6.3vw;
    }
    .circulos svg:nth-child(3){
        width: 24vw;
        height: 24vw;
        left: 10vw;
        top: 10vw;
    }
    .circulos svg:nth-child(4){
        width: 18vw;
        height: 18vw;
        left: 13vw;
        top: 13vw;
    }

    .experiencia > aside > div > aside{
        width: 100%;
    }
    .experiencia > aside > div > aside > div{
        height: 50vw;
    }
    .experiencia > aside > div > aside > img{
        width: 52%;
    }
    .experiencia > aside > div > aside > a{
        font-size: 5vw;
        padding: 1vw;
        width: 52%;
        margin-top: 2vw;
        margin-bottom: 4vw;
    }
    .home video{
        display: none;
    }
    .home > aside{
        height: 109vw;
    }
}

a{
    text-decoration: none;
    color: inherit;
}
