/*! sanitize.css v7.0.3 | CC0 License | github.com/csstools/sanitize.css */*,::after,::before{background-repeat:no-repeat;box-sizing:border-box;}::after,::before{text-decoration:inherit;vertical-align:inherit}html{cursor:default;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.15;-moz-tab-size:4;tab-size:4;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-break:break-word}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{height:0;overflow:visible}main{display:block}nav ol,nav ul{list-style:none}pre{font-family:Menlo,Consolas,Roboto Mono,Ubuntu Monospace,Noto Mono,Oxygen Mono,Liberation Mono,monospace;font-size:1em}a{background-color:transparent}abbr[title]{text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:Menlo,Consolas,Roboto Mono,Ubuntu Monospace,Noto Mono,Oxygen Mono,Liberation Mono,monospace;font-size:1em}small{font-size:80%}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not([fill]){fill:currentColor}svg:not(:root){overflow:hidden}table{border-collapse:collapse}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select{margin:0}button{overflow:visible;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{padding:.35em .75em .625em}input{overflow:visible}legend{color:inherit;display:table;max-width:100%;white-space:normal}progress{display:inline-block;vertical-align:baseline}select{text-transform:none}textarea{margin:0;overflow:auto;resize:vertical}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}details{display:block}dialog{background-color:#fff;border:solid;color:#000;display:block;height:-moz-fit-content;height:-webkit-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content}dialog:not([open]){display:none}summary{display:list-item}canvas{display:inline-block}template{display:none}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}[hidden]{display:none}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}

.group:before,
.group:after {
    content: "";
    display: table;
}

.group:after {
    clear: both;
}

.group {
    zoom: 1;
}

html {
    font-family: LS;
    font-variant-numeric: tabular-nums;

    scroll-behavior: smooth;
}

ul {
    padding: 0;
    margin: 0;
}

ul li {
    list-style: none;
}

p {
    margin: 0;
}

a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid;
}

br {
    display: none;
}

.hidden {
    display: none;
}

.desktop {
    display: none;
}

/** Mobile **/

body {
    text-align: center;
}

body > div:first-child {
    padding-top: 30vw;
    padding-bottom: 20vw;
}

/* Common styling */

.title {
    padding-top: 9vw;
    text-transform: uppercase;
}

.content {
    padding-top: 3vw;
    font-size: 4.5vw;
}

.content p {
    padding-bottom: 2vw;
}

.arrow-link {
    border-bottom: none;
}

.arrow-link .border-underline {
    border-bottom: 1px solid;
}

.arrow-link .arrow {
    display: inline-block;
    transform: scale(1.75, 0.5);
    padding-left: 2.5vw;
}


/* Modules */

.text-block {
    font-size: 6vw;
    line-height: 1.325;
    padding: 20vw 5vw;
}

.text-block.quote br {
    display: none;
}

.text-block.quote p:first-child::before {
    content: '\201C';
}

.text-block.quote p:first-child::after {
    content: '\201D';
}

.text-block.quote .credit {
    padding-top: 3.25vw;
    font-size: 2.75vw;
    text-transform: uppercase;
}

.full-page-image {
    position: relative;
    height: 142vw;
}


.saw {
    padding: 20vw 5vw;
}

.saw .picture {
    position: relative;
    width: 100%;
    height: 133vw;
}

.saw .title {
    font-size: 3.75vw;
    padding-top: 10vw;
}

.saw .text {
    font-size: 5.9vw;
    padding-top: 5.5vw;
    line-height: 1.325;
}

.saw .read-more {
    font-size: 3.75vw;
    padding-top: 6vw;
    text-transform: uppercase;
}

.is-not-link .read-more {
    display: none;
}


.article-link-group-parent .dummy {
    display: none;
}


.article-listing {
    padding: 17.5vw 5vw;
    text-align: left;
}

.article-listing .title {
    font-size: 3vw;
}

.article-listing ul {
    font-size: 4.5vw;
    padding-top: 3.5vw;
    padding-left: 2.15vw;
}

.article-listing ul li {
    list-style-type: disc;
    padding-bottom: 1.5vw;
}

.article-listing li div {
    padding-top: 2vw;
}

.article-listing ul li::marker {
    font-size: 2.15vw;
}

.course-application {
    padding: 17.5vw 5vw;
    text-align: left;
}

.course-application .description p {
    padding: 17.5vw 0;
    font-size: 4.5vw;
    text-align: center;
}

.course-application .application-link {
    padding: 9vw 0;
    font-size: 4.5vw;
}

.course-application .mail-thankyou {
    display: none;
}

.course-application .mail-thankyou.active {
    display: block;
    padding-top: 3.25vw;
}

/* blog */

.blog-links {  
    padding-top: 5vw;    
}

.blog-links div {
    width: 50%;
    min-height: 2px;
    float: left;
}

.blog-links .previous {
    text-align: left;
}

.blog-links .next {
    text-align: right;
}




/* Footer */

footer {
    padding: 0 5vw;
    padding-bottom: 20vw;
    text-align: left;
    background: #fff;
    color: #000;
}

footer .newsletter {
    padding: 0;
}

footer .title {
    padding-top: 20vw;
    font-size: 4vw;
}

footer .content {
    padding-top: 6.5vw;
    font-size: 5.9vw;
    line-height: 1.3;
}

footer form {
    padding-top: 4vw;
}

footer form input {
    border: 1px solid;
    float: left;
    height: 9vw;
    line-height: 1;
    font-size: inherit;
}

footer form input[type=email] {
    width: 79%;
    margin-right: 1%;
    line-height: normal;
    padding-left: 1.25vw;
    border-radius: 0;
}

footer form input[type=email]::placeholder {
    line-height: norma1;
}

footer form input[type=submit] {
    width: 20%;
    text-align: center;
    border-radius: 0;
    padding: 0;
    border: 1px solid;
    background: #fff;
}

footer .info {
    padding: 0;
}

footer .info p {
    padding: 0;
}


/* menu */

menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #A04738;
    color: #000;
    text-align: left;
    padding: 18vw 5vw;
    margin: 0;
    opacity: 0;
    transition: 1s opacity;
    pointer-events: none;
}

menu .title {
    padding-top: 20vw;
    font-size: 4vw;
}

menu .content {
    padding-top: 6.5vw;
    font-size: 5.9vw;
    line-height: 1;
}

menu .main-articles a {
    border-bottom: none;
}

menu.active {
    opacity: 1;
    transition: 0.2s opacity;
    pointer-events: all;
}

menu .main-articles,
menu .title,
menu .content {
    transition: opacity 0.15s, transform 0.2s;
    transition-delay: 0.0s;
    opacity: 0.0;
    transform: translateY(10%);
}

menu .title {
    transition-delay: 0.1s;
}

menu .title + .content {
    transition-delay: 0.2s;
}

menu.active .main-articles,
menu.active .title,
menu.active .content {
    opacity: 1.0;
    transform: translateY(0);
}

.menu-button {
    position: fixed;
    top: 3.5vw;
    right: 5vw;
    width: 8vw;
    z-index: 2;
    cursor: pointer;
}

.menu-button:after {
  content: "";
  display: block;
  padding-bottom: 60%;
}

.menu-button div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform-origin: 50% 0%;
    transform: translate(0, 0);
    will-change: transform;
    transition: 0.2s transform, 1s opacity;
    opacity: 1;
}

.menu-button.active div {
    transition: 0.2s transform, 0.2s opacity;
}

.menu-button img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
}

.menu-button .top {
}

.menu-button .mid-top {
    transform: translateY(50%);
}

.menu-button .mid-bottom {
    transform: translateY(50%);
}

.menu-button .bottom {
    transform: translateY(100%);
}


.menu-button.active .top,
.menu-button.active .bottom {
    opacity: 0;
}

.menu-button.active .mid-top {
    transform: translateY(50%) rotate(45deg) translateY(-2px);
}

.menu-button.active .mid-bottom {
    transform: translateY(50%) rotate(-45deg) translateY(-2px);
}


/* logo */

.logo {
    position: fixed;
    top: 0;
    left: 5vw;
    top: 3.5vw;
    font-style: italic;
    font-size: 8vw;
    color: #000;
    line-height: 0.75;
}

.logo a {
    border-bottom: none;
}

/* Tablet */
@media screen and (min-aspect-ratio: 75 / 100) {
    .menu-button {
        width: 4.5vw;
        z-index: 10;
    }

    .menu-button img {
        height: 6px;
    }

    .menu-button.active .mid-top {
        transform: translateY(50%) rotate(45deg) translateY(-3px);
    }

    .menu-button.active .mid-bottom {
        transform: translateY(50%) rotate(-45deg) translateY(-3px);
    }

    .logo {
        font-size: 4.9vw;
    }
}

/* Desktop */
@media screen and (min-aspect-ratio: 655/720) {
    .mobile {
        display: none;
    }

    .desktop {
        display: block;
    }

    body {
        font-size: 2.35vh;
        line-height: 1.5;
    }

    body > div:first-child {
        padding-bottom: 5vw;
    }

    .arrow-link .arrow {
        padding-left: 0.5vw;
        transition: transform 0.2s;
    }

    .arrow-link:hover .arrow {
        display: inline-block;
        transform: scale(1.75, 0.5) translateX(100%);
    }

    .title {
        padding-top: 12vh;
        font-size: 1.4vh;
    }

    .content {
        padding-top: 3.5vh;
        font-size: 2.425vh;
        line-height: 1.4;
    }

    .content p {
        padding-bottom: 1vh;
    }

    .menu-button {
        top: 3.75vh;
        right: 1.75vw;
        width: 2vw;
        z-index: 10;
    }

    .menu-button img {
        height: 6px;
    }

    .menu-button.active .mid-top {
        transform: translateY(50%) rotate(45deg) translateY(-3px);
    }

    .menu-button.active .mid-bottom {
        transform: translateY(50%) rotate(-45deg) translateY(-3px);
    }

    menu {
        left: 50%;
        padding: 10vh 4.75vw;
        z-index: 5;
    }

    menu .main-articles .content {
        font-size: 2.65vw;
        line-height: 1.025;
        padding-top: 6.75vh;
    }

    menu .title {
        padding-top: 10vh;
        font-size: 1.2vw;
    }

    menu .content {
        font-size: 1.9vw;
        line-height: 1.025;
        padding-top: 2.25vh;
    }

    .main-articles a {
        padding-bottom: 0.5vh;
    }

    .main-articles a:hover {
        border-bottom: 3px solid #000;
    }

    .logo {
        top: 4.75vh;
        left: 3vw;
        font-size: 2.7vw;
        transform: translateY(-50%);
    }

    body > div:first-child {
        padding-top: 15vw;
    }

    .text-block {
        padding: 0 19.75vw;
        padding-bottom: 5vw;
        padding-top: 7.5vw;
        font-size: 2.5vw;
        line-height: 1.325;
    }

    .text-block.quote {
        padding: 0 23vw;
        padding-top: 15vw;
        padding-bottom: 9.25vw;
    }

    .text-block.quote .credit {
        padding: 0 9vw;
        padding-top: 1.75vw;
        font-size: 1.2vw;
        text-transform: uppercase;
    }

    .full-page-image {
        height: 60vw;
    }

    .saw {
        position: relative;
        padding: 17.2vh 7vw;
        min-height: 100vh;
    }

    .saw .picture {
        position: absolute;
        top: 50%;
        right: 25%;
        width: 45vh;
        height: 67vh;
        transform: translate(50%, -50%);
    }

    .saw .picture.big {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        left: 50%;
        height: unset;
        width: unset;
        transform: none;
    }

    .saw .picture .credit {
        position: absolute;
        top: 100%;
        color: #000;
        font-size: 1.225vw;
        padding-top: 0.5vh;
    }

    .saw .text-wrapper {
        position: absolute;
        top: 50%;
        left: 25%;
        transform: translate(-50%, -50%);
        width: 45vh;
    }

    .saw .text-wrapper .title {
        padding-top: 0;
        font-size: 1.4vh;
    }

    .saw .text-wrapper .title + .text {
        padding-top: 3vh;
    }

    .saw .text-wrapper .text {
        padding-top: 0;
        font-size: 2.35vh;
        line-height: 1.5;
    }

    .saw .read-more {
        padding-top: 3vh;
        font-size: 1.4vh;
    }

    .saw.left .picture {
        position: absolute;
        top: 50%;
        left: 25%;
        width: 45vh;
        height: 67vh;
        transform: translate(-50%, -50%);
    }

    .saw.left .text-wrapper {
        right: 25%;
        left: unset;
        transform: translate(50%, -50%);
    }

    .course-application {
        padding: 0 7.25vw;
    }

    .course-application .description p {
        padding: 0 11vw;
        padding-top: 17vh;
        font-size: 2.35vh;
        line-height: 1.5;
    }

    .course-application .group > div {
        float: left;
        width: 50%;
    }

    .course-application .title {
        padding-top: 3vh;
    }

    .course-application .content {
        padding-top: 3vh;
    }

    .course-application #course-info {
        padding-top: 17vh;
    }

    .course-application .application-link {
        padding: 5vh 0;
        font-size: 2.6vh;
    }

    .article-link-group-parent {
        position: relative;
    }

    .article-listing {
        padding-top: 0;
        padding-bottom: 17vh;
    }

    .article-listing .title {
        padding-top: 12vh;
        font-size: 1.4vh;
    }

    .article-listing li {
        font-size: 1.9725vw;
    }

    .article-listing ul {
        padding-top: 1.75vh;
        padding-left: 1.25vh;
    }

    .article-listing ul li {
        padding-bottom: 0.75vh;
    }

    .article-listing ul li::marker {
        font-size: 1.25vh;
    }

    .article-listing li div {
        display: inline;
    }

    .article-link-group-parent {
        position: relative;
    }

    .article-link-group-parent .text-wrapper {
        display: none;
    }

    .article-link-group-parent .dummy {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
    }

    .article-link-group-parent .dummy + .saw {
        position: sticky;
        top: 0;
        z-index: 1;
        background: none !important;
    }

    .article-link-group-parent .dummy + .saw .picture {
        display: none;
    }


    .article-link-group-parent .dummy + .saw .text-wrapper {
        display: block;
    }

    .article-link-group-parent .dummy + .saw .title {
        transition: opacity 0.5s, transform 0.2s;
        transition-delay: 0.2s;
        opacity: 1.0;
        transform: translateY(0);
    }

    .article-link-group-parent .dummy + .saw.hide .title {
        opacity: 0.0;
        transition: opacity 0.2s, transform 0.2s;
        transform: translateY(20%);
    }

    .article-link-group-parent .dummy + .saw .text {
        transition: opacity 0.5s, transform 0.2s;
        transition-delay: 0.4s;
        opacity: 1.0;
        transform: translateY(0);
    }

    .article-link-group-parent .dummy + .saw.hide .text {
        opacity: 0.0;
        transition: opacity 0.2s, transform 0.2s;
        transform: translateY(20%);
    }


    .article-link-group-parent .dummy + .saw .read-more {
        transition: opacity 0.5s, transform 0.2s;
        transition-delay: 0.6s;
        opacity: 1.0;
        transform: translateY(0);
    }

    .article-link-group-parent .dummy + .saw.hide .read-more {
        opacity: 0.0;
        transition: opacity 0.2s, transform 0.2s;
        transform: translateY(20%);
    }

    .article-link-group-parent .dummy + .saw .is-not-link .read-more {
        display: block;
        opacity: 0;
    }
    
    .blog-links {
        padding-top: 12vh;  
    }

    footer {
        padding: 17vh 7.25vw;
    }

    footer .newsletter {
        width: 50%;
        padding: 0;
    }

    footer .newsletter .title {
        padding-top: 0;
    }

    footer .newsletter form {
        padding-top: 2vh;
    }

    footer form input {
        height: 2.75vw;
    }

    footer form input[type="email"] {
        padding-left: 0.5vw;
    }

    footer .title {
        padding-top: 11vh;
        font-size: 1.4vh;
    }

    footer .content {
        padding-top: 2vh;
        font-size: 2.425vh;
        line-height: 1.5;
    }

    footer .group.info {
        padding: 0;
    }

    footer .group.info > div {
        width: 33.33%;
        float: left;
        text-align: center;
    }

    footer .group.info > div:first-child {
        text-align: left;
    }

    footer .group.info > div:last-child {
        text-align: right;
    }

}
