/***GLOBAL VARIABLES
*****************************************************/
:root {
/***TEXT***/
    --latinxBlackXSmall: 0.9rem;
    --latinxBlackSmall: 1.2rem;
    --latinxBlackMedium: 1.5rem;
    --latinxBlackLarge: 3.25rem;
    --latinxBlackXLarge: 4.25rem;
    --latinxTextXSmall: 1.1rem;
    --latinxTextSmall: 1.4rem;
    --latinxTextMedium: 2rem;
    --latinxTextLarge: 3rem;
    --latinxTextXLarge: 4.25rem;
    --fontWeight: 400;
    --letterSpacing: 0.05em;
    --wordSpacing: -0.05em;
    --lineHeightNatural: 1.2;
    --lineHeightText: 1.3;
    --lineHeightTextUpper: 1.1;
    --lineHeightBlackLower: 1; 
    --lineHeightBlackUpper: 0.85;

/***SPACES***/
    --spaceY: calc(var(--latinxBlackXLarge) * 0.65);
    --spaceX: calc(var(--latinxBlackXLarge) * 0.65);
    --bodySpaces: 0;
    --rowGutter: calc(var(--latinxBlackXLarge) * var(--lineHeightBlackLower));
    --rowGutterTextXSmall: calc(var(--latinxTextXSmall) * var(--lineHeightText));
    --rowGutterTextSmall: calc(var(--latinxTextSmall) * var(--lineHeightText));
    --rowGutterTextMedium: calc(var(--latinxTextMedium) * var(--lineHeightText));
    --rowGutterTextLarge: calc(var(--latinxTextLarge) * var(--lineHeightText));
    --rowGutterBlackLarge: calc(var(--latinxBlackLarge) * 0.6);
    --rowGutterBlackXLarge: calc(var(--latinxBlackXLarge) * 0.6);
    /*
    --rowGutterLarge: calc(var(--fontSizeLarge) * var(--lineHeight));
    --rowGutterSmall: calc(var(--fontSizeSmall) * var(--lineHeight));
    */
    --colGutter: calc(var(--latinxBlackXLarge) * 0.65);

/***SIZES***/
    --headerHeight: calc(var(--rowGutterTextSmall) + var(--spaceY)*1);
    --mainWidth: 1920px;
    /*
    --mainHeight: calc(100vh - var(--headerHeight) - var(--mainTopSpace) - var(--mainBottomSpace) - var(--footerHeight));
    */
    --moduleHeightLarge: calc(100vh - var(--headerHeight) - var(--rowGutter)*2);
    --footerHeight: calc(var(--spaceY)*2 + var(--rowGutter));

/***GRIDS***/
    --gridTemplate: repeat(12, 1fr);
    --gridGap: var(--rowGutter) var(--colGutter);

/***COLOR***/
    --paletteWhite: #FCFCFC;
    --paletteGrayDark: #999999;
    --paletteGrayLight: #EEEEEE;
    --paletteBlack: #000000;
    /*--paletteYellow: #eaff0a;*/
    --paletteYellow: #ffff33;
    --paletteAlpha: transparent;
    --backColor: var(--paletteWhite);
    --textColor: var(--paletteBlack);
    --linkColor: var(--paletteBlack);
    --hoverColor: var(--paletteGrayDark);

/***DECORATION***/
    --borderWidth: 1px;
    --linkDeco: underline var(--borderWidth);
    --borderLine: var(--borderWidth) solid var(--textColor);
    --boxShadow: 6px 6px 12px 0px rgba(0, 0, 0, 0.05);

/***TRANSITION***/
    --transitionDuration: 0.3s;
    --transitionDurationSlow: 1s;
}
  
/***FONTS
*****************************************************/
* {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
	text-size-adjust: 100%;
    -webkit-font-smoothing: smooth;
	-moz-font-smoothing: smooth;
    -moz-osx-font-smoothing: smooth;
	-ms-font-smoothing: smooth;
    -o-font-smoothing: smooth;
    text-rendering: geometricPrecision;
}
@font-face {
    font-family: Latinx Black;
    src: url("Latinx-Black.ttf"); 
}
@font-face {
    font-family: Latinx Text Regular;
    src: url("LatinxText-Regular.ttf");
}
@font-face {
    font-family: Latinx Text Regular Oblique;
    src: url("LatinxText-RegularOblique.ttf");
}
@font-face {
    font-family: Latinx Text Bold;
    src: url("LatinxText-Bold.ttf");
}
@font-face {
    font-family: Latinx Text Bold Oblique;
    src: url("LatinxText-BoldOblique.ttf");
}
.latinx_black_XS {
    font-family: Latinx Black;
    font-size: var(--latinxBlackXSmall);
    line-height: var(--lineHeightBlackLower);
}
.latinx_black_S {
    font-family: Latinx Black;
    font-size: var(--latinxBlackSmall);
    line-height: var(--lineHeightBlackLower);
}
.latinx_black_M {
    font-family: Latinx Black;
    font-size: var(--latinxBlackMedium);
    line-height: var(--lineHeightBlackLower);
}
.latinx_black_L {
    font-family: Latinx Black;
    font-size: var(--latinxBlackLarge);
    line-height: var(--lineHeightBlackLower);
}
.latinx_black_XL {
    font-family: Latinx Black;
    font-size: var(--latinxBlackXLarge);
    line-height: var(--lineHeightBlackLower);
}
.latinx_text_XS {
    font-family: Latinx Text Regular;
    font-size: var(--latinxTextXSmall);
    line-height: var(--lineHeightText);
    letter-spacing: var(--letterSpacing);
}
.latinx_text_S {
    font-family: Latinx Text Regular;
    font-size: var(--latinxTextSmall);
    line-height: var(--lineHeightText);
    text-underline-offset: 3px;
}
.latinx_text_M {
    font-family: Latinx Text Regular;
    font-size: var(--latinxTextMedium);
    text-underline-offset: 5px;
}
.latinx_text_M:not(.bold) {
    line-height: var(--lineHeightText);
}
.latinx_text_M.bold:not(.uppercase) {
    line-height: var(--lineHeightNatural);
}
.latinx_text_M.bold.uppercase {
    letter-spacing: 0.015em;
    word-spacing: -0.015em;
    line-height: 1.1;
}
.latinx_text_L {
    font-family: Latinx Text Regular;
    font-size: var(--latinxTextLarge);
    text-underline-offset: 5px;
}
.latinx_text_L:not(.uppercase) {
    line-height: var(--lineHeightNatural);
}
.latinx_text_L.uppercase {
    letter-spacing: 0.015em;
    word-spacing: -0.015em;
    line-height: var(--lineHeightTextUpper);
}
.latinx_text_XL {
    font-family: Latinx Text Regular;
    font-size: var(--latinxTextXLarge);
    line-height: var(--lineHeightNatural);
}
.latinx_text_XL:not(.uppercase) {
    line-height: var(--lineHeightNatural);
}
.latinx_text_XL.uppercase {
    letter-spacing: 0.015em;
    word-spacing: -0.015em;
    line-height: var(--lineHeightTextUpper);
}
.uppercase {
    text-transform: uppercase;
}
.lowercase {
    text-transform: lowercase;
}
.latinx_black_S.uppercase,
.latinx_black_M.uppercase,
.latinx_black_L.uppercase,
.latinx_black_XL.uppercase {
    line-height: var(--lineHeightBlackUpper);
}
.latinx_text_XS.italic,
.latinx_text_S.italic,
.latinx_text_M.italic,
.latinx_text_L.italic,
.latinx_text_XL.italic {
    font-family: Latinx Text Regular Oblique;
}
.latinx_text_XS.itali.bold,
.latinx_text_S.italic.bold,
.latinx_text_M.italic.bold,
.latinx_text_L.italic.bold,
.latinx_text_XL.italic.bold {
    font-family: Latinx Text Bold Oblique;
}
.latinx_text_XS.bold,
.latinx_text_S.bold,
.latinx_text_M.bold,
.latinx_text_L.bold,
.latinx_text_XL.bold {
    font-family: Latinx Text Bold;
}

a .latinx_text_S.bold,
a .latinx_text_M.bold,
a .latinx_text_L.bold,
a .latinx_text_XL.bold {
    transition: color var(--transitionDuration);
}

a:hover .latinx_text_S.bold,
a:hover .latinx_text_M.bold,
a:hover .latinx_text_L.bold,
a:hover .latinx_text_XL.bold {
    text-decoration: var(--linkDeco);
}

/***RESET
*****************************************************/
::-webkit-scrollbar {
    display: none;
}
::-webkit-selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
::-moz-selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
::-ms-selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
::-o-selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
::selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
img::-webkit-selectio {
    color: transparent;
    background-color: transparent;
}
img::-moz-selection {
    color: transparent;
    background-color: transparent;
}
img::-ms-selection {
    color: transparent;
    background-color: transparent;
}
img::-o-selection {
    color: transparent;
    background-color: transparent;
}
img::selection {
    color: transparent;
    background-color: transparent;
}
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    /*color-scheme: light dark;*/
    scroll-behavior: smooth;
}
body {
    position: relative;
    margin: var(--bodySpaces);
    color: var(--textColor);
    background: var(--backColor);
    font-family: Latinx Text Regular, Helvetica, Arial, sans-serif;
    line-height: var(--lineHeight);
    transition-property: color, background;
    transition-duration: var(--transitionDuration);
    overflow-x: hidden;
}
body .logo {
    transition-property: background;
    transition-duration: var(--transitionDuration);
}
body .logo.active {
    background: transparent;
}
body header,
body header > nav a {
    transition-property: color, background;
    transition-duration: var(--transitionDuration);
}
body.dark header {
    background: var(--paletteBlack);
}
body.dark header > nav a {
    color: var(--paletteWhite);
}
body.dark header > nav a:hover {
    color: var(--paletteWhite);
}
body.dark header .call_to_action a {
    border-color: var(--paletteWhite);
}
body .media {
    transition-property: opacity;
    transition-duration: var(--transitionDuration);
}
body.dark .media {
    opacity: 0.3;
}
body .data {
    transition-property: opacity;
    transition-duration: var(--transitionDuration);
}
body.dark .data {
    opacity: 0;
}
ul {
    display: block;
    list-style-type: none;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}

li {
  display: block;
}
h1, h2, h3 {
    margin: 0;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding: 0;
    font-style: normal;
    font-weight: 400;
}
p {
    display: block;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0;
}
span {
    display: inline;
}
form, input, textarea, submit,
iframe, embed, audio {
    margin: 0;
    padding: 0;
    color: var(--textColor);
    background: transparent;
    border: 0;
    outline: none;
    font: inherit;
    font-size: inherit;
}
input:focus, textarea:focus {
    outline: none;
}
input[name="submit"] {
	cursor: pointer;
}
:-webkit-input-placeholder {
	/*internet explorer*/
	color: var(--textColor);
}
::-moz-input-placeholder {
	/*mozilla edge*/
    color: var(--textColor);
}
::-ms-input-placeholder {
	/*microsoft edge*/
    color: var(--textColor);
}
::-o-input-placeholder {
	/*microsoft edge*/
    color: var(--textColor);
}
::placeholder {
	/*chrome, firefox, opera, safari*/
    color: var(--textColor);
}
img, video {
    vertical-align: middle;
}
img.lazy,
video.lazy {
    opacity: 0;
    transition: opacity var(--transitionDurationSlow);
}
img.lazy.loaded,
video.lazy.loaded {
    opacity: 1;
}

/***INTRO ANIMATION
*****************************************************/
.logo {
    width: 100%;
    position: fixed;
    top: 0;
    display: flex;
    font-size: 6rem !important;
    padding: var(--spaceY) var(--spaceX) 0;
    transition-property: font-size, padding, opacity;
    /*
    transition-duration: var(--transitionDurationSlow);
    transition-timing-function: ease-in-out;
    */
    z-index: 300;
    pointer-events: none;
}
.logo.force {
    padding-top: 29px;
}
.logo.force img {
    height: 16.5px;
}
.logo {
    /*height: 19.5vw;*/
    padding: var(--spaceY) var(--spaceX) 0;
    opacity: 1;
}
.logo.medium {
    width: 50vw;
    height: 9.7vw;
    padding: calc(var(--spaceY)*.6) var(--spaceX);
    opacity: 1;
}
.logo.small {
    width: auto;
    height: var(--spaceY);
    padding: calc(var(--spaceY)*0.35) var(--spaceX) calc(var(--spaceY)*0.35);
    opacity: 1;
}
.logo.small img {
    width: auto;
    height: var(--spaceY);
}
.logo.null {
    font-size: 0;
    padding: 0 var(--spaceX);
    opacity: 0;
}
.header_logo {
    margin-left: 0;
    display: flex;
    gap: 0 calc(var(--spaceY)*.35);
    transition-property: margin-left;
    transition-duration: var(--transitionDuration);
    transition-timing-function: ease-in-out;
}
.header_logo {
    transition-property: margin-left, opacity;
    transition-duration: var(--transitionDuration);
}
.header_logo:not(.hidden) {
    margin-left: 0;
    opacity: 1;
}
.header_logo.hidden {
    margin-left: calc((109px + var(--colGutter)*.75) * -1);
    opacity: 0;
}
.menu_button {
    display: flex;
    gap: 0 calc(var(--spaceX)*0.25);
    transition-property: margin-right;
    transition-duration: var(--transitionDuration);
}
.menu_button.hidden {
    margin-right: calc((var(--spaceX)*1.35) * -1);
    opacity: 0;
}
.menu_button a {
    display: flex;
    gap: 0 calc(var(--spaceX)*0.25);
}
.burger_button {
    display: flex;
    align-items: center;
}
svg.burger_icon {
    width: auto;
    height: 15px;
    margin-top: 1px;
    fill: none;
    stroke: var(--textColor);
    stroke-width: 3px;
    stroke-linecap: butt;
}
svg.burger_icon line {
    vector-effect: non-scaling-stroke;
}
/*
.marquee {
    width: 100vw;
    height: 11vw;
    margin-left: calc(var(--spaceX)*-1);
    overflow: hidden;
    display: flex;
}
.marquee .marquee_item {
    white-space: nowrap;
}
*/

/***HEADER AND MENU
*****************************************************/
.highlight_bar {
    width: 100%;
    /*height: var(--headerHeight);*/
    padding: calc(var(--spaceY)*0.35) var(--spaceX) calc(var(--spaceY)*0.35);
    position: fixed;
    bottom: 0;
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--colGutter);
    background: var(--paletteYellow);
    z-index: 100;
    transition-property: transform;
    transition-duration: var(--transitionDuration);
}
.highlight_bar a {
    text-decoration: var(--linkDeco);
    text-underline-offset: 2px;
}
.highlight_bar.closed {
    transform: translateY(100%);
}
header {
    width: 100%;
    height: var(--headerHeight);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    padding: calc(var(--latinxTextSmall)*0.5) var(--spaceX) calc(var(--latinxTextSmall)*0.5);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 var(--latinxTextSmall);
    z-index: 100;
    background: var(--backColor);
    transition-property: background;
    transition-duration: var(--transitionDuration);
}
header.active {
    background: var(--paletteYellow);
}
.header_logo {
    margin-top: 2px;
    margin-right: calc(var(--colGutter)*.75);
    justify-self: start;
}
nav.menu_main {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    margin-top: 0px;
    display: flex;
    justify-self: start;
    align-items: center;
    justify-content: space-between;
    /*padding: calc(var(--spaceY)*0.25) var(--spaceX) calc(var(--spaceY)*0.3);*/
    z-index: 100;
    /*box-shadow: var(--boxShadow);*/
    transition-property: background, opacity, transform;
    transition-duration: var(--transitionDuration);
}
nav.menu_main.force {
    margin-left: 110px;
}
nav.menu_main.open {
    transform: translateY(100%);
}
nav.menu_main > ul {
    display: flex;
    /*justify-content: end;*/
    gap: 0 calc(var(--colGutter)*.75);
    margin-top: 0px;
}
/*
nav.menu_main > ul:hover a,
nav.menu_main > ul a.deactive {
    color: var(--paletteGrayDark);
}
*/
nav.menu_main > ul a {
    text-underline-offset: 4px;
}
nav.menu_main > ul a:hover,
nav.menu_main > ul a.active {
    text-decoration: var(--linkDeco);
    
}
/*
nav.menu_secondary {
    width: 100%;
    justify-self: end;
}
*/

/***SUB MENU***/
.sub_menu {
    width: 100%;
    height: calc(100vh - var(--headerHeight));
    position: absolute;
    top: var(--headerHeight);
    left: 0;
    background: var(--paletteYellow);
    transition-property: opacity, height, transform;
    transition-duration: var(--transitionDuration);
    z-index: 0;
    overflow-y: scroll;
    
}
.sub_menu:not(.open),
.sub_menu:not(.open) a {
    opacity: 0;
    pointer-events: none;
}
.sub_menu.open a {
    opacity: 1;
    pointer-events: auto;
}
.sub_menu .close_menu_button {
    position: fixed;
    top: 0;
    right: 0;
    padding: calc(var(--spaceY)*0.6) var(--spaceX);
    z-index: 100;
    cursor: pointer;
}
.sub_menu > ul.menu_general {
    width: 100%;
    flex: 1;
    padding-inline: var(--spaceX);
    padding-block: var(--spaceY);
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--spaceX);
    /*
    transition-property: opacity;
    transition-duration: var(--transitionDuration);
    */
}
/*
.sub_menu ul:hover a {
    color: var(--paletteGrayDark);
}
.sub_menu ul a {
    color: var(--paletteWhite);
}
*/
.sub_menu > ul.menu_general .menu_col {
    width: 100%;
    grid-column: span 3;
    display: flex;
    flex-direction: column;
    gap: var(--rowGutterTextSmall) 0;
}
.sub_menu > ul.menu_general .menu_col.col_info {
    justify-content: end;
    position: relative;
}
.sub_menu > ul.menu_general .menu_col.col_info .lang_switch{
    /*
    position: absolute;
    top: 0;
    */
}
/*
.stack_title.latinx_text_M.bold {
    line-height: var(--lineHeightText);
}
*/
.sub_menu > ul.menu_general .menu_col.col_info .call_to_action {
    margin-top: calc(var(--rowGutterTextSmall)*0.5);
}
.sub_menu > ul.menu_general .menu_col .stack_title a:hover {
    /*padding-left: calc(var(--latinxTextXLarge)*1);*/
    text-decoration: var(--linkDeco);
    text-underline-offset: 3px;
}
.sub_menu > ul.menu_general .menu_col .stack_items li.menu_item {
    /*width: fit-content;*/
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}
.sub_menu > ul.menu_general .menu_col .stack_items li.menu_item:before {
    content: "↗";
    position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.075s;
    transition-delay: 0;
    /*rotate: -45deg;*/
}
.sub_menu > ul.menu_general .menu_col .stack_items li.menu_item:hover:before {
    opacity: 1;
    transition: opacity var(--transitionDuration);
    transition-delay: 0.1s;
}
.sub_menu > ul.menu_general .menu_col .stack_items li.menu_item a {
    transition-property: padding-left;
    transition-duration: var(--transitionDuration);
}
.sub_menu > ul.menu_general .menu_col .stack_items li.menu_item:hover a {
    padding-left: var(--latinxTextMedium);
}

/***SECONDARY MENU***/
nav.menu_secondary ul {
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 0 calc(var(--spaceX) * 0.25);
}
nav.menu_secondary li.menu_button {
    display: flex;
    align-items: center;
    gap: calc(var(--latinxTextSmall) * 0.5);
    margin-left: calc(var(--spaceX)*0.25);
}
nav.menu_secondary li.menu_button img {
    width: calc(var(--spaceY)*0.8);
}
nav.menu_secondary li.menu_button .line {
    fill: none;
    stroke: #000000;
    stroke-width: 5;
}
.search_button {
    position: absolute;
    top: 0;
    /*
    position: fixed;
    top: 0;
    left: calc(25vw - var(--colGutter)*0.25);
    padding: calc(var(--spaceY)*0.4) var(--spaceX);
    */
    z-index: 100;
    cursor: pointer;
}
.search_icon {
    margin-top: 6px;
    margin-right: calc(var(--latinxTextSmall) * 0.5);
    align-self: center;
    transform: scaleX(-1);
    fill: none;
    stroke: var(--textColor);
    stroke-width: 2px;
    stroke-linecap: butt;
}
.search_icon path {
    vector-effect: non-scaling-stroke;
}
nav.menu_secondary.hide li.menu_button{
    opacity: 0;
    pointer-events: none;
}

/***LINKS AND BUTTONS
*****************************************************/
a {
    color: var(--linkColor);
    text-decoration: none;
    transition-property: color;
    transition-duration: var(--transitionDuration);
}
a:hover {
    /*
    color: var(--hoverColor);
    transition-property: color;
    transition-duration: var(--transitionDuration);
    */
}
.call_to_action a {
    font-family: Latinx Text Bold;
    letter-spacing: var(--letterSpacing);
    border: var(--borderLine);
    border-radius: 2px;
    /*letter-spacing: var(--letterSpacing);*/
    /*background: var(--paletteGrayLight);*/
}
.call_to_action.button_small {
    font-size: var(--latinxTextXSmall);
    padding-block: calc(var(--latinxTextXSmall)*0.25) calc(var(--latinxTextXSmall)*0.35);
}
.call_to_action.button_small a {
    padding: calc(var(--latinxTextXSmall)*0.25) calc(var(--latinxTextXSmall)*0.75) calc(var(--latinxTextXSmall)*0.35);
}
.call_to_action.button_large {
    /*height: calc(var(--latinxTextMedium) * 2);*/
    font-size: var(--latinxTextXSmall);
    padding-block: calc(var(--latinxTextXSmall)*0.75) calc(var(--latinxTextXSmall)*0.85);
    align-self: start;
    /*margin-top: calc(var(--spaceY)*1);*/
}
.call_to_action.button_large a {
    padding: calc(var(--latinxTextXSmall)*0.75) calc(var(--latinxTextXSmall)*1.2) calc(var(--latinxTextXSmall)*0.85);
}
.call_to_action a {
    transition-property: color, background, border-color, padding;
    transition-duration: var(--transitionDuration);
}
.call_to_action a:hover {
    color: var(--paletteWhite);
    background: var(--paletteBlack);
}
.agenda .call_to_action a:hover {

}
.module .call_to_action.button_large .arrow {
    position: absolute;
    margin-left: calc(var(--latinxTextXSmall) * 0.25);
    opacity: 0;
    rotate: -45deg;
    pointer-events: none;
    transition-property: opacity;
    transition-duration: var(--transitionDuration);
    transition-delay: 0;
}
.module .call_to_action.button_large a:hover {
    padding-right: calc(var(--latinxTextXSmall) * 2.25);
}
.module .call_to_action.button_large a:hover .arrow {
    opacity: 1;
    transition-delay: 0.15s;
}

/***MAIN CONTENT
*****************************************************/
main.content {
    /*max-width: var(--mainWidth);*/
    /*
    min-height: var(--mainHeight);
    */
    position: relative;
    margin-inline: auto;
    /*margin-block: 0 var(--spaceY);*/
}

/***MODULES***/ 
.module {
    margin-inline: auto;
    /*margin-bottom: calc(var(--rowGutterTextSmall)*1);*/
}
.module .module_header {
    max-width: var(--mainWidth);
    margin-inline: auto;
    margin-bottom: calc(var(--rowGutterTextSmall)*1);
    display: flex;
    justify-content: space-between;
}
.module .module_content {
    max-width: var(--mainWidth);
    margin-inline: auto;
}
/*
.module .module_item {
    margin-inline: auto;
}
.module:not(.highlight_small) .tag {
    margin-bottom: calc(var(--latinxBlackSmall)*0.1);
}
*/
.module .module_footer {
    max-width: var(--mainWidth);
    margin-inline: auto;
}
.module:not(.fullscreen) {
    /*max-width: var(--mainWidth);*/
    padding-inline: var(--spaceX);
}

/***VISIT MODULE***/
.module.visit {
    position: relative;
    /*padding-inline: var(--spaceX);*/
    margin-block: calc(var(--spaceY)*1) calc(var(--spaceY)*3);
}
.module.visit .module_content {
    display: flex;
    justify-content: space-between;
    align-items: start;
}

/***EXHIBITION MODULE (LARGE)***/
.module.expo_large {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 16/6;
    /*padding-inline: var(--spaceX);*/
    margin-block: calc(var(--spaceY)*3);
}
.module.expo_large .module_item {
    max-width: var(--mainWidth);
    height: 100%;
    position: relative;
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
}
.module.expo_large .module_item .data {
    height: 100%;
    position: absolute;
    align-self: start;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spaceY) 0;
}
.module.expo_large .module_item .data .headline {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--headerHeight) + var(--spaceY));
    margin-bottom: var(--rowGutter);
}
.module.expo_large .module_item .data .headline .date {
    color: var(--paletteGrayDark);
    /*
    color: transparent;
    -webkit-text-stroke: var(--borderWidth) var(--textColor);
    text-stroke: var(--borderWidth) var(--textColor);
    */
}
.module.expo_large .module_item .data .headline .data_footer {
    padding-block: calc(var(--spaceY) * 0.2);
    /*
    color: transparent;
    -webkit-text-stroke: var(--borderWidth) var(--textColor);
    text-stroke: var(--borderWidth) var(--textColor);
    */
}
.module.expo_large .module_item .media {
    width: 100%;
    grid-column: 6/13;
}
.module.expo_large .module_item .media img {
    width: 100%;
    height: 100%;
    max-height: var(--moduleHeightLarge);
    object-fit: contain;
    object-position: right bottom;
}

/***EXHIBITION MODULE (MEDIUM)***/
.module.expo_medium {
    position: relative;
    /*height: var(--moduleHeightLarge);*/
    /*padding-inline: var(--spaceX);*/
    margin-block: calc(var(--spaceY)*3);
}
.module.expo_medium .module_content {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
    grid-auto-flow: column;  
    margin-bottom: var(--spaceY);
}
.module.expo_medium .module_item {
    max-width: var(--mainWidth);
    height: 100%;
}
.module.expo_medium .module_item:not(:last-child) {
    grid-column: span 5;
}
.module.expo_medium .module_item:last-child {
    grid-column: span 2;
    width: 175%;
}
.module.expo_medium .module_item:last-child .data {
    width: 175%;
}
.module.expo_medium .module_item .data {
    margin-top: var(--rowGutterBlackLarge);
    /*height: 100%;*/
    /*
    position: absolute;
    align-self: start;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spaceY) 0;
    */
}
.module.expo_medium .module_item .data span {
    transition-property: padding-left;
    transition-duration: var(--transitionDuration);
}
.module.expo_medium .module_item a:hover .data span:first-child {
    padding-left: var(--latinxBlackLarge);
}
.module.expo_medium .module_item .data .headline {
    /*margin-bottom: var(--spaceY);*/
}
.module.expo_medium .module_item .data .headline .date {
    color: var(--paletteGrayDark);
}
.module.expo_medium .module_item .media.vertical {
    width: 100%;
    /*max-height: var(--moduleHeightLarge);*/
}
.module.expo_medium .module_item .media.vertical {
    grid-column: 1/7;
}
.module.expo_medium .module_item .media.vertical img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left top;
}
.module.expo_medium .module_item:nth-child(3) .media.vertical img {
    width: 150%;
}
.module.expo_medium .module_item .data_footer {
    width: 150%;
    margin-top: calc(var(--latinxBlackSmall)*0.5);
    /*
    position: absolute;
    align-self: start;
    display: flex;
    flex-direction: column;
    justify-content: space-betwfeen;
    gap: var(--spaceY) 0;
    */
    /*
    transition-property: padding-left;
    transition-duration: var(--transitionDuration);
    */
}
/*
.module.expo_medium .module_item a:hover .data_footer {
    padding-left: var(--latinxBlackLarge);
}
*/

/***EXHIBITION EVENTS***/
.module.events {
    position: relative;
    /*height: var(--moduleHeightLarge);*/
    /*padding-inline: var(--spaceX);*/
    margin-block: calc(var(--spaceY)*4);
}
.module.events .module_content {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
    grid-auto-flow: column;  
    margin-bottom: calc(var(--spaceY)*1.5);
}
.module.events .module_item {
    max-width: var(--mainWidth);
    height: 100%;
}
.module.events .module_item:not(:last-child) {
    grid-column: span 5;
}
.module.events .module_item:last-child {
    grid-column: span 2;
    width: 275%;
}
.module.events .module_item .media {
    width: 100%;
    aspect-ratio: 15/10;
}
.module.events .module_item .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.module.events .module_item:last-child .data {
    width: 275%;
}
.module.events .module_item .data {
    padding-top: var(--latinxTextMedium);
}
.module.events .module_item .data .tag {
    margin-bottom: calc(var(--latinxTextXSmall)*0.2);
}
.module.events .module_item .headline {
    margin-bottom: var(--latinxTextSmall);
}
.module.events .module_item .data_schedule {
    margin-bottom: calc(var(--latinxTextXSmall)*0.15);
}
.module.events .module_item .data_description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}
.module.events .module_item .data_footer {
    width: 150%;
    margin-top: calc(var(--spaceY)*.1);
    /*
    position: absolute;
    align-self: start;
    display: flex;
    flex-direction: column;
    justify-content: space-betwfeen;
    gap: var(--spaceY) 0;
    */
    transition-property: color;
    transition-duration: var(--transitionDuration);
}
.module.events .module_item a:hover .data_footer {
    color: var(--paletteGrayDark);
}

/***AGENDA MODULE***/
.module.agenda {
    position: relative;
    /*height: var(--moduleHeightLarge);*/
    /*padding-inline: var(--spaceX);*/
    /*padding-block: var(--rowGutterTextSmall) var(--spaceX);*/
    margin-block: calc(var(--spaceY)*3);
    /*
    padding-block: var(--spaceY);
    background: var(--paletteYellow);
    */
}
.module.agenda .agenda_stack {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: var(--spaceY) var(--colGutter);
    align-items: start;
    padding-block: var(--spaceY);
    border-top: var(--borderLine);
}
.module.agenda .agenda_date {
    grid-column: 1/4;
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--headerHeight) + var(--spaceY));
}
.module.agenda .agenda_row {
    grid-column: 4/10;
}
.module.agenda .agenda_row .row_content .row_schedule {
    margin-bottom: calc(var(--rowGutterTextXSmall)*0.1);
}

/***NEWS MODULE***/
.module.news {
    position: relative;
    padding-inline: var(--spaceX);
    margin-block: calc(var(--spaceY)*4);
}
.module.news .module_content {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
    margin-bottom: calc(var(--spaceY)*1.5);
}
.module.news .module_item {
    max-width: var(--mainWidth);
    height: 100%;
    grid-column: span 3;
}
.module.news .module_item .media img {
    width: 100%;
    filter: grayscale(1);
    transition-property: filter;
    transition-duration: var(--transitionDuration);
}
.module.news .module_item:hover .media img {
    filter: grayscale(0);
}
.module.news .module_item .data {
    padding-top: calc(var(--latinxTextMedium)*1);
    /*height: 100%;*/
    /*
    position: absolute;
    align-self: start;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spaceY) 0;
    */
}
.module.news .module_item .data .tag {
    margin-bottom: calc(var(--latinxTextXSmall)*0.2);
}

/***VIDEO MODULES***/
.module.video_large {
    width: 100vw;
    height: calc(100vh - var(--headerHeight));
    /*margin-left: calc(var(--spaceX)*-1);*/
}
.module.video_large video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.module.video_large .call_to_action {
    position: absolute;
    left: var(--spaceX);
    margin-top: calc(var(--spaceY)*-2.25);
}
.module.video_large .call_to_action a {
    color: var(--paletteBlack);
    background: var(--paletteWhite);
    border-color: var(--paletteWhite);
}
.module.video_large .call_to_action a:hover {
    color: var(--paletteWhite);
    background: var(--paletteBlack);
    border-color: var(--paletteBlack);
}

/***SHOP MODULE***/
.module.shop {
    position: relative;
    padding-inline: var(--spaceX);
    margin-block: calc(var(--spaceY)*4);
}
.module.shop .module_content {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
    margin-bottom: calc(var(--spaceY)*1.5);
}
.module.shop .module_item {
    max-width: var(--mainWidth);
    height: 100%;
    grid-column: span 4;
}
.module.shop .module_item .media img {
    width: 100%;
}
.module.shop .module_item .data {
    padding-top: calc(var(--latinxTextMedium)*1);
}
.module.shop .module_item .data .tag {
    margin-bottom: calc(var(--latinxTextXSmall)*0.2);
}
.module.shop .module_item .data .data_description {
    margin-top: calc(var(--spaceY)*.1)
}

/***COLLECTION MODULE***/
.module.collection {
    position: relative;
    padding-inline: var(--spaceX);
    margin-block: calc(var(--spaceY)*4);
}
.module.collection .module_content {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
    margin-bottom: calc(var(--spaceY)*1.5);
}
.module.collection .module_item {
    max-width: var(--mainWidth);
    height: 100%;
    grid-column: span 2;
}
.module.collection .module_item .media img {
    width: 100%;
}
.module.collection .module_item .data {
    padding-top: calc(var(--latinxTextSmall)*1);
}
/*
.module.collection .module_item .data .tag {
    margin-bottom: calc(var(--latinxTextXSmall)*0.2);
}
.module.collection .module_item .data .data_description {
    width: 150%;
    margin-top: calc(var(--spaceY)*.1)
}
*/

/***VIDEO MODULES***/
.module.video_large {
    width: 100vw;
    height: calc(100vh - var(--headerHeight));
    /*margin-left: calc(var(--spaceX)*-1);*/
}
.module.video_large video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.module.video_large .call_to_action {
    position: absolute;
    left: var(--spaceX);
    margin-top: calc(var(--spaceY)*-2.25);
}
.module.video_large .call_to_action a {
    color: var(--paletteBlack);
    background: var(--paletteWhite);
    border-color: var(--paletteWhite);
}
.module.video_large .call_to_action a:hover {
    color: var(--paletteWhite);
    background: var(--paletteBlack);
    border-color: var(--paletteBlack);
}

/***THUMBNAIL GRID***/
section.thumb_grid {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    grid-gap: var(--gridGap);
}
section.thumb_grid .thumb {
    grid-column: span 4;
}
article.thumb .thumb_media {
    display: flex;
    justify-content: center;
    align-items: center;
}
article.thumb .thumb_media img {
    width: 100%;
    max-height: auto;
    object-fit: contain;
    object-position: center;
}
article.thumb .thumb_data {
    margin-top: calc(var(--rowGutter)*0.25);
}

/***HIGHLIGHT SMALL***/
.module.highlight_small {
    padding-block: var(--spaceY);
}
.module.highlight_small.yellow {
    background: var(--paletteYellow);
}
.module.highlight_small.yellow .call_to_action a,
.menu_col .call_to_action a {
    color: var(--paletteYellow);
    background: var(--paletteBlack);
}
.module.highlight_small.black .call_to_action a {
    color: var(--paletteBlack);
    background: var(--paletteWhite);
}
.module.highlight_small.black {
    background: var(--paletteBlack);
    color: var(--paletteWhite)
}
.module.highlight_small .tag {
    margin-bottom: calc(var(--latinxBlackXSmall)*1);
}
.highlight_small .module_content {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
}
.highlight_small .module_content .data {
    grid-column: 1/6;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spaceY) 0;
}
.highlight_small .module_content .data .main_data {
    height: 100%;
}
.highlight_small .module_content .data .caption {
    justify-self: end;
}
.highlight_small .module_content .media {
    grid-column: 7/13;
    align-self: end;
    aspect-ratio: 15/10;
    display: flex;
    justify-content: end;
    align-items: end;
}
.highlight_small .module_content .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/***HIGHLIGHT CINEMA***/
.module.highlight_cine {
    height: calc(100vh - var(--headerHeight));
    padding-block: var(--spaceY);
    position: relative;
    color: var(--paletteWhite)
}
.highlight_cine .media {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.highlight_cine .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.highlight_cine .shadow_top {
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}
.highlight_cine .shadow_bottom {
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}
.highlight_cine .module_content {
    height: 100%;
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
}
.highlight_cine .module_content .data {
    grid-column: 1/6;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spaceY) 0;
    z-index: 1;
}
/*
.highlight_cine .module_content .data .main_data {
    height: 100%;
}
*/
.highlight_cine .module_content .data .caption {
    margin-top: var(--latinxTextSmall);
}
.module.highlight_cine .tag {
    margin-bottom: calc(var(--latinxBlackXSmall)*1);
}
.module.highlight_cine .call_to_action a {
    border: 0;
    color: var(--paletteBlack);
    background: var(--paletteWhite);
}

/***HIGHLIGHT TEXT***/
.module.highlight_text {
    padding-block: var(--spaceY);
    margin-block: calc(var(--spaceY) * 2);
}
/*
.module.highlight_text.yellow {
    color: var(--textColor);
    background: var(--paletteYellow);
}
.module.highlight_text .call_to_action a {
    color: var(--paletteYellow);
    background: var(--paletteBlack);
}
*/
.module.highlight_text .tag {
    margin-bottom: calc(var(--latinxBlackXSmall)*1);
}
.highlight_text .module_content {
    height: 100%;
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
}
.highlight_text .module_content .data {
    grid-column: 1/10;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spaceY) 0;
    z-index: 1;
}

/***MALBA PUERTOS MARQUEE***/
.marquee {
    width: 100%;
    padding: calc(var(--spaceY)*0.2) var(--spaceX) calc(var(--spaceY)*0.275);
    display: flex;
    justify-content: start;
    gap: var(--inlineGutter);
    text-wrap: nowrap;
    overflow-x: hidden;
    color: var(--paletteWhite);
    background: var(--paletteBlack);
}
/***SUBSCRIBE MODULE***/
.module.subscribe {
    position: relative;
    /*height: var(--moduleHeightLarge);*/
    /*padding-inline: var(--spaceX);*/
    padding-block: var(--spaceY) calc(var(--spaceY)*1);
    margin-block: calc(var(--spaceY)*3) 0;
    margin-bottom: 0;
    background: var(--paletteYellow);
}

/***VISIT MODULE***/
/*
body#visit .module.visit {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
}
body#visit .module .module_content > * {
    grid-column: 1/7;
}
.module.info {
    margin-bottom: calc(var(--spaceY) * 3);
}
*/

/***HEADLINE MODULE***/
.module.headline {
    margin-block: calc(var(--spaceY)*1) calc(var(--spaceY)*1);
}

/***IMAGE FULL MODULES***/
.module.image_large {
    width: 100vw;
    height: calc(90vh - var(--headerHeight));
    /*margin-left: calc(var(--spaceX)*-1);*/
}
.module.image_large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/***DATA-MEDIA MODULE***/
.module.data_media {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 16/6;
    margin-block: calc(var(--spaceY)*1) calc(var(--spaceY)*3);
}
.module.data_media .module_item {
    max-width: var(--mainWidth);
    height: 100%;
    position: relative;
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
}
.module.data_media .module_item .data {
    height: 100%;
    position: absolute;
    align-self: start;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spaceY) 0;
}
.module.data_media .module_item .data .headline {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--headerHeight) + var(--spaceY));
    margin-bottom: var(--rowGutter);
}
.module.data_media .module_item .data .headline .date {
    color: var(--paletteGrayDark);
}
.module.data_media .module_item .data .headline .data_footer {
    padding-block: calc(var(--spaceY) * 0.2);
}
.module.data_media .module_item .media {
    width: 100%;
    grid-column: 5/13;
}
.module.data_media .module_item .media img {
    width: 100%;
    height: 100%;
    max-height: var(--moduleHeightLarge);
    object-fit: contain;
    object-position: right bottom;
}

/***VISIT ROW MODULE***/
.module.visit_row {
    position: relative;
    /*padding-inline: var(--spaceX);*/
    margin-block: calc(var(--spaceY)*1) calc(var(--spaceY)*3);
}
.module.visit_row .module_content,
.module.visit_row .module_sub_content {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
    padding-top: calc(var(--spaceY)*1);
}
.module.visit_row .module_content.not_border {
    /*padding-top: 0;*/
}
.module.visit_row .module_content:not(.not_border) {
    border-top: var(--borderLine);
}
.module.visit_row .module_content .headline,
.module.visit_row .module_sub_content .headline {
    grid-column: span 4;
}
.module.visit_row .module_sub_content .visit_col.info,
.module.visit_row .module_content .visit_col.info {
    grid-column: span 4;
}
.module.visit_row .module_content .visit_col.call_to_action,
.module.visit_row .module_sub_content .visit_col.call_to_action {
    grid-column: span 4;
}
.module.visit_row .module_content .visit_col.info:not(.text_col),
.module.visit_row .module_sub_content .visit_col.info:not(.text_col) {
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--spaceY)*0.25);
}
.module.visit_row .module_content .visit_col.info .visiti_col_row,
.module.visit_row .module_sub_content .visit_col.info .visiti_col_row {
    display: flex;
    justify-content: space-between;
    
}
.module.visit_row .module_content .visit_col.info .visiti_col_row:not(:last-child),
.module.visit_row .module_sub_content .visit_col.info .visiti_col_row:not(:last-child) {
    border-bottom: var(--borderLine);
    padding-bottom: calc(var(--spaceY) * 0.275);
}
.module.visit_row .module_content .map {
    grid-column: span 8;
}
.module.visit_row .module_content .map img {
    width: 100%;
}
.module.visit_row .module_content .map_1 {
    margin-top: var(--spaceY);
    grid-column: 5/9;
}
.module.visit_row .module_content .map_2 {
    margin-top: var(--spaceY);
    grid-column: 9/13;
}
.module.visit_row .module_content .services_grid {
    grid-column: 5/13;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spaceY) var(--colGutter);
}
.module.visit_row .module_content .services_grid .service_item {
}
.module.visit_row .module_content .services_grid .service_item .item_media {
    background-color: #999999;
    aspect-ratio: 15/10;
}
.module.visit_row .module_content .services_grid .service_item .item_data {
    margin-top: var(--rowGutterTextXSmall);
}

/***FOOTER
*****************************************************/
footer.module {
    position: relative;
    /*height: var(--moduleHeightLarge);*/
    /*padding-inline: var(--spaceX);*/
    /*padding-block: var(--spaceY) calc(var(--spaceY)*0.7 + var(--rowGutterTextSmall));*/
    padding-block: var(--spaceY);
    /*margin-block: calc(var(--spaceY)*3);*/
    margin-bottom: 0;
    background: var(--paletteYellow);
}
footer.module a:hover {
    /*padding-left: calc(var(--latinxTextXLarge)*1);*/
    text-decoration: var(--linkDeco);
    text-underline-offset: 3px;
}
footer.module nav.menu_footer {
    
}
/*
footer.module nav.menu_footer > *:not(:first-child) {
    grid-column: span 3;
}
*/
footer.module nav.menu_footer ul {
    width: 100%;
    margin-bottom: calc(var(--spaceY)*2);
    display: flex;
    gap: 0 var(--colGutter);
}
footer.module .address {
    display: grid;
    grid-template-columns: var(--gridTemplate);
    gap: 0 var(--colGutter);
    /*margin-bottom: calc(var(--spaceY)*3);*/
    align-items: start;
    margin-bottom: calc(var(--spaceY)*2);
}
footer.module .address > * {
    grid-column: span 3;
}
footer.module .call_to_action {

}
/*
footer.module nav.menu_footer ul:first-child {
    flex: 2;
}
footer.module nav.menu_footer ul:last-child {
    flex: 1;
}
*/
footer.module .social {
    display: flex;
    gap: 0 var(--latinxTextXSmall);
    margin-top: calc(var(--latinxTextXSmall)*1);
}
footer.module .social img {
    height: var(--latinxTextXSmall);
}
footer.module nav.menu_imprint ul {
    display: flex;
    gap: 0 var(--latinxTextMedium);
    margin-top: var(--latinxTextXSmall);
}
footer.module .logo_footer {
    height: 16px;
    margin-top: var(--latinxTextSmall);
    display: flex;
    /*
    transition-duration: var(--transitionDurationSlow);
    transition-timing-function: ease-in-out;
    */
    z-index: 300;
    pointer-events: none;
}
