blockquote,
body,
button,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
img,
input,
li,
ol,
p,
select,
textarea,
ul {
    padding: 0;
    margin: 0;
    border: 0
}

body,
input,
textarea {
    font-family: Helvetica Neue, Helvetica, Arial, sans-serif
}

*,
:after,
:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: inherit
}

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

.x:after {
    clear: both
}

ul {
    list-style: none
}

button,
input,
textarea {
    padding: 10px;
    font-size: 1rem
}

@font-face {
    font-family: basic-social;
    src: url(../font/basic-social.eot?97964031);
    src: url(../font/basic-social.eot?97964031#iefix) format("embedded-opentype"), url(../font/basic-social.woff2?97964031) format("woff2"), url(../font/basic-social.woff?97964031) format("woff"), url(../font/basic-social.ttf?97964031) format("truetype"), url(../font/basic-social.svg?97964031#basic-social) format("svg");
    font-weight: 400;
    font-style: normal
}

[class*=" icon-"]:before,
[class^=icon-]:before {
    font-family: basic-social;
    font-style: normal;
    font-weight: 400;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-pinterest:before {
    content: '\f0d3'
}

.icon-gplus:before {
    content: '\f0d4'
}

.icon-behance:before {
    content: '\f1b5'
}

.icon-share:before {
    content: '\f1e1'
}

.icon-twitter:before {
    content: '\f304'
}

.icon-facebook:before {
    content: '\f308'
}

.icon-linkedin:before {
    content: '\f30c'
}

.icon-instagram:before {
    content: '\f32d'
}

html {
    box-sizing: border-box
}

*,
:after,
:before {
    box-sizing: inherit
}

@font-face {
    font-family: Sanomat Sans Web;
    src: url(../font/SanomatSans-Light-Web.eot);
    src: url(../font/SanomatSans-Light-Web.eot?#iefix) format("embedded-opentype"), url(../font/SanomatSans-Light-Web.woff2) format("woff2"), url(../font/SanomatSans-Light-Web.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-stretch: normal
}

body {
    min-height: 100vh;
    padding: 20px;
    background: #f8f8f6;
    border: 16px solid #fff
}

@media screen and (min-width: 50em) {
    body {
        padding: 56px
    }
}

@media screen and (min-width: 64em) {
    body {
        padding: 76px 74px 74px
    }
}

body,
input,
p,
textarea {
    font-family: Sanomat Sans Web, serif;
    font-style: normal;
    font-stretch: normal;
    font-weight: 400;
    color: #282828;
    -ms-font-feature-settings: "liga", "kern";
    -o-font-feature-settings: "liga", "kern";
    -webkit-font-feature-settings: "liga", "kern";
    font-feature-settings: "liga", "kern";
    line-height: 130%
}

.main {
    padding: 0 0 96px
}

.main img {
    max-width: 100%
}

.main h1 {
    line-height: 150%
}

.frame {
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
    position: fixed;
    top: 0;
    left: 0;
    border: 16px solid #fff;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    z-index: 1;
    display: none
}

@media screen and (min-width: 50em) {
    .frame {
        border-width: 24px;
        display: block
    }
}

a {
    text-decoration: none;
    color: inherit;
    background: #fff;
    padding: 2px 2px 0;
    display: inline-block
}

a.on,
a:hover {
    color: #fff;
    background: #141414
}

a.social {
    background: none;
    color: #424242
}

a.social-fb:hover {
    color: #3b5998
}

a.social-tw:hover {
    color: #55acee
}

a.social-pi:hover {
    color: #bd081c
}

a.social-ig:hover {
    color: #c13584
}

.site-nav {
    margin-top: 8px
}

.site-nav li {
    display: inline-block;
    margin-right: 4px
}

@media screen and (min-width: 50em) {
    .site-nav li {
        margin-right: 8px
    }
}

.site-nav li.icon {
    margin-right: 0
}

.site-nav a {
    display: block;
    font-size: 1.2rem;
    padding: 3px 3px 0
}

@media screen and (min-width: 50em) {
    .site-nav a {
        padding: 5px 5px 3px
    }
}

@media screen and (min-width: 50em) {
    .site-nav br {
        display: none
    }
}

h1,
h1.dm-top a,
p {
    -webkit-transition: all .2s linear;
    transition: all .2s linear
}

h1.dm-top a {
    font-size: 2rem;
    font-weight: 400;
    background: none;
    outline: 2px solid transparent;
    margin-bottom: 8px;
    padding: 6px 0 0;
    letter-spacing: -1px
}

@media screen and (min-width: 30em) {
    h1.dm-top a {
        font-size: 2.8rem;
        font-weight: 400;
        margin-bottom: 18px;
        padding: 16px 3px 8px 0
    }
}

@media screen and (min-width: 40em) {
    h1.dm-top a {
        font-size: 3.5rem
    }
}

@media screen and (min-width: 50em) {
    h1.dm-top a {
        font-size: 3.5rem
    }
}

h1.dm-top a:hover {
    background: none;
    color: #000
}

.dm-top img {
    max-width: 100%;
    height: auto;
    display: block
}

@media screen and (min-width: 50em) {
    p {
        min-width: 460px;
        width: 66vw;
        display: block
    }
}

p.dm-intro {
    font-size: 1.2rem
}

@media screen and (min-width: 40em) {
    p.dm-intro {
        font-size: 1.4rem
    }
}

@media screen and (min-width: 50em) {
    p.dm-intro {
        font-size: 2.8rem
    }
}

.intro-container {
    display: flex;
    align-items: center;
    margin-top: 64px;
    gap: 30px;
    position: relative
}

.intro-container:after,
.intro-container:before {
    width: 64px;
    height: 4px;
    background: #141414;
    display: block;
    content: "";
    position: absolute;
    left: 0
}

@media screen and (min-width: 50em) {

    .intro-container:after,
    .intro-container:before {
        width: 100%;
        max-width: 800px
    }
}

.intro-container:before {
    top: -32px
}

.intro-container:after {
    bottom: -32px
}

.intro-img {
    height: 150px;
    width: auto;
    border-radius: 4px;
    object-fit: cover
}

@media screen and (min-width: 50em) {
    .intro-container {
        margin-top: 128px;
        width: 100%;
        max-width: 800px
    }

    .intro-container:before {
        top: -64px
    }

    .intro-container:after {
        bottom: -64px
    }

    .intro-img {
        height: 250px
    }
}

@media screen and (max-width: 50em) {
    .intro-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px
    }

    .intro-img {
        max-width: 140px
    }
}

.below p,
.dm-page p {
    line-height: 170%;
    margin-top: 32px;
    font-size: 1rem
}

@media screen and (min-width: 40em) {

    .below p,
    .dm-page p {
        font-size: 1.2rem
    }
}

@media screen and (min-width: 50em) {

    .below p,
    .dm-page p {
        font-size: 1.3rem
    }
}

.below p:first-child,
.dm-page p:first-child {
    margin-top: 0
}

@media screen and (min-width: 50em) {

    .below p:first-child,
    .dm-page p:first-child {
        margin-top: 58px
    }
}

.below p:first-child {
    margin-top: 64px
}

@media screen and (min-width: 50em) {
    .below p:first-child {
        margin-top: 128px
    }
}

.dm-page {
    padding: 32px 0 0
}

@media screen and (min-width: 50em) {
    .dm-page {
        padding: 64px 0 0
    }
}

.link-page {
    font-size: 1.4rem;
    display: block;
    margin-top: 72px
}

@media screen and (min-width: 50em) {
    .link-page {
        font-size: 2rem
    }
}

.link-page:before {
    position: relative;
    top: 30px;
    width: 64px;
    height: 4px;
    background: #141414;
    display: block;
    content: "";
    top: -32px
}

@media screen and (min-width: 50em) {
    .link-page:before {
        top: 60px
    }
}

.dm-talks {
    margin-top: 64px;
    font-size: 1rem
}

.dm-talks:before {
    position: relative;
    top: 30px;
    width: 64px;
    height: 4px;
    background: #141414;
    display: block;
    content: "";
    top: -32px
}

@media screen and (min-width: 50em) {
    .dm-talks:before {
        top: 60px;
        top: -64px
    }
}

@media screen and (min-width: 50em) {
    .dm-talks {
        margin-top: 128px;
        font-size: 1.2rem
    }
}

.dm-talks td {
    width: 50%;
    padding: 10px 0
}

.bottom-image-container {
    margin-top: 24px;
    display: flex;
    justify-content: flex-start;
    width: 100%
}

.bottom-img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%
}

@media screen and (min-width: 50em) {
    .bottom-image-container {
        margin-top: 48px
    }

    .bottom-img {
        width: 66vw;
        min-width: 460px
    }
}

/* Carousel Styles */
.portfolio-nav {
    margin-top: 64px;
    display: flex;
    justify-content: flex-start;
    gap: 10px;
}

.portfolio-nav a {
    font-size: 1.2rem;
    padding: 3px 3px 0;
}

@media screen and (min-width: 50em) {
    .portfolio-nav {
        margin-top: 128px;
    }

    .portfolio-nav a {
        padding: 5px 5px 3px;
    }
}

.carousel-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 32px;
    width: 100%;
}

@media screen and (min-width: 50em) {
    .carousel-container {
        margin-top: 64px;
    }
}

.carousel-slide {
    width: 100%;
    max-width: 920px;
    display: flex;
    justify-content: center;
}

#carousel-img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

.carousel-arrow {
    background: none;
    border: none;
    font-size: 5rem;
    color: #141414;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 40px;
    z-index: 10;
    transition: opacity 0.2s;
    line-height: 1;
    font-weight: 200;
}

.carousel-arrow:hover {
    opacity: 0.4;
}

.carousel-arrow.prev {
    left: -80px;
}

.carousel-arrow.next {
    right: -80px;
}

@media screen and (max-width: 60em) {
    .carousel-arrow {
        font-size: 2rem;
        padding: 5px;
    }

    .carousel-arrow.prev {
        left: 0;
    }

    .carousel-arrow.next {
        right: 0;
    }
}