html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline
}

html {
    line-height: 1
}

ol,
ul {
    list-style: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle
}

q,
blockquote {
    quotes: none
}

q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none
}

a img {
    border: none
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block
}

canvas {
    padding: 0;
    margin: 0
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.uppercase {
    text-transform: uppercase
}

.center {
    text-align: center
}

.left {
    text-align: left
}

.right {
    text-align: right
}

.block {
    display: block !important
}

.full-width {
    width: 100% !important
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-rendering: optimizeLegibility;
    text-rendering: geometricPrecision;
    -moz-osx-font-smoothing: grayscale;
    -moz-font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none;
    background-repeat: no-repeat
}

a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease
}

html.lock {
    overflow: hidden
}

html {
    font-size: 1.1rem;
    font-family: "compress", sans-serif;
    letter-spacing: .3px;
    line-height: 1.25;
    font-weight: 100;
    width: 100vw;
    overflow-x: hidden
}

@media screen and (max-width: 800px) {
    html {
        font-size: 1.05rem
    }
}

body {
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease
}

@media screen and (max-width: 800px) {
    .desk {
        display: none !important
    }
}

.mob,
.mob-flex {
    display: none !important
}

@media screen and (max-width: 800px) {
    .mob {
        display: block !important
    }
}

.mob-flex {
    display: none !important
}

@media screen and (max-width: 800px) {
    .mob-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }
}

@font-face {
    font-family: "proto";
    src: url(https://olymperacanaweiler.com/assets/fonts/Protocole-Regular.woff2), url(https://olymperacanaweiler.com/assets/fonts/Protocole-Regular.woff) format("woff"), url(https://olymperacanaweiler.com/assets/fonts/Protocole-Regular.otf) format("opentype");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: "proto";
    src: url(https://olymperacanaweiler.com/assets/fonts/Protocole-Italic.woff2), url(https://olymperacanaweiler.com/assets/fonts/Protocole-Italic.woff) format("woff"), url(https://olymperacanaweiler.com/assets/fonts/Protocole-Italic.otf) format("opentype");
    font-weight: 300;
    font-style: italic
}

@font-face {
    font-family: "compress";
    src: url(https://olymperacanaweiler.com/assets/fonts/ProtocoleCompress-Regular.woff2), url(https://olymperacanaweiler.com/assets/fonts/ProtocoleCompress-Regular.woff) format("woff"), url(https://olymperacanaweiler.com/assets/fonts/ProtocoleCompress-Regular.otf) format("opentype");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: "compress";
    src: url(https://olymperacanaweiler.com/assets/fonts/ProtocoleCompress-Italic.woff2), url(https://olymperacanaweiler.com/assets/fonts/ProtocoleCompress-Italic.woff) format("woff"), url(https://olymperacanaweiler.com/assets/fonts/ProtocoleCompress-Italic.otf) format("opentype");
    font-weight: 300;
    font-style: italic
}

header {
    padding: 2px 13px;
    position: fixed;
    width: 100vw;
    background-color: #fff;
    height: 76px;
    z-index: 1000;
    -webkit-transition: opacity .5s ease 1.5s, top .5s ease 1.5s;
    transition: opacity .5s ease 1.5s, top .5s ease 1.5s
}

@media screen and (max-width: 1300px) {
    header {
        height: 36px
    }
}

header .nav ul {
    padding-top: 2px
}

header .nav ul li {
    text-decoration: none;
    padding: 0px;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content
}

@media screen and (max-width: 1300px) {
    header .nav ul li {
        padding: 2px 7px
    }
}

header .nav ul li a:hover {
    font-family: "proto", sans-serif;
    word-spacing: -0.1em
}

@media screen and (max-width: 800px) {
    header .nav ul li a:hover {
        word-spacing: -0.08em
    }
}

header .nav ul li.selected {
    color: red;
    font-family: "proto", sans-serif;
    word-spacing: -0.1em
}

header .nav ul li.selected a:hover {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

@media screen and (max-width: 800px) {
    header .nav ul li.selected {
        word-spacing: -0.08em
    }
}

@media screen and (max-width: 1300px) {
    header .nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.hero {
    position: fixed;
    top: 4px;
    left: 50%;
    width: 500px;
    max-width: 70vw;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    text-align: center;
    z-index: 1000000;
    -webkit-transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, transform .3s ease;
    transition: opacity .3s ease, transform .3s ease, -webkit-transform .3s ease
}

@media screen and (max-width: 1300px) {
    .hero {
        width: calc(100% - 70px)
    }
}

.hero .ligne_one,
.hero .ligne_three {
    font-family: "proto", sans-serif;
    word-spacing: -0.1em
}

@media screen and (max-width: 800px) {

    .hero .ligne_one,
    .hero .ligne_three {
        word-spacing: -0.08em
    }
}

.hero .ligne_one .date,
.hero .ligne_three .date {
    font-size: .8rem
}

.hero.transp {
    opacity: 0 !important;
    -webkit-transition: none;
    transition: none
}

@media screen and (max-width: 1300px) {
    .hero {
        display: none
    }
}

.large header,
.xlarge header {
    background-color: transparent
}

@media screen and (max-width: 1300px) {

    .large .nav,
    .xlarge .nav {
        display: none
    }
}

.large .hero,
.xlarge .hero {
    display: block;
    color: #fff;
    mix-blend-mode: difference
}

@media screen and (max-width: 1300px) {

    .large .hero,
    .xlarge .hero {
        mix-blend-mode: normal
    }
}

.xlarge .hero {
    mix-blend-mode: normal
}

h1 {
    position: fixed;
    top: calc((((100vw - 40px) / 8) * 2) + 81px - 12px);
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    font-family: "proto";
    word-spacing: -0.1em;
    width: 100%;
    text-align: center;
    -webkit-transition: top .5s ease, opacity .5s ease;
    transition: top .5s ease, opacity .5s ease
}

@media screen and (max-width: 1300px) {
    h1 {
        top: calc((((100vw - 18px) / 5) * 2) + 30px - 12px)
    }
}

@media screen and (max-width: 800px) {
    h1 {
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        word-spacing: -0.08em
    }
}

.is-text header,
.is-curiculum header {
    background-color: transparent
}

@media screen and (max-width: 1300px) {

    .is-text header,
    .is-curiculum header {
        background-color: #fff
    }
}

.is-text .hero,
.is-curiculum .hero {
    display: none
}

.is-text h1,
.is-curiculum h1 {
    display: none
}

.footer {
    padding-bottom: 3px
}

.footer,
footer {
    position: fixed;
    background-color: #fff;
    bottom: 0px;
    left: 0px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: "compress", sans-serif;
    -webkit-transition: opacity .5s ease 3s, bottom .5s ease 3s;
    transition: opacity .5s ease 3s, bottom .5s ease 3s
}

@media screen and (max-width: 1300px) {

    .footer,
    footer {
        -webkit-transition: opacity .5s ease 1.5s, bottom .5s ease 1.5s;
        transition: opacity .5s ease 1.5s, bottom .5s ease 1.5s
    }
}

.footer_nav ul,
footer_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (max-width: 1300px) {

    .footer_nav ul,
    footer_nav ul {
        height: 56px
    }
}

.footer_nav ul li,
footer_nav ul li {
    padding: 2px 7px;
    cursor: pointer;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content
}

.footer_nav ul li:hover,
footer_nav ul li:hover {
    font-family: "proto", sans-serif;
    word-spacing: -0.1em
}

@media screen and (max-width: 1300px) {

    .footer_nav ul li:hover,
    footer_nav ul li:hover {
        font-family: "compress", sans-serif
    }
}

.footer_nav ul li .checker,
footer_nav ul li .checker {
    border: 1px solid #000;
    border-radius: 10px;
    width: 11px;
    height: 11px;
    display: inline-block;
    margin-right: 6px;
    -webkit-transition: background-color .3s ease, border-color .3s ease;
    transition: background-color .3s ease, border-color .3s ease
}

.footer_nav ul li.download,
footer_nav ul li.download {
    position: relative;
    top: 0px
}

.footer_nav ul li .arrow svg,
footer_nav ul li .arrow svg {
    width: 10px;
    position: relative;
    bottom: -3px;
    margin-right: 7px
}

.footer_nav ul li:hover .checker,
footer_nav ul li:hover .checker {
    background-color: #000
}

.footer_nav ul li.selected,
footer_nav ul li.selected {
    color: red;
    font-family: "proto", sans-serif;
    word-spacing: -0.1em
}

.footer_nav ul li.selected .checker,
footer_nav ul li.selected .checker {
    border-color: red;
    background-color: red
}

@media screen and (max-width: 800px) {

    .footer_nav ul li.selected,
    footer_nav ul li.selected {
        word-spacing: -0.08em
    }
}

.footer .language_nav,
footer .language_nav {
    position: fixed;
    bottom: 0px;
    right: 22px
}

@media screen and (max-width: 1300px) {

    .footer .language_nav,
    footer .language_nav {
        left: 50%;
        -webkit-transform: translate(-50%, 0%);
        transform: translate(-50%, 0%);
        background-color: #fff;
        width: 100%
    }
}

.footer .language_nav ul,
footer .language_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 1300px) {

    .footer .language_nav ul,
    footer .language_nav ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.footer .language_nav ul li,
footer .language_nav ul li {
    padding: 2px 7px;
    cursor: pointer
}

.footer .language_nav ul li .checker,
footer .language_nav ul li .checker {
    border: 1px solid #000;
    border-radius: 10px;
    width: 11px;
    height: 11px;
    display: inline-block;
    margin-right: 6px;
    pointer-events: none;
    -webkit-transition: background-color .3s ease, border-color .3s ease;
    transition: background-color .3s ease, border-color .3s ease
}

.footer .language_nav ul li.selected,
footer .language_nav ul li.selected {
    font-family: "proto", sans-serif;
    word-spacing: -0.1em
}

.footer .language_nav ul li.selected .checker,
footer .language_nav ul li.selected .checker {
    border-color: #000;
    background-color: #000
}

@media screen and (max-width: 800px) {

    .footer .language_nav ul li.selected,
    footer .language_nav ul li.selected {
        word-spacing: -0.08em
    }
}

.is-home .footer_nav ul {
    height: 100%
}

.is-home .language_nav {
    opacity: 0;
    pointer-events: none
}

.is-curiculum .footer,
.is-text .footer {
    -webkit-transition: opacity .5s ease, bottom .5s ease;
    transition: opacity .5s ease, bottom .5s ease
}

.preload h1 {
    opacity: 0
}

.preload .footer {
    opacity: 0;
    bottom: -20px
}

@media screen and (max-width: 1300px) {
    .preload .footer {
        bottom: -200px;
        -webkit-transition: none;
        transition: none
    }
}

.preload header {
    opacity: 0;
    top: -20px
}

.footer.hide {
    opacity: 0;
    bottom: -25px
}

@media screen and (max-width: 1300px) {
    .footer.hide {
        bottom: -200px;
        -webkit-transition: none;
        transition: none
    }
}

.is-text .heros,
.is-curiculum .heros {
    display: none
}

.page_change .footer {
    opacity: 1 !important
}

.error_page {
    height: calc(100vh - 313px)
}

.error_page .error {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.error_page .error a {
    text-transform: uppercase
}

.screensaver {
    padding: 0px 13px;
    z-index: 1000000000;
    position: fixed;
    top: 0px;
    left: 0px;
    background-color: #fff;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.screensaver.show {
    opacity: 1
}

.screensaver .gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100vw - 40px);
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.screensaver .gallery_item {
    width: calc((100vw - 40px) / 20);
    height: calc((100vw - 40px) / 20);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: "proto";
    word-spacing: -0.1em;
    -webkit-transition: opacity .3s ease, height .3s ease;
    transition: opacity .3s ease, height .3s ease
}

@media screen and (max-width: 800px) {
    .screensaver .gallery_item {
        width: calc((100vw - 40px) / 7);
        height: calc((100vw - 40px) / 7);
        word-spacing: -0.08em
    }
}

.screensaver .gallery_item.hide {
    opacity: 0;
    pointer-events: none
}

.screensaver .gallery_item .image_wrapper {
    height: calc(((100vw - 40px) / 20) - 14px);
    width: calc(((100vw - 40px) / 20) - 14px);
    margin: 10px;
    cursor: -webkit-zoom-in;
    cursor: zoom-in
}

@media screen and (max-width: 800px) {
    .screensaver .gallery_item .image_wrapper {
        height: calc(((100vw - 40px) / 7) - 14px);
        width: calc(((100vw - 40px) / 7) - 14px)
    }
}

.screensaver .gallery_item .image_wrapper img {
    -o-object-fit: contain;
    object-fit: contain;
    width: calc(((100vw - 40px) / 20) - 14px);
    height: calc(((100vw - 40px) / 20) - 14px);
    -o-object-position: left;
    object-position: left;
    -webkit-transition: width .3s ease, -webkit-filter .3s ease;
    transition: width .3s ease, -webkit-filter .3s ease;
    transition: filter .3s ease, width .3s ease;
    transition: filter .3s ease, width .3s ease, -webkit-filter .3s ease
}

@media screen and (max-width: 800px) {
    .screensaver .gallery_item .image_wrapper img {
        height: calc(((100vw - 40px) / 7) - 14px);
        width: calc(((100vw - 40px) / 7) - 14px)
    }
}

.screensaver .gallery_item.horizontal {
    object-fit: contain;
    width: calc(((100vw - 40px) / 20) * 2);
    height: calc((100vw - 40px) / 20);
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

@media screen and (max-width: 800px) {
    .screensaver .gallery_item.horizontal {
        object-fit: contain;
        width: calc(((100vw - 40px) / 7) * 2);
        height: calc((100vw - 40px) / 7)
    }
}

.screensaver .gallery_item.horizontal .image_wrapper {
    object-fit: contain;
    width: calc((((100vw - 40px) / 20) - 14px) * 2);
    margin: 7px
}

@media screen and (max-width: 800px) {
    .screensaver .gallery_item.horizontal .image_wrapper {
        width: calc((((100vw - 40px) / 7) - 14px) * 2)
    }
}

.screensaver .gallery_item.horizontal .image_wrapper img {
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
    height: 100%;
    -o-object-position: left;
    object-position: left
}

.home {
    margin: 0px 9px;
    padding-top: 76px;
    padding-bottom: 24px
}

@media screen and (max-width: 1300px) {
    .home {
        padding-top: 30px;
        margin: 0px 7px
    }
}

.home .gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    opacity: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.home .gallery_item {
    width: calc((100vw - 18px) / 8);
    height: calc((100vw - 18px) / 8);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: "proto";
    word-spacing: -0.1rem;
    opacity: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

@media screen and (max-width: 1300px) {
    .home .gallery_item {
        width: calc((100vw - 18px) / 5);
        height: calc((100vw - 18px) / 5)
    }
}

@media screen and (max-width: 800px) {
    .home .gallery_item {
        width: calc((100vw - 14px) / 3);
        height: calc((100vw - 14px) / 3);
        word-spacing: -0.08rem
    }
}

.home .gallery_item.hide {
    opacity: 0 !important;
    pointer-events: none
}

.home .gallery_item .top {
    position: absolute;
    width: calc(((var(--tw) * ((100vw - 18px) / 8)) / var(--th)) - 20px);
    height: calc(((100vw - 18px) / 8) - 20px);
    z-index: 100;
    cursor: pointer
}

@media screen and (max-width: 1300px) {
    .home .gallery_item .top {
        width: calc(((var(--tw) * ((100vw - 18px) / 5)) / var(--th)) - 20px);
        height: calc((((100vw - 18px) / 5)) - 20px)
    }
}

.home .gallery_item .big:not(.active) {
    display: none
}

.home .gallery_item .image_wrapper img {
    -o-object-fit: contain;
    object-fit: contain;
    width: calc(((100vw - 18px) / 8) - 18px);
    height: calc(((100vw - 18px) / 8) - 18px);
    -o-object-position: left;
    object-position: left;
    cursor: pointer;
    -webkit-transition: -webkit-filter .3s ease;
    transition: -webkit-filter .3s ease;
    transition: filter .3s ease;
    transition: filter .3s ease, -webkit-filter .3s ease
}

@media screen and (max-width: 1300px) {
    .home .gallery_item .image_wrapper img {
        height: calc(((100vw - 18px) / 5) - 18px);
        width: calc(((100vw - 18px) / 5) - 18px)
    }
}

@media screen and (max-width: 800px) {
    .home .gallery_item .image_wrapper img {
        width: calc(((100vw - 20px) / 3) - 12px);
        height: calc(((100vw - 20px) / 3) - 12px)
    }
}

.home .gallery_item.horizontal {
    width: calc(((100vw - 18px) / 8) * 2);
    height: calc((100vw - 18px) / 8);
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    left: 2px
}

@media screen and (max-width: 1300px) {
    .home .gallery_item.horizontal {
        width: calc(((100vw - 18px) / 5) * 2);
        height: calc(((100vw - 18px) / 5))
    }
}

@media screen and (max-width: 800px) {
    .home .gallery_item.horizontal {
        width: calc(((100vw - 20px) / 3) * 2);
        height: calc(((100vw - 20px) / 3))
    }
}

.home .gallery_item.horizontal .image_wrapper .top {
    position: absolute;
    width: calc(((var(--tw) * (((100vw - 18px) / 8) * 2)) / var(--th)) - 20px);
    height: calc(((100vw - 18px) / 8) - 20px);
    z-index: 100;
    cursor: pointer
}

@media screen and (max-width: 1300px) {
    .home .gallery_item.horizontal .image_wrapper .top {
        width: calc(((var(--tw) * ((100vw - 18px) / 5)) / var(--th)) - 20px);
        height: calc(((100vw - 18px) / 5) - 20px)
    }
}

.home .gallery_item.horizontal .image_wrapper img {
    position: relative;
    left: 7px;
    width: calc((((100vw - 18px) / 8) - 18px) * 2)
}

@media screen and (max-width: 1300px) {
    .home .gallery_item.horizontal .image_wrapper img {
        width: calc((((100vw - 18px) / 5) - 18px) * 2)
    }
}

@media screen and (max-width: 800px) {
    .home .gallery_item.horizontal .image_wrapper img {
        object-fit: contain;
        width: calc((((100vw - 20px) / 3) - 25px) * 2)
    }
}

.home .arrow {
    display: block;
    position: fixed;
    bottom: 35px;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    opacity: 0;
    width: 50px;
    height: 40px;
    stroke: #000;
    fill: transparent;
    stroke-width: 3px
}

@media screen and (max-width: 1300px) {
    .home .arrow {
        display: none
    }
}

.home .arrow.hide {
    display: none
}

.home.large .arrow {
    -webkit-animation: 2s ease arrowanim 2s;
    animation: 2s ease arrowanim 2s;
    opacity: 1;
    -webkit-transition: opacity .3s ease 2s;
    transition: opacity .3s ease 2s
}

.home.xlarge .arrow {
    opacity: 0
}

@-webkit-keyframes arrowanim {
    0% {
        bottom: 35px
    }

    20% {
        bottom: 35px
    }

    50% {
        bottom: 25px
    }

    100% {
        bottom: 35px
    }
}

@keyframes arrowanim {
    0% {
        bottom: 35px
    }

    20% {
        bottom: 35px
    }

    50% {
        bottom: 25px
    }

    100% {
        bottom: 35px
    }
}

.home.large .gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: #fff;
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    height: 100vh;
    overflow-y: scroll;
    overflow-x: hidden;
    width: 100vw
}

@media screen and (max-width: 1300px) {
    .home.large .gallery {
        -ms-scroll-snap-type: unset;
        scroll-snap-type: unset
    }
}

.home.large .gallery .gallery_item[data-medium=date] {
    display: none
}

.home.large .gallery .gallery_item {
    width: auto;
    height: 100%;
    padding: calc(199px / 2) 0px;
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    scroll-snap-align: start;
    scroll-padding: calc(199px / 2)
}

@media screen and (max-width: 1300px) {
    .home.large .gallery .gallery_item {
        height: auto;
        width: 100vw;
        padding: 0px;
        margin: 75px 0px
    }
}

.home.large .gallery .gallery_item .image_wrapper {
    max-width: calc(100vw - 40px);
    margin: 0px;
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
    width: calc((((var(--wh) * 100) - 199px) * var(--tw)) / var(--th));
    height: calc((var(--wh) * 100) - 199px)
}

@media screen and (max-width: 1300px) {
    .home.large .gallery .gallery_item .image_wrapper {
        height: calc((100vw) * var(--th) / var(--tw));
        width: 100vw;
        max-width: 100vw
    }
}

.home.large .gallery .gallery_item img {
    max-width: calc(100vw - 40px);
    margin: 0px;
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    height: 100%
}

@media screen and (max-width: 1300px) {
    .home.large .gallery .gallery_item img {
        height: calc(100vw * var(--th) / var(--tw));
        width: 100vw;
        max-width: 100vw
    }
}

.home.large .gallery .gallery_item .small {
    display: none
}

.home.large .gallery .gallery_item .big {
    display: block;
    -webkit-filter: blur(10px);
    filter: blur(10px);
    -o-object-fit: unset;
    object-fit: unset;
    will-change: filter;
    -webkit-transition: -webkit-filter .3s ease;
    transition: -webkit-filter .3s ease;
    transition: filter .3s ease;
    transition: filter .3s ease, -webkit-filter .3s ease
}

.home.large .gallery .gallery_item .big.charged {
    -webkit-filter: blur(0px);
    filter: blur(0px)
}

.home.large .gallery .gallery_item.horizontal,
.home.large .gallery .gallery_item.horizontal img {
    object-fit: contain;
    left: 0px
}

.home.large .gallery .gallery_item.hide {
    opacity: 0;
    height: 0px;
    overflow: hidden;
    padding: 0px;
    margin: 0px
}

@media screen and (max-width: 1300px) {
    .home.large .gallery figure:first-of-type {
        margin-top: 0px
    }
}

.home.xlarge .gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-scroll-snap-type: none;
    scroll-snap-type: none
}

.home.xlarge .gallery .gallery_item[data-medium=date] {
    display: none
}

.home.xlarge .gallery .gallery_item {
    width: 100vw;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    margin: 50px 0px;
    max-width: 100vw
}

.home.xlarge .gallery .gallery_item img {
    width: 100vw;
    height: auto;
    margin: 2px 0px;
    max-width: 100vw;
    -o-object-fit: unset;
    object-fit: unset;
    cursor: -webkit-zoom-out;
    cursor: zoom-out
}

.home.xlarge .gallery .gallery_item.horizontal img {
    object-fit: contain;
    left: 0px
}

.home.xlarge .gallery .gallery_item .image_wrapper {
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    width: 100vw;
    max-width: 100vw
}

.home.xlarge .gallery .gallery_item:nth-child(2) {
    margin-top: 0px;
    padding-top: 0px
}

.home.xlarge .gallery .gallery_item:nth-child(2) .image_wrapper,
.home.xlarge .gallery .gallery_item:nth-child(2) img {
    margin: 0px
}

.home.xlarge .gallery .gallery_item.hide {
    opacity: 0;
    height: 0px;
    overflow: hidden
}

.home.large,
.home.xlarge {
    padding-top: 0px;
    margin: 0px
}

body.body.large {
    height: 100vh;
    overflow: hidden
}

.cross_container {
    display: none;
    cursor: pointer;
    z-index: 100000
}

.cross {
    padding-bottom: 15px;
    padding-left: 15px;
    -webkit-transform-origin: right;
    transform-origin: right;
    will-change: transform
}

.cross svg {
    width: 14.1px;
    height: 14.1px
}

.cross svg line {
    stroke: #000
}

@media screen and (max-width: 1300px) {
    .cross svg line {
        stroke: #fff
    }
}

.large .cross_container {
    display: block;
    position: fixed;
    top: 4px;
    right: 20px;
    width: 29px
}

@media screen and (max-width: 800px) {
    .large .cross_container {
        right: 15px
    }
}

.xlarge header {
    display: none
}

.xlarge .cross {
    display: none
}

.xlarge .footer {
    display: none
}

@media screen and (max-width: 1300px) {
    .large .footer {
        display: none
    }
}

.go .home .gallery {
    opacity: 1
}

.text {
    padding-top: 4px;
    padding-bottom: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    font-family: "proto", sans-serif;
    word-spacing: -0.1rem
}

@media screen and (max-width: 1300px) {
    .text {
        padding-top: 55px
    }
}

@media screen and (max-width: 800px) {
    .text {
        word-spacing: -0.08rem
    }
}

.text p {
    min-height: 20px
}

.text u {
    text-decoration: none;
    text-indent: 0px
}

.text a {
    color: red !important;
    text-decoration: underline !important
}

.text a:hover {
    text-decoration: none !important
}

.text strong {
    font-size: .75rem;
    letter-spacing: .8px
}

.text em {
    font-style: italic
}

.text_item {
    width: 650px;
    padding-bottom: 150px;
    -webkit-transition: height .3s ease, opacity .3s ease;
    transition: height .3s ease, opacity .3s ease
}

.text_item.hide {
    height: 0px;
    opacity: 0;
    padding: 0px;
    overflow: hidden;
    pointer-events: none
}

@media screen and (max-width: 800px) {
    .text_item {
        width: calc(100% - 30px)
    }
}

.text_item .titrage {
    text-align: center;
    padding-bottom: 50px
}

.text_item .text_lang {
    display: none;
    text-indent: 2rem
}

.text_item .text_lang p:first-child {
    text-indent: 0rem
}

.text_item .credits p {
    padding-bottom: 24px;
    font-size: .78rem;
    letter-spacing: .4px;
    word-spacing: -0.05em
}

@media screen and (max-width: 800px) {
    .text_item .credits p {
        font-size: .83rem;
        letter-spacing: .45px
    }
}

.text_item .credits p,
.text_item .text_lang p {
    text-align: justify;
    text-justify: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

.text_item .credits p.centered,
.text_item .text_lang p.centered {
    text-align: center;
    text-indent: 0px
}

[data-lang=is-fr] .text_fr {
    display: block
}

[data-lang=is-en] .text_en {
    display: block
}

.curiculum {
    padding-bottom: 34px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    font-family: "proto", sans-serif
}

@media screen and (max-width: 1300px) {
    .curiculum {
        padding-top: 55px;
        margin: 0px 15px;
        padding-bottom: 63px
    }
}

.curiculum .section {
    padding-top: 4px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

.curiculum .titrage {
    text-align: center;
    margin-bottom: 50px
}

.curiculum .titrage .line_two {
    font-family: "compress", sans-serif
}

.curiculum .part {
    width: 650px
}

@media screen and (max-width: 800px) {
    .curiculum .part {
        width: 100%
    }
}

.curiculum .part .title {
    margin-top: 25px;
    text-align: center;
    text-transform: uppercase
}

.curiculum .part .info_line {
    position: relative
}

.curiculum .part .info_line .content {
    margin-left: 40px
}

.curiculum .part .info_line .date {
    font-size: .75rem;
    letter-spacing: .8px;
    position: absolute;
    top: 5px
}

.curiculum .part .bio {
    display: none;
    text-indent: 2rem
}

.curiculum .part .bio p:first-child {
    text-indent: 0rem
}

.curiculum .part .bio p {
    text-align: justify;
    text-justify: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

.curiculum a {
    color: red !important;
    text-decoration: underline !important
}

.curiculum a:hover {
    text-decoration: none !important
}

.section[data-id=biographie] {
    margin-top: 50px
}

[data-lang=is-fr] .curiculum .part .bio_fr {
    display: block
}

[data-lang=is-en] .curiculum .part .bio_en {
    display: block
}

/*# sourceMappingURL=bundle.css.map*/