@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;700;800&display=swap');

:root {
    --main-font: 'Manrope', sans-serif;
    --font-size: 16px;
    --main-color: #444444;
    --second-color: #6B6B6B;
    --grey-color: #c9c9c9;
}

html {
    box-sizing: border-box;
    font-family: var(--main-font);
    font-size: var(--font-size);
    overflow-x: hidden;
    scroll-behavior: smooth;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

* {
    margin: 0 auto;
    padding: 0px;
	margin: 0px;
    text-decoration: none;
	list-style: none;
}

input, textarea, select, button  { margin:0; padding:0; outline:0; border:0;                                
                                    box-sizing: border-box;}


body {
    font-family: 'Manrope', 'san-serif';
    background-color: #ffffff;
    margin: 0 auto;
    overflow-x: hidden;
    color: var(--main-color);
}

h1 {
    margin: 0;
}

h2 {
    color: var(--main-color);
    font-size: 16px;
    font-weight: 900;
}

h3 {
    font-size: 16px;
    font-weight: 400;
}

a {
    color: var(--main-color);
    text-decoration: none;
}

a:hover {
    color: #000000;
}

strong {
    font-weight: 400;
}

header {
    background-color: #ffffff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5%;
    height: 65px;
    z-index: 9999;
}

header h1 {
    font-size: 21px;
    font-weight: 300;
}

header .language {
    font-size: 14px;
}


/*** MAIN ***/

ul.menu {
    position: fixed;
    left: 5%;
    top: 110px;
    padding-left: 0;
}

ul.menu li {
    padding: 5px 0;
}

ul.menu li:first-child {
    margin-bottom: 20px;
}

li.redes {
    margin-top: 50px;
    margin-left: -0.5em;
}

/*** MENU MOBILE ***/

a#BtnMobile { display:none; }
#Barritas{ font-size:30px; color: var(--grey-color);}				
#Equis { display:none; font-size:30px; color: var(--grey-color);}

@media (max-width: 768px) {

    header .language {
        display: none;
    }

    a#BtnMobile { 
        display: flex;
        align-items: center;
        padding: 0;
        position: absolute;
        top: 0;
        right: 5%;
        line-height: 0;
        color: var(--main-color);
        cursor: pointer;
        z-index: 999;
        height: 65px;
    }

      .menumode .menu { overflow:auto; opacity:1;
          transform: translateX(0px);}
          
       .menumode #Barritas { display:none; }
       .menumode #Equis { display:block; }
  
      .menu {
          display: block;
          position: absolute!important;
          background-color: #ffffff;
          width: 100%;
          height: 100vh;
          transform: translateX(-100%);
          transform-origin: 0px 0px;
          transition: all 0.6s ease-in; 
          top: 65px!important;
          left: 0!important;
          z-index: 9999!important;
          padding-bottom: 20px;
      }
  
      .menu ul {
          flex-direction: column;
          flex-wrap: wrap;
          width: 100%;
          background-color: rgba(255,255,255,0.8);
          padding-top: 0;
          margin: 0;
      }

  
      .menu li {
          display: block;
          width: 100%;
          padding: 5px 0 0 20px!important;
      }
  
      .menu ul li a {
          display: block;
          padding: 2% 0%;
          text-align: center;
          width: 100%;
          color: #666666;
          font-size: 1.2rem;
          font-weight: 600;
          text-decoration: none;
      }
  
      .menu a:hover {
          background-color: #000000;
          color: #ffffff;
      }

      a.land {
        width: 60px;
        margin-right: 8%;
    }
  
      #redes ul {
          width: 100%;
          display: flex;
          flex-direction: row;
          flex-wrap:  wrap;
          align-items: center;
          justify-content: center;
          padding: 1rem;
      }
      
      #redes ul li {
          display: flex;
          align-items: center;
          width: 8%;
          justify-content: center;
          padding: 5px;
      }
      
      #redes ul li a {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 40px;
          height: 40px;
          padding: 1.2rem;
          border-radius:  50%;
          color: #ffffff;
          background-color:  #666666;
      }
}

/* ********  Scroll Top Btn ********* */

.scroll-top-btn {
    position: fixed;
    z-index: 999;
    bottom: 2vh;
    right: 3vw;
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
    font-weight: bold;
    background-color: var(--main-color);
    color: #ffffff;
    cursor: pointer;
    outline: 0;
    transition: all 0.3s ease-out;
}

.scroll-top-btn:hover {
    background-color: #000000;
}

/*.fa-caret-up::before {
    color: #fff;
}*/





/******** OBRAS ************/

section.obras {
    margin-top: 90px;
    display: flex;
    margin-left: 10%;
}

section.obras ul {
    margin-bottom: 0!important;
}

section.obras ul li {
    padding: 5px 0;
    font-size: 14px;
    font-weight: 500;
}

section.obras ul li small {
    font-size: 12px;
}


@media (min-width: 769px) {
    main {
        width: 80%;
        margin-left: 20%;
    }

    section.obras ul {
        width: 25%;
    }
}

@media (max-width: 768px) {
    section.obras {
        flex-direction: column;
        margin-left: 20%;
    }
}



/***** GALERIA ******/

article.fotos {
    width: 100%;
    /*margin-top: 60px;*/
}

article.description {
    position: absolute;
    width: 15%;
    top: 80px;
    left: 5%;
}

article.description p {
    font-size: 14px;
    color: var(--main-color);
}

section.slideshow-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 60px;
    height: calc(100vh - 100px);
    overflow: hidden;
}

.prev {
    /*background-color: var(--main-color);*/
    width: 50px;
    height: 50px;
    position: absolute;
    display: flex; align-items: center; justify-content: center;
    top: 45%;
    left: 0;
    color: var(--grey-color);
    cursor: pointer;
    font-size: 24px;
}

.next {
    /*background-color: var(--main-color);*/
    width: 50px;
    height: 50px;
    position: absolute;
    display: flex; align-items: center; justify-content: center;
    top: 45%;
    right: 0;
    color: var(--grey-color);
    cursor: pointer;
    font-size: 24px;
}

/*.prev:hover, .next:hover {
    background-color: #000000;
    color: #ffffff;
}*/

div#dots {
    margin-top: 10px;
}

.dot {
  cursor: pointer;
  height: 8px;
  width: 8px;
  margin: 0 2px;
  background-color: none;
  border: solid 0.5px var(--main-color);
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: var(--main-color);
  border: solid 0.5px var(--main-color);
}

.mySlides {
    height: 100%;
}

.mySlides img {
    height: 100%;
}

/* Fading animation 
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
} */

.galeria {
    display: flex;
}

.close {
    position: absolute;
    top: 0;
    right: 3%;
    cursor: pointer;
    border: none;
    background: none;
    outline: none;
    font-size: 60px;
    font-family: 'Manrope', sans-serif;
    font-weight: 300;
    color: var(--grey-color);
}

@media (max-width: 1024px) {
    section.slideshow-container {
        height: auto;
    }
}

@media (max-width: 1024px) {

    .close {
        top: -10px
    }
    .galeria {
        display: flex;
        flex-direction: column;
    }

    article.description {
        position: relative;
        display: block;
        width: 100%;
        margin-bottom: 20px;
        z-index: 9999;
    }

    article.fotos {
        margin-top: 50px;
    }

    section.slideshow-container {
        margin: 50px auto auto;
        position: relative;
        width: 90%;
    }

    .mySlides {
        height: auto;
    }

    .mySlides img {
        height: auto;
        max-width: 100%;
    }

    /*.prev, .next {
        top: 0;
    }*/
}


/***** GENERALES *****/

.general {
    margin-top: 90px;
    margin-left: 10%;
    width: 70%;
    margin-bottom: 90px;
}

.title {
    font-weight: 300;
    font-size: 21;
}

@media (max-width: 768px) and (min-width: 700px)  {
    .general {
        margin-left: 30%;
        width: 60%;
    }

    section.obras {
        margin-left: 40%;
    }
}

/***** EXPOSICIONES *****/



/***** NOSOTROS ******/

.nosotros { 
    display:flex; 
    flex-wrap:wrap; 
    justify-content:flex-start;
    margin-top: 90px;
    margin-left: 30%;
    width: 60%;
}

.personaje {
    width: 24%;
    margin: 2px;
}


.nos { 
	position: relative; 
	overflow: hidden; 
	width: 100%; 
	background-color: white;
}

.cuadrado { width: 100%; height: 100%; background-color: #cccccc; opacity: 0.7;
	position: absolute; z-index: 99; top: -180px; left:0; transition: all 0.4s ease-in-out;
}

.nos button { width:100%;}

.nos figcaption { 
    position:absolute; 
    z-index:100; 
    top:50%; 
    left:50%; 
    color:#FFF;								
    font-size: 1rem;							
    display: flex;						 	
    justify-content: center;
    align-items: center;
	margin: 0 auto;
	width: 50px;
	height: 50px;
	padding: 1%;
	border: solid 3px #FFF;
	border-radius: 50%;
	cursor: pointer; 
	transform: translate(-50%, -50%) scale(0.8);
	transition: all 0.4s ease-in-out;
    opacity: 0;
}
												
.nos img {
    max-width:100%; 
    display:block;
	transform: scale(1);	
  	filter: grayscale(0);
	transition: all 0.4s ease-in-out;
}	
		
.nos:hover figcaption { transform: translate(-50%, -50%) scale(1); opacity:1;}														
.nos:hover img { transform: scale(1.2); filter: grayscale(1);}
.nos:hover .cuadrado { transform: translateY(200px); }

.personaje small {
    text-align: center;
    width: 100%;
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
}

@media (max-width: 768px) {
    .nosotros {
        margin-left: 5%;
        width: 90%;
    }

    .personaje {
        width: 30%;
        margin: 5px;
    }
}

@media (max-width: 600px) {
    .personaje {
        width: 45%;
    }
}


/***** BIO *****/

.bio {
    margin-top: 90px;
    margin-left: 10%;
    width: 80%;
    margin-bottom: 90px;
}

.bio .cuerpo {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.bio-image {
    width: 100%;
}

.cuerpo-texto {
    width: 55%;
}

@media (min-width: 1024px) {
    .cuerpo-texto {
        padding-right: 20px;
    }
}

@media (max-width: 1024px) {
    .cuerpo-texto {
        width: 100%;
    }
}

aside.bio-fotos {
    width: 45%;
}

.bio-fotos-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.bio-fotos-image {
    width: 50%;
    padding: 10px 0px;
}

.bio-fotos-image img {
    width: 100%;
}

.mapa-btn { cursor:pointer;}
.mapa-btn:hover {transition: all 0.4s ease-in-out; background-color: var(--btn-color);}

.modal { display: flex; align-items:center;justify-content: center; background-color: rgba(0,0,0,0.9); width:100%; height:100%; position:fixed; top:0; left:0; right:0; bottom:0;z-index:9999; opacity: 1; transition: all 0.5s ease;}
.cerrar {border: none; display: block; position: absolute; top: 5%; right: 5%; border:2px solid #f3f3f3;  border-radius: 50%;font-size: 24px; width: 50px; height: 50px;  text-align:center; cursor: pointer; }
.cerrar span {display: block;  font-size: 24px;  color:var(--text-color); text-align:center; }
.modal-iframe { display:block; width: 70%; display: flex; justify-content: center; align-items: center; margin: 0 auto; border: solid 2px #ffffff;}
.modal-iframe iframe { width: 100%;}
.modal img { max-height: 500px; }

.hidde { display: none; opacity: 0;}
.show { display: block; }

@media (max-width: 1024px) {
    .hidden-xs {
        display: none;
    }
}

@media (min-width: 1024px) {
    .hidden-md {
        display: none;
    }
}


/*****  TEXTOS *****/

.wrapper-textos {
    margin-top: 90px;
    width: 80%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-left: 5%;
}

.wrapper-textos .texto {
    width: 48%;
    margin-bottom: 50px;
    border: solid 1px #e1e1e1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
}

@media (max-width: 1024px) {
    .wrapper-textos .texto {
        width: 100%;
    }
}

.wrapper-textos h2.autor {
    margin: 5px 0;
}

.wrapper-textos p.editor {
    font-size: 14px;
}

.wrapper-textos a {
    font-size: 14px;
    font-weight: 900;
}

 /* UP ARROW *******************************************************************/

 #myBtn {
    display: none; /* Hidden by default */
    position: fixed; /* Fixed/sticky position */
    bottom: 30px; /* Place the button at the bottom of the page */
    right: 30px; /* Place the button 30px from the right */
    z-index: 99; /* Make sure it does not overlap */
    border: none; /* Remove borders */
    outline: none; /* Remove outline */
    background-color: #444444; /* Set a background color */
    color: white; /* Text color */
    cursor: pointer; /* Add a mouse pointer on hover */
    width: 50px;
    height: 50px;
    padding-bottom: 3px;
    border-radius: 50%; /* Rounded corners */
    font-size: 16px; /* Increase font size */
    animation: show-btn 1s 1 normal 0s ease-out both;
  }

  @keyframes show-btn {
    0% {
        visibility: hidden;
        opacity: 0;
    }
    100% {
        visibility: visible;
        opacity: 1;
    }
}
  
  #myBtn:hover {
    background-color: #000000; transition: all 0.5s ease; /* Add a dark-grey background on hover */
  }


  /**** BOTON CONTACTO TALLERES ***/

  .informes {
    border: solid 1px #444444;
    display: block;
    margin-top: 50px;
    padding: 8px 15px;
    color: #444444;
    width: 200px;
    text-align: center;
    transition: all 0.5s ease;
}

.informes:hover {
    background-color: #444444;
    color: #ffffff;
}


@media (max-width: 768px) {
    .informes {
        width: 50%;
    }
}


/*** GALERIA LANDSCAPE ***/

@media (max-width: 1024px) and (orientation: landscape) {

    section.slideshow-container {
        margin: 0px auto auto;
        height: 100vh;
    }

    article.description {
        position: absolute!important;
        width: 15%!important;
        top: 80px!important;
        left: 5%;
    }
    
    article.fotos {
        margin-top:0!important;
    }
    .mySlides {
        width: 50%!important;
    }
}