@media screen and (min-width: 1561px) {
    html {
        font-size: 13px;
    }
}

@media screen and (min-width: 1441px) and (max-width: 1560px) {
    html {
        font-size: 12px;
    }
}

@media screen and (min-width: 1280px) and (max-width: 1440px) {
    html {
        font-size: 10px;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
    html {
        font-size: 9px;
    }
}

/* Tablet */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    html {
        font-size: 8px;
    }
}

/* Phone */
@media screen and (max-width: 767px)  {
    html {
        font-size: 10px;
    }

    .link-big {
        font-size: 2.5rem;
        line-height: 1;
        font-weight: 700;
        margin: 1rem 0;
        letter-spacing: -0.01em;
        display: inline-block;
        text-decoration: none;
        position: relative;
    }

    .link-big:after {
        display: none;
    }

    .link-big:hover:after {
        width: calc(110% - 6.4rem);
        opacity: 1;
    }

    .arrow-right-round {
        width: 4rem;
        height: 4rem;
        border: 1px solid #08090b;
        border-radius: 2rem;
        background-image: url("../images/arrow-right.svg");
        background-repeat: no-repeat;
        background-size: 2rem;
        background-position: center;
        display: inline-block;
        position: relative;
    }

    .link-big .arrow-right-round {
        width: 3rem;
        height: 3rem;
        margin-right: 1.5rem;
        top: .5rem;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Text */

    p {
        font-size: 1.8rem;
        line-height: 1.35;
        margin: 2rem 0;
        letter-spacing: .025em;
    }

    p:first-child {
        margin-top: 0;
    }

    p:last-child {
        margin-bottom: 0;
    }

    p.small {
        font-size: 1.6rem;
        line-height: 1.4;
        letter-spacing: .025em;
    }

    p.xsmall {
        font-size: 1.4rem;
        line-height: 1.4;
        letter-spacing: .025em;
    }

    .text-medium {
        font-size: 2rem;
        line-height: 1.35;
        letter-spacing: .01em;
    }

    .text-large {
        font-size: 2.2rem;
        line-height: 1.25;
        letter-spacing: .01em;
    }

    .text-xlarge {
        font-size: 2.6rem;
        line-height: 1.15;
        letter-spacing: 0;
    }

    ul {
        margin: 2rem 0;
    }

    li {
        font-size: 1.8rem;
        line-height: 1.5;
        letter-spacing: .025em;
    }

    li:not(:last-child) {
        margin-bottom: 1rem;
    }


    blockquote {
        padding-left: 0;
        margin: 0;
        position: relative;
    }

    blockquote:before {
        content: "\201C";
        display: block;
        color: #98a5bf;
        font-size: 12rem;
        line-height: 1;
        font-weight: 700;
        position: absolute;
        top: -6rem;
        left: -.5rem;
    }

    blockquote.q-top {
        padding-top: 4.5rem;
        margin: 0;
        position: relative;
    }

    blockquote.q-top:before {
        content: "\201C";
        display: block;
        color: #98a5bf;
        font-size: 12rem;
        line-height: 1;
        font-weight: 700;
        position: absolute;
        top: -2rem;
        right: 0;
    }

    h1 {
        font-size: 6rem;
        line-height: .9;
        font-weight: 700;
        margin-bottom: 2.5rem;
    }

    h2 {
        font-size: 3.6rem;
        line-height: 1;
        font-weight: 700;
        margin: 1.75rem 0;
        letter-spacing: -0.025em;
    }

    h3 {
        font-size: 3rem;
        line-height: 1.2;
        font-weight: 400;
        margin: 1.5rem 0;
        letter-spacing: -0.025em;
    }

    h4 {
        font-size: 1.8rem;
        line-height: 1.35;
        margin: 4rem 0 2rem 0;
        letter-spacing: .025em;
    }

    h5 {
        font-size: 2.5rem;
        line-height: 1;
        font-weight: 400;
        margin: .5rem 0;
        letter-spacing: -0.025em;
    }

    h6 {
        font-size: 1.3rem;
        line-height: 1;
        font-weight: 400;
        margin: 0;
        letter-spacing: 0.025em;
        text-transform: uppercase;
    }


    h1:first-child, h2:first-child, h3:first-child, h4:first-child {
        margin-top: 0;
    }

    .fw-normal {
        font-weight: 400;
    }

    .text-indent {
        text-indent: -4rem;
        padding-left: 6rem;
    }

    b, strong, .bold {
        font-weight: 700;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Logo */

    .logo {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1000;
        padding: 1.5rem 2.5rem 1.25rem 2rem;
        margin: 0;
        width: 100%;
        background-color: rgba(0,0,0,.85);
    }

    .logo img {
        display: block;
        margin: 0;
        width: auto;
        height: 4rem;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Header and Navigation */

    header {
        position: fixed;
        background-color: #2c4d8d;
        width: 100%;
        height: 100vh;
        right: 0;
        top: 0;
        z-index: 1000;
        padding: 3rem;
        display: none;
    }

    .nav-primary a {
        font-size: 1.6rem;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Sections */

    section {
        position: relative;
    }

    .section-content {
        position: relative;
        padding: 1rem 0;
    }

    .section-photo {
        background-color: transparent;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: scroll;
    }

    .section-photo .section-content {
        background-color: rgba(8,9,11,.8);
    }

    .full-photo {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        min-height: 33vh;
        margin-bottom: 0;
    }

    .auto-fit {
        width: 100%;
        height: auto;
    }

    .avatar {
        padding-right: 0;
        margin-bottom: 2.5rem;
    }

    .overlay-gradient-white {
        position: relative;
    }

    .overlay-gradient-white:before {
        display: block;
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
        background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
        background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 );
    }

    .overlay-gradient-white * {
        position: relative;
        z-index: 1;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Special */

    .h-roll {
        padding: 1rem 2.5rem 2rem 2.5rem;
        background-color: #f5f5f5;
    }

    .h-roll-header {
        padding: 2rem 0;
    }

    .h-roll-title {
        padding-left: 0;
    }

    .h-roll-navigation {
        padding-left: 0;
    }

    .h-roll-navigation a {
        display: inline-block;
        font-size: 1.35rem;
        font-weight: 700;
        line-height: 1;
        text-decoration: none;
        margin-right: .5rem;
        opacity: .5;
    }

    .h-roll-navigation a.active {
        opacity: 1;
    }

    .h-roll-content {
        padding: 2rem 0 2rem 0;
        white-space: nowrap;
        overflow-x: auto;
    }

    .h-roll-content * {
        white-space: normal;
    }

    .h-roll-item {
        display: inline-block;
        width: 18rem;
        margin-right: 2rem;
    }

    .h-roll p {
        font-size: 1.6rem;
    }

    .avatar {
        width: 100%;
        height: auto;
        margin-bottom: 2rem;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Hero section */

    .hero {
        background-color: transparent;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-attachment: scroll;
        width: 100%;
        /*height: calc(100vh - 6rem);*/
        height: auto;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .hero:after {
        display: none;
    }

    .hero-content {
        position: relative;
        width: 100%;
        height: 100%;
        padding-top: 6rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-content > div:first-child {
        padding: 2.5rem 2.5rem 0 2.5rem;
        border-right: none;
        text-align: left;
    }

    .hero-content > div:last-child {
        padding: 0 2.5rem 2.5rem 2.5rem;
    }

    .hero-content h1 {
        font-size: 4.2rem;
    }

    .hero-content p {
        font-size: 2.4rem;
        line-height: 1.25;
        margin-bottom: 3rem;
    }

    .hero-content p.text-large {
        color: #fff;
        font-size: 2.6rem;
        line-height: 1.25;
        letter-spacing: 0.005em;
        font-weight: 500;
        margin-bottom: 4rem;
    }

    .map {
        border-radius: 0;
        overflow: hidden;
        width: 100%;
        display: inline-block;
        margin: 0;
        padding: 0;
        border-left: 0;
        border-right: 0;
        transition: none;
    }

    .map:hover {
        border-radius: 3rem;
    }

    .page-header {
        width: 100%;
    }

    .page-header-content {
        position: relative;
        width: 100%;
        height: 100%;
        padding-top: 12rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .page-header-content > div:first-child {
        padding: 2.5rem 2.5rem 0 2.5rem;
        border-right: none;
        text-align: left;
    }

    .page-header-content h1 {
        font-size: 4.2rem;
    }

    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Icons */

    .icon-large {
        width: 6rem;
        height: auto;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Columns */


    .flex-cols {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        margin-bottom: 4rem;
        margin-right: 8rem;
    }

    .flex-cols > div:not(:last-child) {
        padding-right: 0;
        padding-bottom: 2.5rem;
    }


    .flex-auto {
        display: grid;
        grid-template-columns: min-content auto;
        margin-bottom: 4rem;
    }

    .grid-gap-s {
        grid-column-gap: 1rem;
    }

    .grid-gap-m {
        grid-row-gap: 2.5rem;
    }

    .grid-gap-l {
        grid-column-gap: 4.5rem;
    }

    .push-top-s {
        position: relative;
        top: 1rem;
    }

    .push-top-m {
        position: relative;
        /*top: 2.5rem;*/
        top: 0;
    }

    .push-top-l {
        position: relative;
        top: 0;
    }

    .spacer-s {
        height: 1rem;
    }

    .spacer-m {
        height: 2.5rem;
    }

    .spacer-l {
        height: 4.5rem;
    }

    .single-column {
        padding: 2.5rem;
        width: 100%;
    }

    .columns-50-50 {
        display: grid;
        grid-template-columns: auto;
        grid-template-rows: min-content min-content;
    }

    .columns-70-30 {
        display: grid;
        grid-template-columns: 7fr 3fr;
    }

    .columns-30-70 {
        display: grid;
        grid-template-columns: 3fr 7fr;
    }

    .columns-60-40 {
        display: flex;
        flex-direction: column;
    }

    .columns-40-60 {
        display: flex;
        flex-direction: column;
    }

    .columns-40-60 > div:first-child {
        border-right: none;
        padding: 2.5rem 2.5rem 1rem 2.5rem;
        text-align: left;
    }

    .columns-40-60 > div:last-child {
        padding: 1rem 2.5rem 2.5rem 2.5rem;
    }

    .columns-40-60 .narrow-column-left {
        padding-left: 0;
    }

    .columns-40-60 .narrow-column-right {
        padding-right: 0;
    }

    .valing-center {
        align-items: center;
    }

    .align-right {
        text-align: left;
    }


    /* Forms */
    form {
        margin-bottom: 2.5rem;
    }

    .form-row {
        display: grid;
        grid-template-columns: min-content auto;
        grid-column-gap: 2rem;
        padding: 1rem 0;
        margin: 1rem 0;
    }

    .form-icon {
        width: 3rem;
        height: auto;
        margin-top: 3.75rem;
    }

    .form-icon img {
        width: 3rem;
        height: auto;
    }

    #submit-form {
        width: 100%;
    }

    label {
        display: block;
        font-size: 1.8rem;
        line-height: 2rem;
        letter-spacing: .025em;
        font-weight: 700;
        padding-bottom: 1rem;
    }

    input[type="text"] {
        display: block;
        width: 100%;
        font-size: 1.8rem;
        line-height: 1.6;
        padding: .75rem 2rem;
        letter-spacing: .025em;
        border: 1px solid #c9c1c1;
        border-radius: 3rem;
    }

    textarea {
        display: block;
        width: 100%;
        height: 20rem;
        font-size: 1.8rem;
        line-height: 1.5;
        padding: 1.5rem 2rem;
        letter-spacing: .025em;
        border: 1px solid #c9c1c1;
        border-radius: 3rem;
    }


    /* Footer */
    footer {
        padding-bottom: 2.5rem;
    }

    .footer-logo {
        display: block;
    }

    .footer-logo img {
        width: auto;
        height: 5rem;
        margin-bottom: 2.5rem;
    }

    footer a {
        text-decoration: none;
        display: block;
        line-height: 2;
        margin-bottom: .5rem;
        letter-spacing: .05em;
        position: relative;
    }

    footer a:after {
        display: none;
    }

    footer a:hover:after {
        display: none;
    }

    .footer-nav {
        margin-top: 4rem;
    }

    .footer-nav.secondary {
        margin: 4rem 0 3rem 0;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Modifiers */

    .padding-s {
        padding: 1rem;
    }

    .padding-m {
        padding: 2.5rem;
    }

    .padding-l {
        padding: 4.5rem;
    }

    .padding-xl {
        padding: 3.5rem 2.5rem;
    }

    .padding-top-s {
        padding-top: 1rem;
    }

    .padding-top-m {
        padding-top: 2.5rem;
    }

    .padding-top-l {
        padding-top: 4rem;
    }

    .padding-right-s {
        padding-right: 1rem;
    }

    .padding-right-m {
        padding-right: 1.5rem;
    }

    .padding-right-l {
        padding-right: 2.5rem;
    }

    .no-padding {
        padding: 0 !important;
    }

    .no-top-padding {
        padding-top: 0 !important;
    }

    .no-right-padding {
        padding-right: 0 !important;
    }

    .no-bottom-padding {
        padding-bottom: 0 !important;
    }

    .no-left-padding {
        padding-left: 0 !important;
    }

    .no-border {
        border: 0 !important;
    }


    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    /* Extras */

    .special-move-right {
        position: relative;
        right: auto;
        padding: 0;
        background-color: transparent;
    }

    .contendi-circle-container-footer {
        width: 100vw;
        height: 100vw;
    }

    .contendi-circle {
        left: -50%;
        width: 150vw;
        height: 150vw;
    }

    .go-to-top {
        bottom: 1rem;
        right: 1rem;
        width: 2rem;
        height: 2rem;
        opacity: .75;
    }

    .go-to-top:focus {
        outline: 0;
    }

    .go-to-top:hover {
        opacity: .75;
        transform: rotate(-90deg);
    }

    .reverse-on-mobile {
        flex-direction: column-reverse;
    }

    .show-on-mobile {
        display: block;
    }

    .hide-on-mobile {
        display: none;
    }

    .hidden {
        display: none;
    }

    #is-mobile {
        display: block;
    }

    body.holding-page {
        background-color: #2c4d8d;
    }

    body.holding-page:before {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url("../images/eye.svg");
        background-position: 150% center;
        background-size: 150%;
        background-repeat: no-repeat;
        opacity: .05;
    }

    body.holding-page img {
        width: calc(100% - 8rem);
        height: auto;
        position: absolute;
        bottom: 10%;
        left: 0;
        right: auto;
        padding: 4rem;
    }

}

