.c-section {
    box-sizing: border-box;
    padding-top: 7em;
    padding-bottom: 7em;
    width: 100%;
    position: relative;
    display: flex;
    height: auto;
}

.c-section.frame-padding-none {
    padding: 0 !important;
}

.c-section .bg-media {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.c-section.valign-center {
    display: flex;
    align-items: center;
}

.c-section.valign-bottom {
    align-items: flex-end;
}

.c-section.valign-bottom .content {
    margin-bottom: 0;
}

.c-section.nopadding {
    padding: 0
}

.c-section>.content {
    width: 100%;
}

.c-section.content-width-wide>.content {
    max-width: 80rem;
    width: 100%;
}

.c-section.content-width-full>.content {
    max-width: 100%;
    width: 100%;
}

.c-section.content-width-auto>.content {
    max-width: revert;
    width: auto;
}

.c-section .bg-media.fade-in {
    opacity: 0;
    transition: opacity .4s ease-in-out;
}

.c-section .bg-media.fade-in.loaded {
    opacity: 1;
}

.c-section .bg-media.slide-up {
    margin-top: 100%;
    transition: margin .4s ease-in-out;
}

.c-section .bg-media.slide-up.loaded {
    margin-top: 0;
}

.c-section .bg-media.slide-down {
    margin-top: -100%;
    transition: margin .4s ease-in-out;
}

.c-section .bg-media.slide-down.loaded {
    margin-top: 0;
}

.c-section .bg-media.bg1 {
    object-position: left top;
}

.c-section .bg-media.bg2 {
    object-position: left center;
}

.c-section .bg-media.bg3 {
    object-position: left bottom;
}

.c-section .bg-media.bg4 {
    object-position: center top;
}

.c-section .bg-media.bg5 {
    object-position: center bottom;
}

.c-section .bg-media.bg6 {
    object-position: right top;
}

.c-section .bg-media.bg7 {
    object-position: right center;
}

.c-section .bg-media.bg8 {
    object-position: right bottom;
}

.c-section.fixed .bg-media {
    position: fixed;
}

.c-section .c-section-buttons {
    position: absolute;
    bottom: 1.25rem;
    right: 1.25rem;
}

.c-section .c-section-buttons button {
    box-sizing: border-box;
    padding: 0.5rem;
    width: auto;
    mix-blend-mode: exclusion;

}

.c-section .c-section-buttons button:hover {
    cursor: pointer
}

.c-section .c-section-buttons svg {
    width: 1.15rem;
    pointer-events: none;
}

.c-section .c-section-buttons svg .a,
.c-section .c-section-buttons svg .st0,
.c-section .c-section-buttons svg rect {
    fill: #fff
}

.c-section .sound .on,
.c-section .clearframe .on {
    display: none
}

.c-section .sound .off,
.c-section .clearframe .off {
    display: block
}

.c-section .sound.active .on,
.c-section .clearframe.active .on {
    display: block
}

.c-section .sound.active .off,
.c-section .clearframe.active .off {
    display: none
}

.c-section .overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block
}

.c-section.frame-padding-small .content {
    padding: 1.8rem;
}

.c-section .overlay,
.c-section .content {
    transition: all .4s ease-in-out;
}

.c-section.contentIsHidden .overlay,
.c-section.contentIsHidden .content {
    margin-left: -100%;
}

.c-section.fullheight {
    min-height: 100vh;
    min-height: calc(var(--csvh, 1vh) * 100);
}

.c-section.align-center {
    text-align: center
}

.c-section.align-right {
    text-align: right
}

.c-section.align-center p,
.c-section.align-center ol,
.c-section.align-center ul,
.c-section.align-center {
    margin: auto
}

.c-section.align-right p,
.c-section.align-right ol,
.c-section.align-right ul,
.c-section.align-right {
    margin-left: auto
}

.c-section .bg-dark {
    -webkit-font-smoothing: antialiased
}

.c-section.bg-black {
    background-color: #000 !important;
    color: #fff;
    -webkit-font-smoothing: antialiased
}

@media screen and (max-width:1024px) {
    .c-section.fixed {
        background-attachment: scroll !important
    }
}

@media screen and (max-width:960px) {
    .c-section.valign-bottom.fullheight .content {
        margin-bottom: 4em
    }

    .c-section {
        padding-top: 5em;
        padding-bottom: 5em
    }
}

@media screen and (max-width:680px) {
    h1 {
        font-size: 2.3em;
        line-height: 1.2em
    }
}
