/*  
	Theme Name: AK Wedding 
	Version: 1.0 2024
	Author: Hctr
*/

/*****************************************************************************/
/********************************************************************* RESET */
/*****************************************************************************/

* {
  box-sizing: border-box;
  position: relative;
  margin: 0;
  padding: 0;
  -webkit-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

body {
  min-height: 100dvh;
  background-color: rgb(255, 255, 255);
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5 {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

figure {
  margin: 0;
}

/**********************************************************************************/
/************************************************************************** FONTS */
/**********************************************************************************/

@font-face {
  font-family: "GT America Trial Exp Md";
  src: url("./fonts/GTAmericaTrial-ExpMd.eot");
  src:
    url("./fonts/GTAmericaTrial-ExpMd.eot?#iefix") format("embedded-opentype"),
    url("./fonts/GTAmericaTrial-ExpMd.woff2") format("woff2"),
    url("./fonts/GTAmericaTrial-ExpMd.woff") format("woff"),
    url("./fonts/GTAmericaTrial-ExpMd.ttf") format("truetype"),
    url("./fonts/GTAmericaTrial-ExpMd.svg#GTAmericaTrial-ExpMd") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Editorial New";
  src: url("./fonts/EditorialNew-UltralightItalic.eot");
  src:
    url("./fonts/EditorialNew-UltralightItalic.eot?#iefix")
      format("embedded-opentype"),
    url("./fonts/EditorialNew-UltralightItalic.woff2") format("woff2"),
    url("./fonts/EditorialNew-UltralightItalic.woff") format("woff"),
    url("./fonts/EditorialNew-UltralightItalic.ttf") format("truetype"),
    url("./fonts/EditorialNew-UltralightItalic.svg#EditorialNew-UltralightItalic")
      format("svg");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "GT Sectra Fine Trial Book";
  src: url("./fonts/GTSectraFineTrial-Book.eot");
  src:
    url("./fonts/GTSectraFineTrial-Book.eot?#iefix") format("embedded-opentype"),
    url("./fonts/GTSectraFineTrial-Book.woff2") format("woff2"),
    url("./fonts/GTSectraFineTrial-Book.woff") format("woff"),
    url("./fonts/GTSectraFineTrial-Book.ttf") format("truetype"),
    url("./fonts/GTSectraFineTrial-Book.svg#GTSectraFineTrial-Book")
      format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "GT Sectra Display Trial";
  src: url("./fonts/GTSectraDisplayTrial-Light.eot");
  src:
    url("./fonts/GTSectraDisplayTrial-Light.eot?#iefix")
      format("embedded-opentype"),
    url("./fonts/GTSectraDisplayTrial-Light.woff2") format("woff2"),
    url("./fonts/GTSectraDisplayTrial-Light.woff") format("woff"),
    url("./fonts/GTSectraDisplayTrial-Light.ttf") format("truetype"),
    url("./fonts/GTSectraDisplayTrial-Light.svg#GTSectraDisplayTrial-Light")
      format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zapf Renaissance Antiqua LtIt";
  src:
    url("./fonts/ZapfRenaissanceAntiqua-LtIt.woff2") format("woff2"),
    url("./fonts/ZapfRenaissanceAntiqua-LtIt.woff") format("woff"),
    url("./fonts/ZapfRenaissanceAntiqua-LtIt.ttf") format("truetype");
  font-weight: 300;
}

@font-face {
  font-family: "Carta Nueva";
  src: url("./fonts/CartaNueva-Small.eot");
  src:
    url("./fonts/CartaNueva-Small.eot?#iefix") format("embedded-opentype"),
    url("./fonts/CartaNueva-Small.woff2") format("woff2"),
    url("./fonts/CartaNueva-Small.woff") format("woff"),
    url("./fonts/CartaNueva-Small.ttf") format("truetype"),
    url("./fonts/CartaNueva-Small.svg#CartaNueva-Small") format("svg");
  font-weight: normal;
  font-display: swap;
}

@font-face {
  font-family: "Myriad Pro";
  src: url("./fonts/MyriadPro-Regular.eot");
  src:
    url("./fonts/MyriadPro-Regular.eot?#iefix") format("embedded-opentype"),
    url("./fonts/MyriadPro-Regular.woff2") format("woff2"),
    url("./fonts/MyriadPro-Regular.woff") format("woff"),
    url("./fonts/MyriadPro-Regular.ttf") format("truetype"),
    url("./fonts/MyriadPro-Regular.svg#MyriadPro-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/**********************************************************************************/
/************************************************************************ GENERAL */
/**********************************************************************************/

:root {
  --font-GT-Sectra-Trial: "GT Sectra Display Trial";
  --font-GT-Sectra-Trial-Book: "GT Sectra Fine Trial Book";
  --font-America-Trial-Md: "GT America Trial Exp Md";
  --font-GT-Sectra-Display: "GT Sectra Display Trial";
  --font-Zapf-Antiqua-LtIt: "Zapf Renaissance Antiqua LtIt";
  --font-Carla-Nueva: "Carta Nueva";
  --color-white: white;
  --color-black: black;
  --color-red: rgb(232, 5, 5);
  --color-grey: rgb(35, 31, 32);
}

html {
  font-size: 10px;
}

@media only screen and (min-width: 0px) and (max-width: 1919px) {
  html {
    font-size: 7px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 639px) {
  html {
    font-size: 6px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 639px) {
  html {
    font-size: 5px;
  }
}

* {
  -webkit-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  color: black;
}

main {
}

/**********************************************************************************/
/********************************************************************** SECCIONES */
/**********************************************************************************/

/* HEADER */

header {
  z-index: 10;
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}

/* NAV */

nav {
  position: fixed;
  z-index: 11;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  background-color: rgb(28, 28, 28);
  opacity: 0;
}

nav.nav_mostrar {
  height: 100vh;
}

nav.opacity_1 {
  opacity: 1;
}

nav div.logo_header {
  position: absolute;
  top: 4rem;
  left: 3.5rem;
}

nav > div.menu_principal {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  /*padding-top: 10vh;*/
}

nav > div.menu_principal ul {
  padding: 0;
  margin: 0;
}

nav > div.menu_principal li {
  list-style-type: none;
}

nav > div.menu_principal a {
  color: var(--color-white);
  text-decoration: none;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 2.5;
  padding: 0 10rem;
  cursor: pointer;
}

nav > div.menu_principal a > span {
  z-index: 2;
  color: var(--color-white);
  font-family: var(--font-GT-Sectra-Trial);
  font-size: 18rem;
  line-height: 18rem;
  text-transform: uppercase;
  transition: all 0s ease-out;
  pointer-events: none;
}

nav > div.menu_principal a:hover > span {
  z-index: 1;
  opacity: 0;
}

nav > div.menu_principal a > small {
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: -8rem;
  left: 0;
  width: 100%;
  text-align: center;
  font-family: var(--font-Carla-Nueva);
  font-size: 30rem;
  line-height: 30rem;
  text-transform: capitalize;
  padding-right: 8rem;
  pointer-events: none;
  color: var(--color-red);
}

nav > div.menu_principal a:hover > small {
  z-index: 2;
  opacity: 1;
}

nav > div.menu_principal li:nth-child(4) a > small {
  padding-right: 14rem;
}

nav > div.menu_principal li:nth-child(5) a > small {
  padding-right: 17rem;
}

nav > div.menu_principal a > figure {
  opacity: 0;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

nav > div.menu_principal figure img {
  width: 20vw;
}

nav > div.menu_principal a:hover > figure {
  opacity: 1;
}

nav > div.menu_idiomas {
  position: absolute;
  z-index: 0;
  bottom: 50px;
  left: 0;
  width: 100%;
}

nav > div.menu_idiomas ul {
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

nav > div.menu_idiomas li {
  list-style-type: none;
  color: var(--color-white);
  font-family: var(--font-America-Trial-Md);
}

nav > div.menu_idiomas a {
  color: var(--color-white);
  font-family: var(--font-America-Trial-Md);
  font-size: 1rem;
  text-transform: uppercase;
  text-decoration: none;
}

nav > button {
  position: absolute;
  z-index: 1;
  top: 4rem;
  right: 4rem;
  width: 33px;
  height: 25px;
  border: 0;
  background: transparent;
  color: var(--color-white);
  font-family: var(--font-America-Trial-Md);
  font-size: 1.5rem;
  text-transform: uppercase;
  cursor: pointer;
}

nav > button::after {
  content: "x";
  color: var(--color-white);
}

@media only screen and (min-width: 0px) and (max-width: 1279px) {
  /* nav > div.menu_principal a > span {
    font-size: 7rem;
    line-height: 7rem;
  }
  nav > div.menu_principal a > small {
    font-size: 30rem;
    line-height: 30rem;
    padding-right: 8rem;
  }*/
  /*nav > div.menu_principal a:hover > span {
    opacity: 1;
  }*/
  /*nav > div.menu_principal a:hover > small {
    opacity: 0;
  }*/
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  nav > div.menu_principal a > span {
    font-size: 10vh;
    line-height: 10vh;
  }
  nav > div.menu_principal a:hover > span {
    font-family: var(--font-GT-Sectra-Trial);
    text-transform: uppercase;
    font-size: 10vh;
    line-height: 10vh;
    margin-left: 0;
  }
  nav > div.menu_principal a > small {
    font-size: 18vh;
    line-height: 18vh;
  }
  /*nav > div.menu_principal a:hover > figure {
    opacity: 0;
  }*/
}

/* FOOTER */

footer {
  z-index: 8;
  /*padding-right: 3.5rem;
  padding-left: 3.5rem;*/
}

/**********************************************************************************/
/********************************************************************* ESTRUCTURA */
/**********************************************************************************/

/* ANCHO */

.width_75per {
  width: 75%;
}

.width_100 {
  width: 100%;
}

.max_width_25 {
  max-width: 25%;
}

.max_width_42 {
  max-width: 42%;
}

.max_width_100 {
  width: auto;
  max-width: 100%;
  height: auto;
}

.max_width_1200 {
  max-width: 1200px;
}

.max_width_1300 {
  max-width: 1300px;
}

.max_width_830 {
  max-width: 830px;
}

.max_width_575 {
  max-width: 575px;
}

.max_width_620 {
  max-width: 620px;
}

.max_width_inherit {
  max-width: inherit;
}

@media only screen and (min-width: 1441px) and (max-width: 3000px) {
  .min_width_20-1_5rem {
    min-width: calc(20% - 1.5rem);
  }
  .max_width_inherit_2560 {
    max-width: inherit;
  }
  .width_100_2560 {
    width: 100%;
  }
}

@media only screen and (min-width: 0px) and (max-width: 959px) {
  .width_100per_mv {
    width: 100%;
  }
  .width_60per_mv {
    width: 60%;
  }
}

/* HEIGHT */

.height_auto {
  height: auto;
}

.height_100 {
  height: 100vh;
  overflow: hidden;
}

@media only screen and (min-width: 0px) and (max-width: 639px) {
  .height_100 {
    height: 100svh;
  }
}

.height_100per {
  height: 100%;
}

.min_height_930 {
  min-height: 930px;
}

.min_height_1100 {
  min-height: 1100px;
}

.max_height_50 {
  max-height: 50px;
}

@media only screen and (min-width: 0px) and (max-width: 1919px) {
  .min_height_740 {
    min-height: 740px;
  }
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .height_100per_mv {
    width: auto;
    max-width: inherit;
    height: 100%;
  }
  .min_height_660_mv {
    min-height: 660px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 639px) {
  .min_height_auto_mv {
    height: auto;
    min-height: auto;
  }
}

/* FLEX */

.flex_between_top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.flex_between_top_stretch {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.flex_between_center {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flex_between_center_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flex_between_center_top {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.flex_end {
  display: flex;
  justify-content: flex-end;
}

.flex_start_center {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.flex_center_start {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .flex_between_center_mv {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    gap: 20px;
  }
}

/* DIRECTION */

.direction_column {
  flex-direction: column;
}

/* WRAP */

.wrap {
  flex-wrap: wrap;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .wrap_mv {
    flex-wrap: wrap;
  }
}

/* GAP */

.gap_1_5 {
  gap: 1.5rem;
}

.gap_35 {
  gap: 3.5rem;
}

.gap_55 {
  gap: 5.5rem;
}

.gap_7 {
  gap: 7rem;
}

.gap_9 {
  gap: 9rem;
}

.gap_150 {
  gap: 15rem;
}
@media only screen and (min-width: 0px) and (max-width: 1919px) {
  .gap_6_mv {
    gap: 6rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 799px) {
  .gap_3_mv {
    gap: 3%;
  }
  .gap_19_mv {
    gap: 19rem;
  }
}

/* FLEX ELEMENT */

.flex_1 {
  flex: 1;
}

.flex_0 {
  flex: 0 0 auto;
}

.flex_25 {
  flex: 0.25;
}

.flex_42 {
  flex: 0.42;
}

.flex_45 {
  flex: 0.45;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .flex_55_mv {
    flex: 55%;
    max-width: 55%;
  }
  .flex_42_mv {
    flex: 42%;
    max-width: 42%;
  }
  .flex_35_mv {
    flex: 35%;
    max-width: 35%;
  }
}

/* ALIGN SELF */

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .align_self_start {
    align-self: flex-start;
  }
}

/* JUSTIFY */

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .justify_end_mv {
    justify-content: flex-end;
  }
}

/* PADDING */

.padding_top_3 {
  padding-top: 3rem;
}

.padding_top_4 {
  padding-top: 4rem;
}

.padding_top_9 {
  padding-top: 9rem;
}

.padding_top_15 {
  padding-top: 15rem;
}

.padding_top_27 {
  padding-top: 27rem;
}

.padding_bottom_3 {
  padding-bottom: 3rem;
}

.padding_bottom_4 {
  padding-bottom: 4rem;
}

.padding_bottom_6 {
  padding-bottom: 6rem;
}

.padding_bottom_9 {
  padding-bottom: 9rem;
}

.padding_bottom_15 {
  padding-bottom: 15rem;
}

.padding_bottom_35 {
  padding-bottom: 35rem;
}

.padding_header {
  padding-top: 13rem;
}

.padding_left_2_5 {
  padding-left: 1.5rem;
}

.padding_left_3 {
  padding-left: 3rem;
}

.padding_left_4 {
  padding-left: 4rem;
}

.padding_left_6 {
  padding-left: 6rem;
}

.padding_left_10 {
  padding-left: 10rem;
}

.padding_right_3 {
  padding-right: 3rem;
}

.padding_right_4 {
  padding-right: 4rem;
}

.padding_right_6 {
  padding-right: 6rem;
}

.padding_right_10 {
  padding-right: 10rem;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .padding_header_mv {
    padding-top: 13rem;
  }
  .padding_top_10_mv {
    padding-top: 10rem;
  }
  .padding_top_15_mv {
    padding-top: 15rem;
  }
  .padding_bottom_10_mv {
    padding-bottom: 10rem;
  }
  .padding_left_6_mv {
    padding-left: 6rem;
  }
  .padding_left_17_mv {
    padding-left: 17rem;
  }
  .padding_right_6_mv {
    padding-right: 6rem;
  }
  .padding_right_17_mv {
    padding-right: 17rem;
  }
  .padding_0_mv {
    padding: 0;
  }
}

/* MARGIN */

.margin_auto {
  margin: auto;
}

.margin_top_50 {
  margin-top: 5rem;
}

.margin_top_13 {
  margin-top: 13rem;
}

.margin_bottom_2 {
  margin-bottom: 2rem;
}

.margin_bottom_45 {
  margin-bottom: 4.5rem;
}

.margin_bottom_60 {
  margin-bottom: 6rem;
}

.margin_bottom_7 {
  margin-bottom: 7rem;
}

.margin_bottom_13 {
  margin-bottom: 13rem;
}

.margin_bottom_150 {
  margin-bottom: 15rem;
}

.margin_left_3_5 {
  margin-left: 3.5rem;
}

.margin_right_3_5 {
  margin-right: 3.5rem;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .margin_top_10_mv {
    margin-top: 10rem !important;
  }
  .margin_header_mv {
    margin-top: 13rem;
  }
  .margin_left_65_mv {
    margin-left: 65%;
  }
  .margin_bottom_25_mv {
    margin-bottom: 25px;
  }
  .margin_bottom_65_mv {
    margin-bottom: 65px;
  }
}

/* POSITION */

.position_fixed_bottom {
  position: fixed;
  left: 0;
  bottom: 0;
}

.position_absolute {
  position: absolute;
  top: 0;
  left: 0;
}

.position_absolute_clean {
  position: absolute;
}

.position_fixed {
  position: fixed;
  top: 0;
  left: 0;
}

/* TOP, LEFT, RIGHT Y BOTTOM */

.top_4rem {
  top: 4rem;
}

.left_2_5rem {
  left: 2.5rem;
}

.bottom_0 {
  bottom: 0;
}

.bottom_2rem {
  bottom: 2rem;
}

.bottom_15rem {
  bottom: 15rem;
}

.right_2_5rem {
  right: 2.5rem;
}

.right_50rem {
  right: 50rem;
}

@media only screen and (min-width: 0px) and (max-width: 479px) {
  .right_35rem_mv {
    right: 35rem;
  }
}

/* INDEX */

.index_0 {
  z-index: 0;
}

.index_1 {
  z-index: 1;
}

.index_2 {
  z-index: 2;
}

.index_top {
  z-index: 10000;
}

/* BLOCK */

.block {
  display: block;
}

/* DISPLAY */

.display_none {
  display: none;
}

.display_block {
  display: block;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .display_none_mv {
    display: none;
  }
  .display_block_mv {
    display: block;
  }
}

/**********************************************************************************/
/************************************************************ ELEMENTOS ESTÉTICOS */
/**********************************************************************************/

/* BORDER */

.border_top_1 {
  border-top: 1px solid black;
}

.border_bottom_1 {
  border-bottom: 1px solid black;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .boder_bottom_mv {
    border-bottom: 1px solid black;
  }
  .border_0_mv {
    border: 0;
  }
  .border_top_0_mv {
    border-top: 0;
  }
}

/* FONTS */

.font_gt_md {
  font-family: var(--font-America-Trial-Md);
}

.font_gt_sectra_trial {
  font-family: var(--font-GT-Sectra-Trial);
}

.font_zap {
  font-family: var(--font-Zapf-Antiqua-LtIt);
}

/* FONTS SIZES */

.font_size_1 {
  font-size: 1rem;
}

.font_size_12 {
  font-size: 1.2rem;
}

.font_size_15 {
  font-size: 1.5rem;
}

.font_size_17 {
  font-size: 1.7rem;
}

.font_size_19 {
  font-size: 1.9rem;
}

.font_size_25 {
  font-size: 2.5rem;
}

.font_size_30 {
  font-size: 3rem;
}

.font_size_5 {
  font-size: 5rem;
}

.font_size_54 {
  font-size: 5.4rem;
}

.font_size_70 {
  font-size: 7rem;
}

.font_size_120 {
  font-size: 12rem;
}

.font_size_130 {
  font-size: 13rem;
}

@media only screen and (min-width: 1441px) and (max-width: 3000px) {
  .font_size_13 {
    font-size: 1.3rem;
  }
  .font_size_20_3000 {
    font-size: 2rem;
  }
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .font_size_15_mv {
    font-size: 1.5rem;
  }
  .font_size_20_mv {
    font-size: 2rem;
  }
}

@media only screen and (min-width: 0px) and (max-width: 479px) {
  .font_size_80_mv {
    font-size: 8rem;
  }
}

/* ENLACE */

.enlace {
  text-decoration: none;
  color: black;
}

/* OPACITY */

.opacity_0 {
  opacity: 0;
}

/* BACKGROUNDS */

.background_white {
  background-color: var(--color-white);
}

/* COLOR */

.color_grey {
  color: var(--color-grey);
}

.color_black {
  color: var(--color-black);
}

/* ALIGN */

.align_right {
  text-align: right;
}

.align_center {
  text-align: center;
}

.align_justify_hyphens {
  text-align: justify;
  hyphens: auto;
}

.align_justify_hyphen_center {
  text-align: justify;
  hyphens: auto;
  text-align-last: center;
}

@media only screen and (min-width: 0px) and (max-width: 959px) {
  .align_center_mv {
    text-align: center;
  }
}

/* B */

.b_gt_sectra b,
.b_gt_sectra strong {
  font-family: var(--font-GT-Sectra-Trial-Book);
  font-size: 5rem;
  font-weight: normal;
  text-transform: uppercase;
}

.b_gt_sectra_2 b,
.b_gt_sectra_2 strong {
  font-family: var(--font-GT-Sectra-Trial-Book);
  font-weight: normal;
  text-transform: uppercase;
}

.b_zapf b,
.b_zapf strong {
  font-family: var(--font-Zapf-Antiqua-LtIt);
  font-size: 3.2rem;
  font-style: italic;
  font-weight: 300;
}

/* FONT STYLE */

.uppercase {
  text-transform: uppercase;
}

.capitalize {
  text-transform: capitalize;
}

.weight_300 {
  font-weight: 300;
}

.weight_bold {
  font-weight: bold;
}

.weight_normal {
  font-weight: normal;
}

/* ASPECT */

.aspect_2560_1467 {
  aspect-ratio: 2560 / 1467;
}

.aspect_2_3 {
  aspect-ratio: 2 / 3;
}

.aspect_23_28 {
  aspect-ratio: 23 / 28;
}

.aspect_305_404 {
  aspect-ratio: 305 / 404;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .aspect_43_mv {
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }
  .aspect_11_mv {
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }
}

/* OVERFLOW */

.overflow_hidden {
  overflow: hidden;
}

/* LINE HEIGHT */

.line_height_0 {
  line-height: 0;
}

.line_height_50 {
  line-height: 5rem;
}

.line_height_120 {
  line-height: 12rem;
}

@media only screen and (min-width: 0px) and (max-width: 479px) {
  .line_height_80_mv {
    line-height: 8rem;
  }
}

/* CURSOR */

.cursor_none {
  cursor: none;
}

/* POINTER */

.pointer_none {
  pointer-events: none;
}

/* TRANSITION */

.transition_none {
  transition: none;
}

.transition_05 {
  transition: all 0.5s ease-in-out;
}

.transicion_delay_0 {
  transition: all 0.5s ease-in-out;
}

.transicion_delay_05 {
  transition: all 0.5s ease-in-out 0.5s;
}

.transicion_delay_1 {
  transition: all 0.5s ease-in-out 1s;
}

/**********************************************************************************/
/****************************************************************** PERSONALIZADO */
/**********************************************************************************/

/* LOGO HEADER */

.logo_header {
  width: 22.8rem;
  height: 5.1rem;
  background: url("img/sprite.svg") 0 0;
  background-size: 64rem 64rem;
  background-repeat: no-repeat;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  transition: all 0s ease-out;
  margin: 0;
}

.logo_header > a {
  display: block;
  width: 100%;
  height: 100%;
}

.logo_header_filter {
  filter: brightness(0) invert(1);
}

/* LOGO FOOTER */

.logo_footer {
  width: 39rem;
  height: 8.7rem;
  background: url("img/sprite.svg") 0 -8rem;
  background-size: 64rem 64rem;
  background-repeat: no-repeat;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  margin: auto;
}

@media only screen and (min-width: 1441px) and (max-width: 3000px) {
  .logo_footer {
    width: 29rem;
    height: 7.7rem;
    background: url("img/sprite.svg") 0 -5rem;
    background-size: 47rem 47rem;
    background-repeat: no-repeat;
  }
}

/* BOTÓN MENÚ */

.boton_menu {
  font-family: var(--font-America-Trial-Md);
  font-size: 1.5rem;
  text-transform: uppercase;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.boton_menu_ocultar {
  display: none;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .boton_menu {
    font-size: 2rem;
  }
}

/* LISTA CIUDADES */

.lista_ciudades {
  max-width: 740px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  padding-right: 2rem;
  text-align: right;
  line-height: 3.3rem;
}

.lista_ciudades > li {
  list-style-type: none;
  white-space: nowrap;
}

.lista_ciudades > li > ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 25px;
}

.lista_ciudades > li > ul > li {
  list-style-type: none;
  font-family: var(--font-Zapf-Antiqua-LtIt);
  font-size: 3.5rem;
}

.lista_ciudades > li > ul > li:nth-child(1),
.lista_ciudades > li > ul > li:nth-child(5),
.lista_ciudades > li > ul > li:nth-child(9),
.lista_ciudades > li > ul > li:nth-child(13) {
  font-family: var(--font-Zapf-Antiqua-LtIt);
}

.lista_ciudades > li > ul > li:nth-child(3),
.lista_ciudades > li > ul > li:nth-child(7),
.lista_ciudades > li > ul > li:nth-child(11),
.lista_ciudades > li > ul > li:nth-child(15) {
  font-family: var(--font-GT-Sectra-Trial-Book);
  text-transform: uppercase;
}

@media only screen and (min-width: 0px) and (max-width: 959px) {
  .lista_ciudades {
    justify-content: center;
    align-items: center;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
  }
  .lista_ciudades > li > ul {
    justify-content: center;
    gap: 15px;
    padding: 0;
  }
}

/* DETAILS */

.details img {
  margin-bottom: 1rem;
}

.details a {
  text-decoration: none;
  color: var(--color-black);
  display: block;
}

.details p {
  font-family: var(--font-America-Trial-Md);
  text-transform: uppercase;
  color: var(--color-black);
  margin-bottom: 0;
  font-size: 1.4rem;
  font-weight: normal;
}

.details h2 {
  font-family: var(--font-America-Trial-Md);
  text-transform: uppercase;
  color: var(--color-black);
  margin-top: 0;
  font-size: 1.4rem;
  font-weight: normal;
}

/* MEDIA HEIGHT */

@media only screen and (min-height: 0px) and (max-height: 1119px) {
  .media_height {
    position: relative !important;
    margin-top: 50px;
  }
  .media_height_100 {
    height: auto !important;
  }
}

/* IMG OVER */

.img_over_active img {
  opacity: 0;
}

.img_over_active a * {
  color: var(--color-white) !important;
}

.img_big_over_active {
  opacity: 1;
}

.img_over_inactive {
  opacity: 0 !important;
}

/* HEADER WHITE */

.header_white {
  background: transparent !important;
}

.header_white * {
  color: var(--color-white) !important;
}

.header_white h1 {
  background: url("img/sprite.svg") -25rem 0 !important;
  background-size: 64rem 64rem !important;
  background-repeat: no-repeat !important;
  transition: all 0s ease-out;
}

.header_white > div {
  border-bottom: 1px solid var(--color-white);
}

.header_white_noline > div {
  border-bottom: 0 !important;
}

/* FOOTER WHITE */

.footer_white div,
.footer_white li,
.footer_white a {
  color: var(--color-white) !important;
}

.footer_white > div {
  border-top: 1px solid var(--color-white);
}

/* ABOUT */

.about_text_img {
  top: 33%;
  width: 100%;
  text-align: center;
  font-family: var(--font-America-Trial-Md);
  font-size: 2.5rem;
  text-transform: uppercase;
  color: var(--color-red);
  margin: auto;
}

.about_text {
  top: inherit;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0 2.5rem 110px 2.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  overflow: hidden;
  font-size: 10px;
}

.about_text > div:nth-child(1) {
  font-family: var(--font-GT-Sectra-Display);
  font-size: 23em;
  color: var(--color-red);
  text-transform: uppercase;
  line-height: 0.9em;
}

.about_text > div:nth-child(2) {
  font-family: var(--font-Carla-Nueva);
  font-size: 30em;
  color: var(--color-red);
  margin: 0 0 -0.25em -0.2em;
}

.about_text > div:nth-child(3) {
  font-family: var(--font-GT-Sectra-Display);
  font-size: 23em;
  color: var(--color-red);
  text-transform: uppercase;
  text-align: right;
  line-height: 0.9em;
}

@media only screen and (min-width: 0px) and (max-width: 1919px) {
  .about_text {
    font-size: 8px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 1439px) {
  .about_img {
    text-align: center;
  }
  .about_img img {
    width: 80%;
  }
  .about_text {
    font-size: 7px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 1279px) {
  .about_img img {
    width: 45%;
  }
  .about_text {
    font-size: 5px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 959px) {
  .about_text {
    font-size: 4px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 799px) {
  .about_text {
    font-size: 3.1px;
    padding: 0 0 6rem 0;
  }
  .about_text_img {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 639px) {
  .about_text {
    font-size: 2.4px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 479px) {
  .about_text {
    font-size: 1.9px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 389px) {
  .about_text {
    font-size: 1.6px;
  }
}

/* CAPTION IMG */

.caption_img {
  margin-top: 1rem;
  width: 65%;
  max-width: 300px;
  line-height: 2rem;
  text-align: justify;
  padding-bottom: 20rem;
}

/* IMG ABSOLUTE BOTTOM */

.img_absolute_bottom {
  position: absolute;
  bottom: 0;
  right: 0;
}

/* TWO COLUMNS LIST */

.two_columns_list {
  column-count: 2;
  column-gap: 0;
}

@media only screen and (min-width: 0px) and (max-width: 1279px) {
  .two_columns_list > div > div:first-child {
    display: none;
  }
  .two_columns_list > div > div:last-child {
    padding-left: 4rem;
  }
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .two_columns_list {
    padding: 0;
    column-count: 1;
  }
}

/* BEFORE SLASH */

.before_slash {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 3.5rem;
}

.before_slash::before {
  content: "/";
}

/* HEADER IMAGES PROJECT */

.header_images_project > figure {
  position: absolute;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  transition: none;
  will-change: transform;
}

.header_images_project > figure:nth-child(1) {
  top: 0;
  left: 25vw;
}

.header_images_project > figure:nth-child(2) {
  top: 12vh;
  left: 48vw;
}

.header_images_project > figure:nth-child(3) {
  top: 5vh;
  right: 12vw;
}

.header_images_project > figure:nth-child(4) {
  top: 28vh;
  left: 5vw;
}

.header_images_project > figure:nth-child(5) {
  bottom: 10vh;
  left: 10vh;
}

.header_images_project > figure:nth-child(6) {
  bottom: 15vh;
  left: 27vw;
}

.header_images_project > figure:nth-child(7) {
  bottom: 5vh;
  right: 30vw;
}

.header_images_project > figure:nth-child(8) {
  bottom: 30vh;
  right: 0;
}

.header_images_project > figure > img {
  display: block;
  width: 12vw;
  height: auto;
  backface-visibility: hidden;
  transition: none;
}

@media only screen and (min-width: 0px) and (max-width: 639px) {
  .header_images_project {
    contain: layout paint;
    transform: none;
    will-change: auto;
  }
  .header_images_project > figure {
    will-change: transform;
  }
}

.header_images_project > figure:nth-child(2) > img {
  width: 22vw;
}

.header_images_project > figure:nth-child(3) > img {
  width: 10vw;
}

.header_images_project > figure:nth-child(5) > img {
  width: 9vw;
}

.header_images_project > figure:nth-child(6) > img {
  width: 22vw;
}

.header_images_project > figure:nth-child(8) > img {
  width: 20vw;
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .header_images_project > figure > img {
    width: 22vw;
  }
  .header_images_project > figure:nth-child(2) {
    top: 12svh;
    left: 50vw;
    right: 0;
  }
  .header_images_project > figure:nth-child(2) > img {
    width: 25vw;
  }
  .header_images_project > figure:nth-child(3) {
    top: 5svh;
    right: 3vw;
  }
  .header_images_project > figure:nth-child(3) > img {
    width: 15vw;
  }
  .header_images_project > figure:nth-child(4) {
    top: 14svh;
    left: 0;
  }
  .header_images_project > figure:nth-child(4) > img {
    width: 22vw;
  }
  .header_images_project > figure:nth-child(5) {
    bottom: 20svh;
    left: 5svh;
  }
  .header_images_project > figure:nth-child(5) > img {
    width: 18vw;
  }
  .header_images_project > figure:nth-child(6) {
    bottom: 40svh;
    left: 25vw;
  }
}

@media only screen and (min-width: 0px) and (max-width: 639px) {
  .header_images_project > figure > img {
    width: 26vw;
  }
  .header_images_project > figure:nth-child(2) {
    top: 18svh;
    left: 55vw;
  }
  .header_images_project > figure:nth-child(2) > img {
    width: 35vw;
  }
  .header_images_project > figure:nth-child(5) {
    bottom: 14svh;
    left: 5svh;
  }
  .header_images_project > figure:nth-child(5) > img {
    width: 25vw;
  }
  .header_images_project > figure:nth-child(6) {
    bottom: 35svh;
    left: 25vw;
  }
  .header_images_project > figure:nth-child(6) > img {
    width: 35vw;
  }
  .header_images_project > figure:nth-child(8) {
    bottom: 33svh;
  }
  .header_images_project > figure:nth-child(8) > img {
    width: 30vw;
  }
}
@media only screen and (min-width: 0px) and (max-width: 479px) {
  .header_images_project > figure:nth-child(6) {
    bottom: 36svh;
    left: 14vw;
  }
  .header_images_project > figure:nth-child(6) > img {
    width: 42vw;
  }
}

/* SWIPER */

.swiper-button-next {
  width: 5.1rem !important;
  height: 1.6rem !important;
  right: 5rem !important;
}

.swiper-button-next::after {
  content: "" !important;
  width: 5.1rem;
  height: 1.6rem;
  background: url("img/sprite.svg") -6rem -22rem;
  background-size: 64rem 64rem;
  background-repeat: no-repeat;
}

.swiper-button-prev {
  width: 5.1rem !important;
  height: 1.6rem !important;
  left: 5rem !important;
}

.swiper-button-prev::after {
  content: "" !important;
  width: 5.1rem;
  height: 1.6rem;
  background: url("img/sprite.svg") 0 -22rem;
  background-size: 64rem 64rem;
  background-repeat: no-repeat;
}

.swiper-pagination {
  top: 0 !important;
  font-family: var(--font-America-Trial-Md);
  font-size: 1.2rem;
}

/* HEADER MIN HEIGHT */

.header_min_height {
  height: 100vh;
  min-height: 1100px;
  overflow: auto;
}

@media only screen and (min-width: 0px) and (max-width: 1919px) {
  .header_min_height {
    min-height: 760px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 799px) {
  .header_min_height {
    min-height: 660px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 639px) {
  .header_min_height {
    min-height: 560px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 479px) {
  .header_min_height {
    min-height: 460px;
  }
}

/* BACKGROUND CONTACT */

.contact_bg {
  background-image: url("./img/bg-contact.webp");
  background-size: cover;
  background-position: center center;
}

.over_contact_bg {
  background-image: url("./img/bg-contact-2.webp");
}

.contact_bg > div {
  position: inherit;
  width: 52vw;
  /*height: 75vh;*/
}

.contact_bg > div > div {
  position: inherit;
  opacity: 0;
}

.contact_bg > div:hover > div {
  opacity: 1;
}

.contact_bg form {
  width: 26vw;
  position: inherit !important;
  margin: auto;
}

.contact_bg form label {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: var(--font-America-Trial-Md);
  font-size: 1.5rem;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 3rem;
}

.contact_bg form label > span {
  display: block;
  width: 100%;
}

.contact_bg form label > span.message {
  display: block;
  text-align: center;
  font-family: var(--font-Zapf-Antiqua-LtIt);
  font-size: 3rem;
  color: var(--color-white);
  text-transform: initial;
  margin-top: 1.5rem;
}

.contact_bg form input {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--color-white);
  color: var(--color-white);
  padding: 0 0 0.5rem 0;
  margin-top: 1rem;
  background: transparent;
  text-align: center;
}

.contact_bg form input:focus {
  outline: none;
}

.contact_bg form input[type="submit"] {
  text-align: center;
  border: 0;
  margin-top: 3rem;
  font-family: var(--font-America-Trial-Md);
  font-size: 1.5rem;
  text-transform: uppercase;
  color: var(--color-white);
  cursor: pointer;
}

.contact_bg form textarea {
  width: 100%;
  max-height: 17rem;
  border: 0;
  border-bottom: 1px solid var(--color-white);
  color: var(--color-white);
  padding: 0 0 0.5rem 0;
  margin-top: 1rem;
  background: transparent;
  text-align: left;
  resize: none;
}

.contact_bg form textarea:focus {
  outline: none;
}

.contact_bg form span[data-name="acceptance-920"] {
  display: block;
  width: 100%;
}

.contact_bg form span[data-name="acceptance-920"] > span {
  display: block;
  width: 100%;
}

.contact_bg form span[data-name="acceptance-920"] > span > span {
  display: block;
  width: 100%;
}

.contact_bg form .wpcf7-acceptance > span {
  margin-left: 0;
}

.contact_bg form .wpcf7-acceptance > span > label {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.contact_bg form .wpcf7-acceptance > span > label > input {
  width: fit-content;
  margin: 0;
}

.contact_bg form .wpcf7-acceptance > span > label > span {
  width: fit-content;
  color: var(--color-white);
  font-size: 1.2rem;
}

.contact_bg form .two_columns > p {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.8rem;
}

.contact_bg form .two_columns > p > label {
  flex: 1;
}

.contact_bg form .two_columns > p > label:first-child {
  align-self: flex-start;
}

.wpcf7-not-valid-tip {
  text-align: center;
  text-transform: lowercase;
}

.wpcf7-response-output {
  border-color: var(--color-white) !important;
  color: var(--color-white);
  padding: 1rem !important;
  text-align: center;
  font-size: 1.5rem;
  font-family: var(--font-America-Trial-Md);
  text-transform: uppercase;
}

.contact_response {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.contact_response > p {
  z-index: 1;
  font-family: var(--font-Carla-Nueva);
  font-size: 45rem;
  color: var(--color-red);
  text-transform: capitalize;
  transform: rotate(-27deg);
  margin-top: 35rem;
}

.contact_response > figure {
  position: absolute;
}

.contact_response > figure:nth-child(2) {
  top: 14%;
  left: 18%;
}

.contact_response > figure:nth-child(3) {
  top: 0;
  right: 15%;
  text-align: right;
}

.contact_response > figure:nth-child(4) {
  bottom: 15%;
  left: 5%;
}

.contact_response > figure:nth-child(5) {
  bottom: 15%;
  right: 5%;
  text-align: right;
}

.contact_ok_bg {
  background-image: url("./img/bg-contact-2.webp") !important;
}

@media only screen and (min-width: 0px) and (max-width: 1919px) {
  .contact_response > p {
    font-size: 40rem;
    text-align: center;
  }
}

@media only screen and (min-width: 0px) and (max-width: 1439px) {
  .contact_bg form {
    width: 32vw;
  }
  .contact_response > figure > img {
    width: 80%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 1279px) {
  .contact_bg form {
    width: 36vw;
  }
  .contact_response > p {
    font-size: 30rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 959px) {
  .contact_bg form {
    width: 44vw;
  }
  .contact_response > figure > img {
    width: 60%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 799px) {
  .contact_bg form {
    width: 55vw;
  }
  .contact_response > p {
    font-size: 20rem;
  }
  .contact_response > figure > img {
    width: 40%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 479px) {
  .contact_bg form {
    width: 65vw;
  }
}

/* PORTFOLIO */

#containerPortfolio {
  min-height: 100vh;
  overflow: hidden;
  font-size: 10px;
}
/*
#containerPortfolio > figure {
  position: absolute;
  opacity: 0;
}
*/

#containerPortfolio > img {
  position: absolute;
  opacity: 0;
  width: auto;
  max-width: 100%;
}

@media only screen and (min-width: 0px) and (max-width: 1919px) {
  #containerPortfolio {
    font-size: 7px;
  }
  #containerPortfolio > img {
    transform: scale(0.7);
  }
}
@media only screen and (min-width: 0px) and (max-width: 1023px) {
  #containerPortfolio {
    font-size: 5px;
  }
  #containerPortfolio > img {
    transform: scale(0.5);
  }
}
@media only screen and (min-width: 0px) and (max-width: 959px) {
  #containerPortfolio {
    font-size: 4.5px;
  }
  #containerPortfolio > img {
    transform: scale(0.45);
  }
}
@media only screen and (min-width: 0px) and (max-width: 799px) {
  #containerPortfolio {
    font-size: 3.5px;
  }
  #containerPortfolio > img {
    transform: scale(0.35);
  }
}
@media only screen and (min-width: 0px) and (max-width: 639px) {
  #containerPortfolio {
    font-size: 3px;
  }
  #containerPortfolio > img {
    transform: scale(0.3);
  }
}
@media only screen and (min-width: 0px) and (max-width: 479px) {
  #containerPortfolio {
    font-size: 2.5px;
  }
  #containerPortfolio > img {
    transform: scale(0.25);
  }
}

/* SCROLL UP */

.scroll_up {
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--color-white);
}

.scroll_up > div {
  border-bottom: 1px solid var(--color-black);
}

/* TÏTULO BLEND */

.titulo_white,
.titulo_white * {
  color: var(--color-white);
}

/* COVER */

.img_cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ITEM GALLERY */

.item_gallery {
  width: calc(33.33% - 5.5rem);
}

@media only screen and (min-width: 0px) and (max-width: 799px) {
  .item_gallery {
    width: 100%;
  }
}

/* ZOOM */

.zoom {
  transform: scale(1.2);
}

/* PAGE CONTENT */

.page_content > * {
  margin-bottom: 3rem;
}

.page_content ul,
.page_content ol {
  margin-left: 3rem;
}

.page_content p,
.page_content li {
  font-size: 2.4rem;
}

/* COOKIES */

#cookie-banner {
  position: fixed;
  z-index: 1000;
  bottom: 2rem;
  right: 2rem;
  background-color: black;
  color: white;
  padding: 3rem;
  border-radius: 5px;
  display: none;
}

#cookie-banner p {
  margin-bottom: 3rem;
  font-size: 2rem;
  color: white;
}

#cookie-banner div div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

#cookie-banner button {
  background-color: white;
  color: black;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  cursor: pointer;
}

#cookie-banner #preferences {
  display: none;
  padding: 2rem 0;
}

#cookie-banner #preferences label {
  display: flex;
  align-items: center;
  font-size: 2rem;
  margin-bottom: 1rem;
  gap: 1rem;
  color: white;
}

/* CAPTCHA */

.grecaptcha-badge {
  opacity: 0;
  z-index: 0;
}

/* IMAGEN OPTIMIZADA */

.img__optimizada {
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
}

.img__optimizada img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.img__optimizada_2 {
  width: 100%;
  aspect-ratio: 23 / 28;
  overflow: hidden;
}

.img__optimizada_2 img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
