/* ---------------------------------------------------------------------- */
/*  Settings -> Variables
/* ---------------------------------------------------------------------- */


:root {
 
    /* Colors */

    --main-bg-color: #D7D2CB;
    --secondary-bg-color: rgba(214, 210, 203, .40);

    --main-font-color: #6F6872;
    --secondary-font-color: rgba(5, 5, 1, .66);
    --tertiary-font-color: #999;

    --error-color: #bf1a1a;
    --color-blue: #056E8E;

    /* Typography */

    --main-font-family: 'HK', sans-serif;
    --secondary-font-family: 'HK', sans-serif;

    --base-font-size: 23px; 
    --small-font-size: 17px; 
    --medium-font-size: 24px;
    --big-font-size: 30px; /* 48px */
    --bigger-font-size: 40px;


    /* Box Model */

    --spacer: 36px;
    --spacer-2x: 72px;
    --spacer-3x: 108px;
    --spacer-half: 18px;

}


@media all and (max-width: 767px) {

    :root {
        --base-font-size: 20px;
        --small-font-size: 16px; /* 12px */
        --medium-font-size: 20px;
        --big-font-size: 30px; /* 48px */
        --bigger-font-size: 40px;

        --spacer: 20px;
        --spacer-2x: 20px;
        --spacer-3x: 40px;
        --spacer-half: 10px;
    }


    

}

@media all and (min-width: 767px) and (max-width: 1024px) {

    :root {
        --base-font-size: 26px; 
    --small-font-size: 18px; 
    --medium-font-size: 24px;
    --big-font-size: 30px; /* 48px */
    --bigger-font-size: 40px;


    /* Box Model */

    --spacer: 36px;
    --spacer-2x: 52px;
    --spacer-3x: 108px;
    --spacer-half: 18px;

    }


} 




/* ---------------------------------------------------------------------- */
/*  Generic > Box Sizing
/* ---------------------------------------------------------------------- */

*, *:before, *:after {box-sizing: border-box;}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---------------------------------------------------------------------- */
/*  Generic > Shared
/* ---------------------------------------------------------------------- */

html, body {font-family: var(--main-font-family); font-size: var(--base-font-size); font-weight: 400; color: #000; line-height: 1.7; }
body {margin:0;  background-color: #FFF; transition: background-color 0.5s ease-in;}

a {color: var(--main-font-family); text-decoration: none; transition: .6s; color: #000;}
a:hover {opacity: .9;}

h1 {font-family: var(--secondary-font-family); margin: 0;  font-size: 5vw; font-weight: 600; line-height: 1; }

h2 {font-family: var(--secondary-font-family); margin: 0;  font-size: 5vw; font-weight: 600; text-transform: none; line-height: 1.2; position: relative; left: -4px; }

h3 {font-size: 26px; line-height: 1.2; margin: 0}

h4, h5, h6 {margin: 0; font-weight: 400; text-transform: uppercase;}
h3+h3 {margin-top: 7px;}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    font-family: var(--main-font-family); font-size: var(--base-font-size); font-weight: 300; color: #000;
}
::-moz-placeholder { /* Firefox 19+ */
  font-family: var(--main-font-family); font-size: var(--base-font-size); font-weight: 300; color: #000;
}

p a {text-decoration: underline;}
p:first-of-type {margin-top: 0;}
p:last-of-type {margin-bottom: 0;}

img {display: block; max-width: 100%;}
figure {margin: 0; padding: 0px}
ul {margin: 0; padding: 0; list-style: none;}
.small-text {font-size: var(--small-font-size);}

.no-mobile {display: block;}
.mobile {display: none!important;}


.video-container {position: relative; height: 60vh;}
.video-container:hover .mute-video{opacity: 1;}

.mute-video {position: absolute; bottom: 40px; right: 40px; background: #fff; border-radius: 50%; width: 40px; height: 40px; z-index: 1;
    background-image: url(../img/volume_off.svg); background-size: 18px;
    background-repeat: no-repeat; background-position: center; opacity: 0.1; z-index: 999;}

.mute-video.unmute-video {
    background-image:url(../img/volume_on.svg);
}

@media all and (max-width: 768px) {
   .no-mobile {display: none!important;}
   .mobile {display: block!important;}
   h2 {font-size: 13vw;}
}

@media all and (min-width: 768px) and (max-width: 1024px) {
   
}

footer {display: none!important;}


blockquote {font-weight: 600;}

/* ---------------------------------------------------------------------- */
/*  Elements > Header
/* ---------------------------------------------------------------------- */

header {width: 100vw; position: fixed; top: 0; left: 0; z-index: 99;}
header .logo img {width: 100%;}

@media all and (max-width: 768px) {
    .logo {position: absolute;  padding:50px 0px 20px 0}
    
}


/* ---------------------------------------------------------------------- */
/*  Pages > Home
/* ---------------------------------------------------------------------- */

body[data-controller="home"] main {display: flex; min-height: 60vh; justify-content: flex-end; margin-top: 45vh;}
body[data-controller="home"] main .creation {display: grid; grid-template-columns: 1fr; height: 60vh; width:100%; min-height: 60vh;}
body[data-controller="home"] main .creation img, video {width: 100%; height: 60vh; object-fit: cover;}
body[data-controller="home"] main .creation .info {padding: var(--spacer-2x); align-self: flex-end;}

@media all and (min-width: 1025px) {
    body[data-controller="home"] main .creation .info {position: absolute; bottom: 0; z-index: 999; color: #fff; }
    body[data-controller="home"] main .creation .info p:first-of-type{display: none;}
    body[data-controller="home"] main .creation .video-container {width: 100vw;}
}
@media all and (max-width: 768px) {
    body[data-controller="home"] main {margin-top: 30vh;}
    body[data-controller="home"] main .creation {grid-template-columns: 1fr;}
    body[data-controller="home"] main  .creation img,
    body[data-controller="home"] main  .creation video {height: 60vh;}
    

}
@media all and (min-width: 768px) and (max-width: 1024px) {
}


/* ---------------------------------------------------------------------- */
/*  Elements > Navigation
/* ---------------------------------------------------------------------- */

body.nav-is-open {overflow: hidden;}

nav {margin:36px 0 18px 36px}
nav ul{display: flex; text-transform: lowercase; justify-content: flex-end; padding-right: var(--spacer-2x);}
nav ul li {margin-left: 22px;}
nav ul li.lang {opacity: 0.4;}



@media all and (max-width: 768px) {
   

    nav {position:fixed; width: 100%; height: 100vh; display: flex; justify-content:center; align-items: flex-start; flex-flow:column; background: #fff; margin: 0; transform: translateX(100%); transition: transform .5s;}
    nav ul {flex-flow: column; justify-content: center;  padding: 120px 20px 20px 20px;}

    nav ul li {font-size: 13vw; padding: 0; margin:0 0 20px 0; font-weight: bold; line-height: 1; }

    body.nav-is-open nav {transform:translateX(0%);}


    .hamburger {width: 50px; height: 50px; padding: 10px; position: fixed; top: 10px; right: 10px; z-index: 9999}
    .hamburger.is-active:hover, .hamburger:hover {opacity: 1;}
    .hamburger:focus {outline: 0;}
    .hamburger-box {width: 30px; height: 26px;}
    .hamburger-inner {margin-top: -1px;}
    .hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {width: 30px; height: 2px; background-color: #000;}
    .hamburger-inner::before {top: -6px;}
    .hamburger-inner::after {bottom: -6px;}
    .hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner:after, .hamburger.is-active .hamburger-inner:before {background-color: #000}
    .hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {background-color: #000; border-radius: 0;}
    


}
@media all and (min-width: 768px) and (max-width: 1024px) {
   /* nav ul{padding: 260px var(--spacer-2x) var(--spacer-2x) var(--spacer-2x)}*/
}





/* ---------------------------------------------------------------------- */
/*  Elements > page
/* ---------------------------------------------------------------------- */

body[data-controller="pages"] main {display: flex; min-height: 60vh; justify-content: flex-end; margin-top: 40vh;}
body[data-controller="pages"] main .content-grid {display: grid; grid-template-columns: 1fr 2fr; height: 100%; width:100%; min-height: 60vh;}
body[data-controller="pages"] main .content-grid.cols-1 {grid-template-columns: 2fr 1fr;}
body[data-controller="pages"] main .content-grid img {width: 100%; height: 100%; object-fit: cover;}
body[data-controller="pages"] main .content-grid .info {padding: var(--spacer-2x); align-self: flex-end;}

@media all and (max-width: 768px) {
    body[data-controller="pages"] main .content-grid.cols-1,
    body[data-controller="pages"] main .content-grid {grid-template-columns: 1fr;}
}

/* ---------------------------------------------------------------------- */
/*  Elements > work list
/* ---------------------------------------------------------------------- */
/* body[data-controller="creations"][data-method="index"] header {pointer-events: none;} 
body[data-controller="creations"][data-method="index"] header nav {pointer-events: all;}
*/

body[data-controller="creations"][data-method="index"] main {display: grid; grid-template-columns: 1fr 1fr; padding-top: 40vh;}
body[data-controller="creations"][data-method="index"] section {display: flex;}
body[data-controller="creations"][data-method="index"] section .creation {
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: column; position: relative;}

body[data-controller="creations"][data-method="index"] section .creation .info {padding: var(--spacer); order: 2;}
body[data-controller="creations"][data-method="index"] section .creation img, body[data-controller="creations"][data-method="index"] section .creation video  {width: 100%; height: 300px; object-fit: cover; order: 1}
body[data-controller="creations"][data-method="index"] section .creation h2 {font-size: 4vw;}

@media all and (min-width: 1025px) {
    body[data-controller="creations"][data-method="index"] section .creation .info{position: absolute; bottom: 0; z-index: 999;}
    body[data-controller="creations"][data-method="index"] main {grid-row-gap: 20px}
    body[data-controller="creations"][data-method="index"] section .creation .info p.year {font-weight: bold ; opacity: 0.5;
        margin-bottom: -17px;
        font-size: 25px;}
}
/* body[data-controller="creations"][data-method="index"] section {display: flex; min-height: 100vh; justify-content: flex-end; padding-top: 40vh;} 

body[data-controller="creations"][data-method="index"] section .creation {display: grid; grid-template-columns: 1fr 2fr; height: 100%; width:100%; min-height: 60vh;}
body[data-controller="creations"][data-method="index"] section .creation .info {padding: var(--spacer-2x); align-self: flex-end;}
body[data-controller="creations"][data-method="index"] section .creation img {width: 100%; height: 100%; object-fit: cover;}

*/

body[data-controller="creations"][data-method="index"]  .work-list {
        min-height: 100vh;;
        height: 100vh;
        overflow-y: scroll;
        border: 1px solid gray;
        -ms-scroll-snap-type: y mandatory;
        scroll-snap-type: y mandatory;
  }
  
  body[data-controller="creations"][data-method="index"] .work-list section {
    border-top: 0 none; position: relative; top: -1px;
    scroll-snap-align: start;
  }
  @media all and (max-width: 767px) {
        body[data-controller="creations"][data-method="index"] main {grid-template-columns: 1fr; padding-top: 150px;}
        body[data-controller="creations"][data-method="index"] section .creation {grid-template-columns: 1fr;}
        body[data-controller="creations"][data-method="index"] section .creation img, body[data-controller="creations"][data-method="index"] section .creation video {height: 30vh;}
        body[data-controller="creations"][data-method="index"] section .creation h2 {font-size: 50px;}

    }

/* ---------------------------------------------------------------------- */
/*  Elements > work single
/* ---------------------------------------------------------------------- */


body[data-controller="creations"]:not([data-method="index"]) main {display: flex; min-height: 60vh; justify-content: flex-end; margin-top: 40vh;}
body[data-controller="creations"]:not([data-method="index"])  main .content-grid {display: grid; grid-template-columns: 1fr 2fr; height: 100%; width:100%; min-height: 60vh;}
body[data-controller="creations"]:not([data-method="index"])  main .content-grid.cols-1 {grid-template-columns: 2fr 1fr;}
body[data-controller="creations"]:not([data-method="index"])  main .content-grid img {width: 100%; height: 100%; object-fit: cover;}
body[data-controller="creations"]:not([data-method="index"])  main .content-grid .info {padding: var(--spacer-2x); align-self: flex-end;}

section .work-info {padding:var(--spacer-2x); width: 66%;}

.work-details {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--spacer-2x);
    padding:  var(--spacer-2x);
}

.columns {columns: 2; -webkit-column-break-inside: avoid; column-gap: var(--spacer-2x);}
.columns p {margin: 0 0 5px 0;}
figure.parallax {height: 90vh; background-attachment: fixed; background-position: center; background-size: cover; background-repeat: no-repeat;}
.flickity-slider img, .flickity-slider video {height: 60vh; width: unset; max-width: unset;}

p.year {font-size: 30px;}
@media all and (max-width: 768px) {
    .columns {columns: 1;}
    
    body[data-controller="creations"]:not([data-method="index"])  main {margin-top: 150px;}
    body[data-controller="creations"]:not([data-method="index"])  main .content-grid {grid-template-columns: 1fr;}
    body[data-controller="creations"]:not([data-method="index"])  main  .content-grid img,
    body[data-controller="creations"]:not([data-method="index"])  main  .content-grid video {height: unset; min-height: unset; width: 100%;}
    section .work-info {padding: var(--spacer-3x) var(--spacer-2x); width: 100%;}
    .work-details {grid-template-columns: 1fr; text-align: right;}
}


.flickity-button svg {
    display: none!important;
}
.flickity-button {
    background-image: url(../img/arrow.svg);
    background-color: transparent;
    outline: none;
    width: 30px;
    background-size: 100%;
    background-repeat: no-repeat;
    margin: 0;
    padding: 0;
    transform: unset;
    background-position: center;
  
}
.flickity-button:hover {
    background-color: none!important;
}
.flickity-prev-next-button.previous {
    top: 48%;
    left: 20px;
    transform: rotate(180deg);
}
.flickity-prev-next-button.next {
    top: 48%;
    right: 20px;
}

/* ---------------------------------------------------------------------- */
/*  Elements > artists 
/* ---------------------------------------------------------------------- */

body[data-controller="artists"] main {display: flex; min-height: 60vh; justify-content: flex-end; margin-top: 40vh;}
body[data-controller="artists"] main .content-grid {display: grid; grid-template-columns: 1.3fr 1fr; height: 100%; width:100%; min-height: 60vh;}
body[data-controller="artists"] main .content-grid.cols-1 {grid-template-columns: 2fr 1fr;}
body[data-controller="artists"] main .content-grid .info {padding: 90px var(--spacer-2x) var(--spacer-2x) var(--spacer-2x); align-self: flex-end; position: relative;
    z-index: 9;
    transition: background-color 0.5s ease-in;
    top: 80px; }

body[data-controller="artists"] main .img-container {
    position: sticky;
    top: 290px;
    align-self: flex-start;
}

h2.artist-title {position: absolute;
    top: 0;
    width: 100vw;
    opacity: 0.2;
    left: 67px;
    text-transform: lowercase;
    margin-top: -40px;}

 @media all and (max-width: 768px) {
        body[data-controller="artists"] main {display: block; margin-top: 170px;}
        body[data-controller="artists"] main .content-grid {grid-template-columns: 1fr; margin-top: var(--spacer-2x);}
        body[data-controller="artists"] main .content-grid img, video  {order:1; height: auto;}
        body[data-controller="artists"] main .content-grid .info {order: 2; width: 100%; align-self: unset; position: static; padding: var(--spacer-2x);}
        body[data-controller="artists"] main .img-container {position: static; width: 100%;}
        h2.artist-title {position: static; width: unset; margin-top: unset; margin-bottom: var(--spacer-2x); line-height: 1;} 
    
    }


/* ---------------------------------------------------------------------- */
/*  Elements > agenda 
/* ---------------------------------------------------------------------- */
    
    body[data-controller="agenda"] main {min-height: 60vh; margin-top: 40vh;}
    .archive-selecter {display: flex; padding: var(--spacer-2x);}
 .archive-selecter::-webkit-scrollbar {width: 0; height: 0;}
    .archive-selecter li {margin-right: var(--spacer-half); font-size: 5vw; font-weight: bold; opacity: 0.2; transition: all 0.4s;}
    .archive-selecter li.active {opacity: 1;}
    .archive-selecter li:hover {opacity: 1;}

    section.agenda {padding: 0 var(--spacer-2x) var(--spacer-2x);}
    .agenda .agenda-item {display: grid; grid-template-columns: 200px auto;}
    .agenda .agenda-item > div:first-of-type{font-weight: bold;}
    .agenda .agenda-item .date {margin-bottom: var(--spacer);}

    @media all and (max-width: 768px) {
        body[data-controller="agenda"] main {margin-top: 150px;}
        .agenda .agenda-item {grid-template-columns: 140px auto;}
        .archive-selecter {width: 100vw; overflow: auto;}
        .archive-selecter li  {font-size: 11vw;}
    }



/* ---------------------------------------------------------------------- */
/*  Elements > contacts
/* ---------------------------------------------------------------------- */
.about-statement {display: none;}

body[data-controller="pages"] main .content-grid.cols-1 {grid-template-columns: 1fr;}
body[data-controller="pages"] .about-statement {display: block;}


.contacts {font-size: 3vw; text-transform: lowercase;}
.contacts p a {text-decoration: none}
.contacts p {margin:0}

.about-statement{position: absolute;
    right: 40px;
    margin-top: -20px;
    font-weight: bold;
    font-size: 35px;}
    
.about-statement img {    
    height: 22px;
    display: inline;
    position: relative;
    top: -5px; width: auto!important;}

@media all and (max-width: 768px) {
    .about-statement {font-size: 16px; margin-top:20px; right: unset;}
    .about-statement img {height: 15px;}
    .contacts {font-size: 16px;}
}

/* ---------------------------------------------------------------------- */
/*  Elements > Footer
/* ---------------------------------------------------------------------- */
footer {border-top: 1px solid var(--secondary-bg-color);  padding: var(--spacer) 0; width: 80%; margin: 160px auto 0 auto; display: flex; font-size: 13px;}


@media all and (max-width: 768px) {
   
   footer {flex-flow: column; font-size: 12px; margin:40px auto 0 auto; width: 90%}
   footer ul:first-of-type {columns: 1}
   footer>* {margin-right: 0; width: 100%; margin-bottom: 20px}
   footer img {display: none;}


}
@media all and (min-width: 768px) and (max-width: 1024px) {
}


