/* LAYOUT */

@keyframes anim-opacity-full {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.main-content, .about-content {
    font-family: aktiv-grotesk;
    font-weight: 400;
    font-style: normal;
    font-size: 0.7em;
    letter-spacing: .025em;
    text-transform: none;
    color: #000;
}

.main-content {
    line-height: 2em;
}

.about-content {
    line-height: 1.5em;
}

.tmp-content {
    padding-left: 400px;
    padding-right: 400px;
}

.intro-content, .main-content, .index-page-content {
    animation: anim-opacity-full 480ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
    .intro-content, .main-content, .index-page-content {
        animation: none;
    }
}

/* img class */
.banner-center, .logo {
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: auto;
    max-width: 80%;
}

#affiliations .logo{
    position: relative;
    text-align: center
}

#affiliations .logo:first-child img{
    max-height: calc(6rem * 1);
    position: relative;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

#affiliations .logo:last-child img{
    max-height: calc(3rem * 1);    
    position: relative;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}


/* Section */
.section-content {
    box-sizing: border-box;
}

.section-header {
    font-family: ambroise-std;
    font-weight: 400;
    font-size: 20px;
    text-transform: uppercase
}

.section-text {
    font-family: aktiv-grotesk;
    font-weight: 400;
    line-height: 2em;
    word-wrap: break-word;
}


/* Site Column */

.site-main, .site-col-1, .site-col-2 {
    background-color: #fff;
    -webkit-font-smoothing: subpixel-antialiased;
}

.site-col-1 {
    width: 15%;
}

.site-col-2, .site-col-4 {
    width: 25%;
}

.site-col-6, .site-col-8 {
    width: 50%;
    min-width: 350px;
}

.site-col-8 .site-col-4 {
    width: 50%;
}

[class*=site-col] {
    float: left;
}

[class*=site-col]:last-child {
    padding-right: 0;
}

[class*=site-col] .block {
    padding-left: 17px;
    padding-right: 17px;
}

/* Site Row */

.site-layout > .site-row {
    margin-left: -17px;
    margin-right: -17px;
}

.site-row {
    width: auto !important;
}

.site-row:after {
    clear: both;
}

.site-row:before, .site-row:after {
    content: "";
    display: table;
}


/* Blocks */
.block {
    position: relative;
    height: auto;
    padding-top: 17px;
    padding-bottom: 17px;
}

.block-spacer {
    position: relative;
    height: auto;
    padding-top: 18px;
    padding-bottom: 18px;
    padding-left: 20px;
    padding-right: 20px;
    background-color: #fff;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-text-size-adjust: 100%;
}

.block-spacer .block-content {
    visibility: hidden;
}

.block .intrinsic {
    position: relative !important;
}

.block-horizontalrule hr {
    border: none;
    color: #e6e6e6;
    background-color: #e6e6e6;
    height: 0.5px
}


@media screen and (max-width:640px) {
    .site-col-2, .site-col-8, .site-col-8 .site-col-4 {
        width: auto !important;
    }
}


/* Block Images */

.block-image img {
    display: block;
}

.block-image .image-block-outer-wrapper.layout-caption-overlay .image-caption-wrapper, .block-image .image-block-outer-wrapper.layout-caption-overlay-hover .image-caption-wrapper {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 18px;
    background: rgba(0,0,0,.7);
    max-height: 100%;
    box-sizing: border-box;
    overflow-y: auto;
}

.block-image .image-block-outer-wrapper.layout-caption-overlay .image-caption-wrapper p, .block-image .image-block-outer-wrapper.layout-caption-overlay-hover .image-caption-wrapper p {
    color: #bbb;
    line-height: 1.68em;
}

.block-image .image-caption p:first-child, .block-image .image-caption p:first-child {
    margin-top: 0;
}

.block-image .image-caption p, .block-image .image-caption p {
    font-size: 12px;
    line-height: 1.68em;
}

.block-image .image-block-outer-wrapper.layout-caption-overlay .intrinsic, .block-image .image-block-outer-wrapper.layout-caption-overlay-hover .intrinsic {
    position: relative
}

.block-image .image-block-outer-wrapper:not(.image-block-v2) .intrinsic {
    margin: auto;
    margin-top: auto;
    margin-right: auto;
    margin-bottom: auto;
    margin-left: auto;
}

.block-image .image-block-outer-wrapper:not(.image-block-v2) .image-block-wrapper {
    line-height: 0;
    text-align: center;
    position: relative;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: hidden;
}

.block-image .image-block-outer-wrapper.layout-caption-overlay-hover .image-caption {
    transition: margin-bottom .1s ease-out;
    margin-bottom: -5px;
}

.block-image .image-block-outer-wrapper.layout-caption-overlay-hover:hover .image-caption-wrapper {
    max-height: 75%;
    opacity: 1;
    visibility: visible
}

.block-image .image-block-outer-wrapper.layout-caption-overlay-hover .image-caption-wrapper {
    opacity: 0;
    transition: opacity .1s ease-out;
    transition-duration: 0.1s;
    transition-timing-function: ease-out;
    transition-delay: 0s;
    transition-property: opacity;
    visibility: hidden;
}

.block-image .image-block-outer-wrapper.layout-caption-overlay .image-caption-wrapper, .block-image .image-block-outer-wrapper .layout-caption-overlay-hover .image-caption-wrapper {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 18px;
    padding-top: 18px;
    padding-right: 18px;
    padding-bottom: 18px;
    padding-left: 18px;
    background: rgba(0, 0, 0, .7);
    background-image: initial;
    background-position-x: initial;
    background-position-y: initial;
    background-size: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: rgba(0, 0, 0, 0.7);
    max-height: 100%;
    box-sizing: border-box;
    overflow-y: auto;
}

.image-block-v2:not([class*="-animation-"]) {
    opacity: 0;
    transition: opacity 1s ease-out;
    transition-delay: 1s
}

.text-ready .image-block-v2:not([class*="-animation-"]), .text-ready.image-block-v2:not([class*="-animation-"]) {
    opacity: 1
}


/* Block HTML */

.block-html {
    color: #000;
    padding-bottom: 0.05em;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgba(0,0,0,.3);
    transition: border-color .15s ease-out,color .15s ease-out;
}

.block-html .block-content {
    outline: none;
    outline-color: initial;
    outline-style: none;
    outline-width: initial;
}

.block-html p a, .block-markdown p a, .block-image p a, .block-html blockquote a, .block-markdown blockquote a, .block-image blockquote a, .block-html ol a, .block-markdown ol a, .block-image ol a, .block-html ul a, .block-markdown ul a, .block-image ul a {
    color: #000;
    -webkit-transition: color .15s ease-out;
    -moz-transition: color .15s ease-out;
    -o-transition: color .15s ease-out;
    transition: color .15s ease-out;
    padding-bottom: .05em;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgba(0, 0, 0, .3);
    -webkit-transition: border-color .15s ease-out, color .15s ease-out;
    -moz-transition: border-color .15s ease-out, color .15s ease-out;
    -o-transition: border-color .15s ease-out, color .15s ease-out;
    transition: border-color .15s ease-out, color .15s ease-out
}

.block-html p a:hover, .block-markdown p a:hover, .block-image p a:hover, .block-html blockquote a:hover, .block-markdown blockquote a:hover, .block-image blockquote a:hover, .block-html ol a:hover, .block-markdown ol a:hover, .block-image ol a:hover, .block-html ul a:hover, .block-markdown ul a:hover, .block-image ul a:hover {
    color: rgba(0, 0, 0, .5)
}

.block-html p a:hover, .block-markdown p a:hover, .block-image p a:hover, .block-html blockquote a:hover, .block-markdown blockquote a:hover, .block-image blockquote a:hover, .block-html ol a:hover, .block-markdown ol a:hover, .block-image ol a:hover, .block-html ul a:hover, .block-markdown ul a:hover, .block-image ul a:hover {
    color: rgba(0, 0, 0, .6);
    border-color: rgba(0, 0, 0, .15)
}

.block-html blockquote, .block-markdown blockquote {
    border-color: #e6e6e6
}


/* Index */

.index-page {
    position: relative;
    overflow: hidden;
    background-color: #fff;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
}

.index-page-content {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px 50px;
}

.index-nav {
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: 10;
    width: 0;
}

.index-nav-item {
    display: block;
    position: relative;
    padding: 25px 0;
    padding-top: 25px;
    padding-right: 0px;
    padding-bottom: 25px;
    padding-left: 0px;
}

.index-nav-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    width: auto;
}