@import url(root.css);
@import url(fonts.css);
@import url(common.css);

* {
	box-sizing     : border-box;
	scroll-behavior: smooth;
	scroll-margin  : 20px;
	margin         : 0;
	padding        : 0;
}

html,
body {
	min-height : 100%;
	font-family: var(--main-font), system-ui, Arial, sans-serif;
	font-weight: 400;
  letter-spacing: 1.8px;
  line-height: 1.5;
	font-size  : var(--main-font-size);
	color      : var(--font-color);
}

h1,
h2,
h3 {
	font-family: var(--h1-font), system-ui, Arial, sans-serif;
	font-weight: 400;
	margin     : 0;
}

h1 {
	font-size: var(--h1-font-size);
  position: relative;
  margin-bottom: 1em;
  letter-spacing: 25px;
}

h2 {
	font-size: var(--h2-font-size);
}

h3 {
	font-size: var(--h3-font-size);
}

ul {
  list-style-type: none;
  margin-block-start: 0;
  padding-inline-start: 0;
}

ul li:not(:last-child) {
	margin-bottom: 35px;
}


header {
	color           : var(--header-font-color);
	font-size       : var(--header-font-size);
  font-weight: 600;
  /* overflow: hidden; */
  background : var(--header-bg-color);
  /* box-shadow: var(--box-shadow) */
}

header .logo {
  transition: all 0.3s ease;
}

header nav a {
  padding: 15px 0;
}

footer {
	font-size: var(--footer-font-size);
}

footer .contenido {
  padding: 30px 15px;
}

footer .copy {
  background-color: var(--tertiary-color);
}

footer .copy .contenido {
  padding: 5px 15px;
}

table {
	border-spacing: 0;
	width         : 100%;
}

th,
td{
	padding        : 5px 0;
	border-collapse: collapse;
}

hr {
	border    : none;
	border-top: #ccc solid 1px;
	margin    : 5px auto 30px;
}

/* section:not(#home section) { */
/* 	padding: 0 10px; */
/* } */

section {
	margin: var(--margin-sections);
}

section:first-of-type {
	margin-top: 100px;
}

#principal section:first-of-type {
  margin-top: 50px;
}

strong {
	font-weight: bold;
  color: black;
}

img {
	max-width: 100%;
}

.fgris {
background-color: #e7e7e7
}

button,
button[type="button"],
.btn {
	padding      : 6px 16px;
	text-align   : center;
	cursor       : pointer;
  color: #ED3128;
  border: solid thin #aaa;
  box-shadow: 0px 10px 15px #ccc;
  background-color: #e7e7e7;
	display      : inline-block;
	width           : min(170px, 100%);
}

#principal .btn {
	border-radius: 4px;
  border: 3px solid white;
  border: #fff solid thin;
  box-shadow: unset;
  background-color: unset;
	color        : white;
}

#principal .btn.rojo {
  color: #ED3128;
  border: #ED3128 solid thin;
}

.error {
  font-size: 12px;
  color: red;
  font-weight: bold;
}

.logo {
  width: 60px;
  max-width: 100%;
}

.btn-dark, button[type="button"] {
  background-color: black;
  color: white;
  border: none
}

.btn, .btn-dark, .back {
  margin-top: 50px;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.3s ease-in-out;
}

.btn-dark:hover, button[type="button"]:hover {
  outline: 3px solid #262626;
  outline-offset: -3px;
}


.btn:hover, .btn-dark:hover, button[type="button"]:hover {
  background-color: white;
  color: #262626
}

button[type="button"] {
  min-width: 70px
}

div[aria-labelledby="swal2-title"] {
  border-radius: 0;
}

a {
	text-decoration: none
}

a>svg,
span>svg {
	vertical-align: middle;
	height        : 100%;
	width         : 100%;
}

input:-webkit-autofill {
	background-color  : white !important;
	-webkit-box-shadow: 0 0 0 1000px white inset !important;
	box-shadow        : 0 0 0 1000px white inset !important;
	color             : black !important;
}

input,
textarea {
	display: block;
	padding: 7px 10px;
	width  : 100%;
  border-radius: 0;
  border: 1px solid #333
}

input.invalid,
select.invalid,
textarea.invalid {
	border          : 2px solid red;
	background-color: #ffe6e6;
  color: red
}

input:focus {
	/* background-color   : white; */
	outline         : none;
	border-radius   : 0;
	/* border       : 2px solid black; */
}

input:focus.invalid {
	outline: none;
	border : 2px solid red
}

label {
	display: block;
}

label:not(:first-of-type) {
	margin: 25px 0;
}


.contenido {
	max-width: var(--contenido);
	margin   : auto;
	padding  : 15px;
	/* position : relative; */
}

.loader {
	border-radius   : 50%;
	border          : 3px solid black;
	border-top-color: transparent;
	animation       : spin 1.2s linear infinite;
	height          : 50px;
	width           : 50px;
	position        : absolute;
	top             : 0;
	bottom          : 0;
	right           : 0;
	left            : 0;
	margin          : auto;
}


#pages {
	margin-top: 50px;
}

#pages .active {
	color: #990000;
}

#collapsing-menu {
	background-color: var(--primary-color);
	/* padding         : 15px; */
	/* padding-top     : 130px; */
  max-width: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}

#collapsing-menu.open {
  max-width: 100%;
  opacity: 1;
}

#collapsing-menu div {
	padding: 10px;
}

#collapsing-menu div:first-of-type {
	padding-top: 0;
}

#collapsing-menu div:last-of-type {
	padding-bottom: 0;
}

.sombra {
  background-color: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
}

details > summary:first-of-type {
  list-style: none;
}

details > summary {
  display: flex;
  gap: 10px;
  cursor: pointer;
}

details > summary::before {
  content: '+';
  height: max-content;
  transition: all 0.3s ease-in-out;
}

details[open] > summary::before {
  transform: rotate(45deg);
}

summary {
  color: white;
  padding: 15px 20px;
}

details {
  user-select: none;
  overflow: hidden;
  margin-bottom: 3px;
  outline-offset: -3px;
}

.w3-dropdown-content {
  background-color: var(--tertiary-color);
  text-transform: uppercase;
  font-size: 13px;
  top: 55px;
  left: -16px;
  min-width: 124px;
}

.wa-flotante {
  position: fixed;
  z-index: 99;
  bottom: 30px;
  right: 25px;
  text-align: center;
  font-weight: bold;
}

.wa-flotante img {
  filter: drop-shadow(-2px 2px 8px rgba(0,0,0,0.3));
  width: 70px;
}

.language {
  font-weight: normal;
  padding-bottom: 0;
}

.language .activo {
  font-weight: bold;
  color: var(--secondary-color);
}

body#principal  {
  background-color: #000;
  font-size: 1.3em;
}

#principal .card {
  border: solid thin #fff;
  padding: 15px 15px 50px;
  border-radius: 0;
}

#principal .grid {
  margin-top: 80px;
  gap: 25px
}

#principal .card .btn {
  margin-top: auto;
}

#principal .flex {
  justify-content: flex-start;
}

#principal h1 {
  font-size: 1em;
  margin-bottom: 15px;
  letter-spacing: 1.8px;
}

.swiper {
    width: 100%;
    height: 700px;
    --swiper-navigation-color: #b71a23;
}

#inicio .wrap {
    --swiper-navigation-color: #b71a23;
}

#inicio .swiper-button-next {
  right: 0;
}
#inicio .swiper-button-prev {
  left: 0;
}

#colecciones h2 {
  text-transform: uppercase;
}

#colecciones .swiper, #premios .swiper {
  height: unset;
}

#colecciones .swiper-slide, #premios .swiper-slide {
  background-color: transparent;
}

#colecciones .galeria img, #premios .galeria img {
  cursor: pointer;
}

#colecciones .swiper-slide img, #premios .swiper-slide img {
  height: unset;
  width: unset;
}

#colecciones .swiper-button-next, #colecciones .swiper-button-prev, #premios .swiper-button-next, #premios .swiper-button-prev {
  height: unset;
  width: unset;
}

#colecciones .swiper-button-next:after, #colecciones .swiper-button-prev:after, #premios .swiper-button-next:after, #premios .swiper-button-prev:after {
  content: '';
  background-image: url("../assets/flecha.svg");
  background-repeat: no-repeat;
  height: 55px;
  width: 55px;
}

#colecciones .swiper-button-prev:after, #premios .swiper-button-prev:after {
  transform: rotate(180deg);
}

#colecciones .navegacion, #premios .navegacion {
  gap: 20px
}

#colecciones .w3-btn, #premios .w3-btn {
  margin: 1em auto 3em auto;
  color: #ED3128;
  border: #ED3128 solid thin;
  font-weight: bold;
  font-size: .8em;
  background-color: #fff;
}

#colecciones #modcontent span, #premios #modcontent span {
  color: #666;
  border: none;
  background-color: transparent;
  font-weight: bold;
  cursor: pointer;
  display: block;
  text-align: right;
  font-size: 30px;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    width: 100%;
}

.swiper-slide img {
    display: block;
    /* width: 100%; */
    height: 100%;
    object-fit: cover;
    margin: auto;
}

.item, .card {
  border: solid 1px #777;
  border-radius: 15px;
}

.item {
  background-color: #f1f1f2;
  padding: 30px 10px;
  line-height: 1;
}

.item .grid {
  margin-top: 30px;
}

.item .img-wrapper {
  height: 200px;
  overflow: hidden;
}

.card {
  overflow: hidden;
}

.card h3 {
  font-size: 1em;
  margin: 20px 0;
}

.desc.fgris {
  padding: 100px 0;
}

.desc.fgris .direction-column {
  gap: 15px
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.embed-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bordegris {
  border: solid thin #aaa;
}

#colecciones .info {
  padding: 50px 15px;
}

#colecciones #prensa .direction-column {
  gap: 20px
}

#colecciones #prensa .btn {
  margin-top: 0;
}

#colecciones #prensa .img-wrapper, #colecciones #remix .img-wrapper {
  aspect-ratio: 1;
  max-height: 450px;
  margin: auto;
}

#colecciones #pdfs .btn {
  margin-top: 20px;
}

#colecciones #pdfs h3 {
  margin-bottom: 20px;
}

#colecciones #pdfs .contenido {
  padding: 50px 15px;
}

.cuerpo, .alma, .espiritu {
  grid-column: span 2;
}

#inicio .item .g-3 > :last-child:nth-child(3n + 1) {
  grid-column: 2;
}

#inicio #el-camino .direction-column {
  gap: 50px
}

#inicio #categorias p {
  margin-bottom: 50px;
}

#proyecto .desc {
  padding: 80px 0;
  margin-bottom: 100px;
}

.adquirir .flex, .adquirir .flex {
  gap: 20px;
  margin-top: 20px;
  font-size: 1.5em;
  flex-wrap: wrap;
}

.adquirir .flex img, .adquirir .flex img {
  width: 24px;
}

.adquirir .flex .btn, .adquirir .flex .btn {
  margin: 0;
  width: min(83px, 100%);
}

#publicaciones h2 {
  margin-bottom: 20px;
}

#publicaciones .direction-column {
  gap: 100px
}

#publicaciones .g-2 {
  gap: 100px 30px;
}

#publicaciones .g-2 .btn {
  width: auto;
}

.breadcrumb a, .breadcrumb strong {
  text-transform: capitalize;
}

.breadcrumb strong {
  color: black
}

#inicio .wrap {
  padding: 0 30px;
  max-width: 1400px;
  margin: auto;
} 

@media screen and (max-width: 600px) {
    .swiper {
        height: 300px;
    }
}

@media only screen and (min-width:601px) {
  header.scrolled .logo {
		width : 45px;
	}
}

@media screen and ((min-width: 600px) and (max-width: 950px)) {}

@media only screen and (max-width:600px) {
  body {
    overflow-x: hidden;
  }
	h1 {
		font-size: var(--h1-small-font-size);
    letter-spacing: 10px;
	}

	h2 {
		font-size: var(--h2-small-font-size);
	}

	h3 {
		font-size: var(--h3-small-font-size);
	}

  button[type="button"], .btn {
    padding: 10px 5px;
    width: min(200px, 100%);
  }

  .logo {
    width: 100px;
  }

  .btn, .btn-dark {
    font-size: 15px;
  }

  section:first-of-type {
      margin-top: 50px;
  }
  footer .flex {
    flex-direction: column;
  }

  .wa-flotante {
    bottom: 20px;
    right: 10px
  }

  .wa-flotante img {
    width: 60px;
  }

  #principal .grid {
    gap: 15px
  }

  #principal .flex {
    gap: 30px;
    font-size: 15px;
  }

  #inicio #categorias .g-3 {
    grid-template-columns: repeat(2,1fr)!important;
    gap: 20px
  }

  #colecciones .galeria .g-2, 
  #colecciones .galeria .g-3, 
  #colecciones .galeria .g-4, 
  #colecciones .galeria .g-5,
  #colecciones .remix .grid,
  #premios .premio .g-3
  {
    grid-template-columns: repeat(2,1fr)!important;
    gap: 15px
  }
}


@keyframes spin {
	to {
		transform: rotate(360deg)
	}
}
