.title {
    font-size: 1.875rem;
}

.menu {
    display: block;
    width: 100%;
    
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}

.menu-header {
    display: flex;
    width: 100%;

    padding: 10px 30px;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;

    background-color: #FFF;
}

.menu-logo {
    display: block;
    width: 60px;
    height: auto;
}

.menu-logo-image {
    display: block;
    width: 100%;
    height: auto;
}

.hamburger {
    display: flex;
    width: calc(1rem + 20px);
    height: calc(1rem + 20px);

    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.hamburger-icon,
.hamburger-icon::before,
.hamburger-icon::after {
    display: block;
    width: 1rem;
    height: 1px;

    background-color: #000;
}

.hamburger-icon {
    position: relative;

    transition: transform .2s ease, background-color .2s ease;
}

.hamburger-icon::before,
.hamburger-icon::after {
    position: absolute;
    left: 0;

    content: '';

    transition: transform .2s ease, left .2s ease;
}

.hamburger-icon::before {
    top: calc(-.3rem);

    transform-origin: top left;
}

.hamburger-icon::after {
    bottom: calc(-.3rem - 1px);

    transform-origin: bottom left;
}

.menu--opened .hamburger-icon {
    background-color: transparent;

    transform: rotate(-180deg);
}

.menu--opened .hamburger-icon::before,
.menu--opened .hamburger-icon::after {
    left: 15%;
}

.menu--opened .hamburger-icon::before {
    transform: rotate(45deg);
}

.menu--opened .hamburger-icon::after {
    transform: rotate(-45deg);
}

.menu-wrapper {
    height: calc(100vh - 100%);

    position: absolute;
    top: 100%;
    left: -100%;

    padding: 30px;

    background-color: #FFF;

    overflow: auto;
    opacity: 0;
    transition: opacity .35s ease, left .1ms linear .35s;
}

.menu--opened .menu-wrapper {
    left: 0;

    opacity: 1;
    transition: opacity .35s ease;
}

.header {
    padding: 30px;

    position: relative;
    z-index: 1001;

    background-color: #FFF;
}

.header-logo {
    margin: 0 0 30px 0;
}

.header-title {
    font-size: 2.375rem;
}

.tagline {
    position: relative;
    z-index: 1001;

    padding: 20px 30px;

    font-size: 1.875rem;
}

.sidebar-wrapper {
    display: block;
}

.sidebar {
    display: block;
    width: 100%;
    max-width: none;

    padding: 0;

    background-color: transparent;
}

.sidebar-header {
    width: 100%;

    position: relative;
    z-index: 1001;

    padding: 30px;
    border: 0;
    margin: 0;

    background-color: #FFF;
}

.sidebar-logo {
    max-width: 120px;

    margin: 0 0 30px 0;
}

.sidebar-content {
    display: block;
    width: 100%;
}

.section {
    padding: 0 30px;
    margin: 60px 0;
}

.wrapper > .section:last-child {
    margin-bottom: 0;
}

.section-row {
    display: block;
    width: 100%;

    margin: 0;
}

.section-col {
    display: block;
    width: 100%;

    margin: 0;
}

.section-col:not(:last-child) {
    margin-bottom: 60px;
}

.message {
    display: block;
}

.message-image {
    width: 100%;
}

.message-image::before {
    display: block;
    width: 0;

    padding: 73% 0 0 0;

    content: '';
}

.message-content {
    width: 100%;

    padding: 40px 0;
    border-top: 0;
}

.message-quote {
    margin: 40px 0;
}

.message-link {
    margin: 0;

    align-self: center;

    text-align: center;
}

.commissions {
    display: block;
    
    padding: 60px 30px;
}

.commissions-content {
    width: 100%;
    max-width: none;
}

.commissions-slider-link {
    display: inline-flex;

    margin: 40px 0 0 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;

    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 500;
    font-style: italic;
}

.commissions-slider-link::before {
    display: block;
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.35rem;

    margin: 0 10px 0 0;

    content: '';

    background-image: url(../img/commissions-dot.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

.commissions-slider-link::after {
    display: block;

    margin: 0 0 0 20px;

    content: '\e80b';
    font-family: 'icons';
    font-size: 1.5rem;
    font-style: normal;
    line-height: 1;
}

.commissions-slider-controls {
    padding: 0;
}

.commissions-sidebar {
    width: 100%;

    margin: 60px auto 0 auto;
}

.commissions-list {
    display: none;
}

.highlights {
    display: block;
    width: calc(100% + 60px);

    padding: 60px 30px 0 30px;
    margin: 0 -30px;
}

.highlights-button {
    display: none;
}

.highlights-poster {
    width: 100%;

    margin: 0 auto;
}

.highlights-content {
    width: 100%;
    max-width: none;

    margin: 60px 0 40px 0;
}

.highlights-media {
    width: calc(100% + 60px);

    border-bottom: 1px solid #707070;
    margin: 0 -30px;
}

.board {
    padding: 60px 30px;
}

.numbers {
    display: block;
    width: 100%;

    margin: 0;
}

.numbers-item {
    display: block;
    width: 100%;

    padding: 0;
}

.numbers-item:not(:last-child) {
    margin-bottom: 60px;
}

.numbers-item:not(:last-child)::after {
    width: 100%;
    height: 0;

    top: calc(100% + 29.5px);

    border-right: 0;
    border-top: 1px solid #BCC6D6;

    transform: scaleX(0);
    transform-origin: center;
}

.numbers-item--displayed:not(:last-child)::after {
    transform: scaleX(1);
}

.numbers-figure {
    font-size: 60px;
}

.team {
    width: calc(100% + 60px);

    border: 0;
    margin: 0 -30px;
}

.team-content {
    padding: 60px 30px 50px 30px;
}

.results {
    display: block;
    width: calc(100% + 60px);

    padding: 60px 30px;
    margin: 0 -30px;
}

.results-poster {
    width: 100%;

    margin: 0 auto 60px auto;
}

.results-content {
    width: 100%;
    max-width: none;
}

.page-header {
    display: block;
    min-height: 0;
    
    z-index: 1001;

    background-color: #FFF;

    color: inherit;
}

.page-header-background {
    height: auto;

    position: relative;
    z-index: 0;
}

.page-header-background::before {
    display: block;
    width: 0;

    padding: 73% 0 0 0;

    content: '';
}

.page-header-quote {
    width: 100%;
    max-width: none;

    padding: 0 30px;
    margin: 40px 0 0 0;
}

.page-wrapper {
    display: block;
}

.page-content {
    width: 100%;
}

.page-aside {
    width: 100%;

    padding: 60px 0 0 0;
    border-left: 0;
    border-top: 1px solid #BABABA;
    margin: 60px 0 0 0;
}

.page-aside::before {
    bottom: calc(100% - 39.5px);
}

.page-back {
    width: 100%;
    
    padding: 0;
    margin: 45px 0 0 0;

    justify-content: center;

    text-align: center;
}

.page-back-link {
    display: block;
    width: 100%;

    padding: 15px 0;
}

.interview-item {
    padding: 30px;
}

.interview-item-quote-author,
.interview-item-quote-text {
    font-size: 1.25rem;
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .container {
        max-width: none;

        padding: 0;
    }

    .formatted blockquote {
        padding: 0 30px;
    }

    .formatted figure.align-left {
        margin-left: -30px;
        margin-right: 30px;
    }

    .formatted figure.align-right {
        margin-right: -30px;
        margin-left: 30px;
    }
}

@media (max-width: 750px) {
    .interview {
        max-width: 400px;

        margin-left: auto;
        margin-right: auto;
    }

    .interview-wrapper {
        display: block;
    }
}

@media (max-width: 600px) {
    .formatted figure {
        width: calc(100% + 60px);
    }

    .formatted figure.align-left,
    .formatted figure.align-right {
        margin-right: -30px;
        margin-left: -30px;
    }
}