html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],
template {
    display: none
}

a {
    background-color: transparent
}

a:active,
a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: .0625rem dotted
}

b,
strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 2.5rem
}

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],
html input[disabled] {
    cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    height: auto
}

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: .0625rem solid #c0c0c0;
    margin: 0 .125rem;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td,
th {
    padding: 0
}

table.dataTable {
    width: 100%;
    margin: 0 auto;
    clear: both;
    border-collapse: separate;
    border-spacing: 0
}

table.dataTable thead th,
table.dataTable tfoot th {
    font-weight: 700
}

table.dataTable thead th,
table.dataTable thead td {
    padding: .625rem 1.125rem;
    border-bottom: .0625rem solid #111
}

table.dataTable thead th:active,
table.dataTable thead td:active {
    outline: none
}

table.dataTable tfoot th,
table.dataTable tfoot td {
    padding: .625rem 1.125rem .375rem;
    border-top: .0625rem solid #111
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
    cursor: pointer;
    *cursor: hand
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
    background-repeat: no-repeat;
    background-position: center right
}

table.dataTable thead .sorting {
    background-image: url(../images/sort_both.png)
}

table.dataTable thead .sorting_asc {
    background-image: url(../images/sort_asc.png)
}

table.dataTable thead .sorting_desc {
    background-image: url(../images/sort_desc.png)
}

table.dataTable thead .sorting_asc_disabled {
    background-image: url(../images/sort_asc_disabled.png)
}

table.dataTable thead .sorting_desc_disabled {
    background-image: url(../images/sort_desc_disabled.png)
}

table.dataTable tbody tr {
    background-color: #fff
}

table.dataTable tbody tr.selected {
    background-color: #b0bed9
}

table.dataTable tbody th,
table.dataTable tbody td {
    padding: .5rem .625rem
}

table.dataTable.row-border tbody th,
table.dataTable.row-border tbody td,
table.dataTable.display tbody th,
table.dataTable.display tbody td {
    border-top: .0625rem solid #ddd
}

table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td,
table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td {
    border-top: none
}

table.dataTable.cell-border tbody th,
table.dataTable.cell-border tbody td {
    border-top: .0625rem solid #ddd;
    border-right: .0625rem solid #ddd
}

table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child {
    border-left: .0625rem solid #ddd
}

table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td {
    border-top: none
}

table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd {
    background-color: #f9f9f9
}

table.dataTable.stripe tbody tr.odd.selected,
table.dataTable.display tbody tr.odd.selected {
    background-color: #acbad4
}

table.dataTable.hover tbody tr:hover,
table.dataTable.display tbody tr:hover {
    background-color: #f6f6f6
}

table.dataTable.hover tbody tr:hover.selected,
table.dataTable.display tbody tr:hover.selected {
    background-color: #aab7d1
}

table.dataTable.order-column tbody tr>.sorting_1,
table.dataTable.order-column tbody tr>.sorting_2,
table.dataTable.order-column tbody tr>.sorting_3,
table.dataTable.display tbody tr>.sorting_1,
table.dataTable.display tbody tr>.sorting_2,
table.dataTable.display tbody tr>.sorting_3 {
    background-color: #fafafa
}

table.dataTable.order-column tbody tr.selected>.sorting_1,
table.dataTable.order-column tbody tr.selected>.sorting_2,
table.dataTable.order-column tbody tr.selected>.sorting_3,
table.dataTable.display tbody tr.selected>.sorting_1,
table.dataTable.display tbody tr.selected>.sorting_2,
table.dataTable.display tbody tr.selected>.sorting_3 {
    background-color: #acbad5
}

table.dataTable.display tbody tr.odd>.sorting_1,
table.dataTable.order-column.stripe tbody tr.odd>.sorting_1 {
    background-color: #f1f1f1
}

table.dataTable.display tbody tr.odd>.sorting_2,
table.dataTable.order-column.stripe tbody tr.odd>.sorting_2 {
    background-color: #f3f3f3
}

table.dataTable.display tbody tr.odd>.sorting_3,
table.dataTable.order-column.stripe tbody tr.odd>.sorting_3 {
    background-color: #f5f5f5
}

table.dataTable.display tbody tr.odd.selected>.sorting_1,
table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1 {
    background-color: #a6b4cd
}

table.dataTable.display tbody tr.odd.selected>.sorting_2,
table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2 {
    background-color: #a8b5cf
}

table.dataTable.display tbody tr.odd.selected>.sorting_3,
table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3 {
    background-color: #a9b7d1
}

table.dataTable.display tbody tr.even>.sorting_1,
table.dataTable.order-column.stripe tbody tr.even>.sorting_1 {
    background-color: #fafafa
}

table.dataTable.display tbody tr.even>.sorting_2,
table.dataTable.order-column.stripe tbody tr.even>.sorting_2 {
    background-color: #fcfcfc
}

table.dataTable.display tbody tr.even>.sorting_3,
table.dataTable.order-column.stripe tbody tr.even>.sorting_3 {
    background-color: #fefefe
}

table.dataTable.display tbody tr.even.selected>.sorting_1,
table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1 {
    background-color: #acbad5
}

table.dataTable.display tbody tr.even.selected>.sorting_2,
table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2 {
    background-color: #aebcd6
}

table.dataTable.display tbody tr.even.selected>.sorting_3,
table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3 {
    background-color: #afbdd8
}

table.dataTable.display tbody tr:hover>.sorting_1,
table.dataTable.order-column.hover tbody tr:hover>.sorting_1 {
    background-color: #eaeaea
}

table.dataTable.display tbody tr:hover>.sorting_2,
table.dataTable.order-column.hover tbody tr:hover>.sorting_2 {
    background-color: #ececec
}

table.dataTable.display tbody tr:hover>.sorting_3,
table.dataTable.order-column.hover tbody tr:hover>.sorting_3 {
    background-color: #efefef
}

table.dataTable.display tbody tr:hover.selected>.sorting_1,
table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1 {
    background-color: #a2aec7
}

table.dataTable.display tbody tr:hover.selected>.sorting_2,
table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2 {
    background-color: #a3b0c9
}

table.dataTable.display tbody tr:hover.selected>.sorting_3,
table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3 {
    background-color: #a5b2cb
}

table.dataTable.no-footer {
    border-bottom: .0625rem solid #111
}

table.dataTable.nowrap th,
table.dataTable.nowrap td {
    white-space: nowrap
}

table.dataTable.compact thead th,
table.dataTable.compact thead td {
    padding: .25rem 1.0625rem .25rem .25rem
}

table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td,
table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
    padding: .25rem
}

table.dataTable th.dt-left,
table.dataTable td.dt-left {
    text-align: left
}

table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
    text-align: center
}

table.dataTable th.dt-right,
table.dataTable td.dt-right {
    text-align: right
}

table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
    text-align: justify
}

table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
    white-space: nowrap
}

table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
    text-align: left
}

table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
    text-align: center
}

table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
    text-align: right
}

table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
    text-align: justify
}

table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
    white-space: nowrap
}

table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
    text-align: left
}

table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
    text-align: center
}

table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
    text-align: right
}

table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
    text-align: justify
}

table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
    white-space: nowrap
}

table.dataTable,
table.dataTable th,
table.dataTable td {
    box-sizing: content-box
}

.dataTables_wrapper {
    position: relative;
    clear: both;
    *zoom: 1;
    zoom: 1
}

.dataTables_wrapper .dataTables_length {
    float: left
}

.dataTables_wrapper .dataTables_filter {
    float: right;
    text-align: right
}

.dataTables_wrapper .dataTables_filter input {
    margin-left: .5em
}

.dataTables_wrapper .dataTables_info {
    clear: both;
    float: left;
    padding-top: .755em
}

.dataTables_wrapper .dataTables_paginate {
    float: right;
    text-align: right;
    padding-top: .25em
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    box-sizing: border-box;
    display: inline-block;
    min-width: 1.5em;
    padding: .5em 1em;
    margin-left: .125rem;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    *cursor: hand;
    color: #333 !important;
    border: .0625rem solid transparent;
    border-radius: .125rem
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: #333 !important;
    border: .0625rem solid #979797;
    background-color: #fff;
    background: linear-gradient(to bottom, #fff, #dcdcdc)
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
    cursor: default;
    color: #666 !important;
    border: .0625rem solid transparent;
    background: transparent;
    box-shadow: none
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color: #fff !important;
    border: .0625rem solid #111;
    background-color: #585858;
    background: linear-gradient(to bottom, #585858, #111)
}

.dataTables_wrapper .dataTables_paginate .paginate_button:active {
    outline: none;
    background-color: #2b2b2b;
    background: linear-gradient(to bottom, #2b2b2b, #0c0c0c);
    box-shadow: inset 0 0 .1875rem #111
}

.dataTables_wrapper .dataTables_paginate .ellipsis {
    padding: 0 1em
}

.dataTables_wrapper .dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 2.5rem;
    margin-left: -50%;
    margin-top: -1.5625rem;
    padding-top: 1.25rem;
    text-align: center;
    font-size: 1.2em;
    background-color: #fff;
    background: linear-gradient(to right, #fff0, #ffffffe6 25%, #ffffffe6 75%, #fff0)
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
    color: #333
}

.dataTables_wrapper .dataTables_scroll {
    clear: both
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
    *margin-top: -.0625rem;
    -webkit-overflow-scrolling: touch
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td {
    vertical-align: middle
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing {
    height: 0;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
    border-bottom: .0625rem solid #111
}

.dataTables_wrapper.no-footer div.dataTables_scrollHead table,
.dataTables_wrapper.no-footer div.dataTables_scrollBody table {
    border-bottom: none
}

.dataTables_wrapper:after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0
}

@media screen and (max-width: 767px) {

    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        float: none;
        text-align: center
    }

    .dataTables_wrapper .dataTables_paginate {
        margin-top: .5em
    }
}

@media screen and (max-width: 640px) {

    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        float: none;
        text-align: center
    }

    .dataTables_wrapper .dataTables_filter {
        margin-top: .5em
    }
}

.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    z-index: 1
}

.swiper-container-no-flexbox .swiper-slide {
    float: left
}

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-container-multirow>.swiper-wrapper {
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-slide {
    -webkit-flex-shrink: 0;
    -ms-flex: 0 0 auto;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-wp8-horizontal {
    touch-action: pan-y
}

.swiper-wp8-vertical {
    touch-action: pan-x
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 1.6875rem;
    height: 2.75rem;
    margin-top: -1.375rem;
    z-index: 10;
    cursor: pointer;
    background-size: 1.6875rem 2.75rem;
    background-position: center;
    background-repeat: no-repeat
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    left: .625rem;
    right: auto
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    right: .625rem;
    left: auto
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s;
    transform: translateZ(0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: .625rem;
    left: 0;
    width: 100%
}

.swiper-pagination-bullet {
    width: .5rem;
    height: .5rem;
    display: inline-block;
    border-radius: 100%;
    background: #000;
    opacity: .2
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-white .swiper-pagination-bullet {
    background: #fff
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #007aff
}

.swiper-pagination-white .swiper-pagination-bullet-active {
    background: #fff
}

.swiper-pagination-black .swiper-pagination-bullet-active {
    background: #000
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: .625rem;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: .3125rem 0;
    display: block
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 .3125rem
}

.swiper-pagination-progress {
    background: #00000040;
    position: absolute
}

.swiper-pagination-progress .swiper-pagination-progressbar {
    background: #007aff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar {
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progress {
    width: 100%;
    height: .25rem;
    left: 0;
    top: 0
}

.swiper-container-vertical>.swiper-pagination-progress {
    width: .25rem;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-progress.swiper-pagination-white {
    background: #ffffff80
}

.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar {
    background: #fff
}

.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar {
    background: #000
}

.swiper-container-3d {
    -o-perspective: 75rem;
    perspective: 75rem
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-container-coverflow .swiper-wrapper,
.swiper-container-flip .swiper-wrapper {
    -ms-perspective: 75rem
}

.swiper-container-cube,
.swiper-container-flip {
    overflow: visible
}

.swiper-container-cube .swiper-slide,
.swiper-container-flip .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-cube .swiper-slide .swiper-slide,
.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active,
.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-slide {
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    filter: blur(3.125rem);
    z-index: 0
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-scrollbar {
    border-radius: .625rem;
    position: relative;
    -ms-touch-action: none;
    background: #0000001a
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: .1875rem;
    z-index: 50;
    height: .3125rem;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: .1875rem;
    top: 1%;
    z-index: 50;
    width: .3125rem;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: #00000080;
    border-radius: .625rem;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-lazy-preloader {
    width: 2.625rem;
    height: 2.625rem;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -1.3125rem;
    margin-top: -1.3125rem;
    z-index: 10;
    transform-origin: 50%;
    animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: 50%;
    background-size: 100%;
    background-repeat: no-repeat
}

.swiper-lazy-preloader-white:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

@keyframes swiper-preloader-spin {
    to {
        transform: rotate(360deg)
    }
}

/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */
html {
    color: #222;
    font-size: 1em;
    line-height: 1.4
}

hr {
    display: block;
    height: .0625rem;
    border: 0;
    border-top: .0625rem solid #ccc;
    margin: 1em 0;
    padding: 0
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

textarea {
    resize: vertical
}

.browserupgrade {
    margin: .2em 0;
    background: #ccc;
    color: #000;
    padding: .2em 0
}

.hidden {
    display: none !important
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: .0625rem;
    margin: -.0625rem;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: .0625rem
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto
}

.invisible {
    visibility: hidden
}

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

.clearfix:after {
    clear: both
}

@media print {

    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a,
    a:visited {
        text-decoration: underline
    }

    a[href]:after {
        content: " (" attr(href) ")"
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: ""
    }

    pre,
    blockquote {
        border: .0625rem solid #999;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    tr,
    img {
        page-break-inside: avoid
    }

    img {
        max-width: 100% !important
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        page-break-after: avoid
    }
}


.project-detail {
    width: 80%;
    margin: 0 auto;
    padding: 0;
    list-style: none
}

.project-detail li {
    padding-top: 1.5em
}

.project-detail img {
    width: 100%;
    height: auto
}

.compact {
    position: absolute;
    top: 0;
    right: 0
}

#navigate,
.close,
.compact {
    position: fixed;
    top: 0;
    right: 0;
    padding: .5em 3em 1em 1em
}

#navigate:target .compact {
    display: none
}

#navigate:target .expanded {
    display: block;
    background-color: #fff
}

.close {
    color: transparent
}

#navigate:target .close {
    color: #000;
    width: 1.33em
}

#navigate:target .expanded,
.always.expanded {
    transform: scale(1)
}

.projektliste th {
    font-weight: 400;
    text-align: left;
    text-transform: uppercase;
    padding-bottom: .75em
}

.projektliste td {
    padding-right: 1em;
    border-top: .0625rem solid black;
    padding-top: .5em;
    vertical-align: top
}

main,
main div {
    background-color: #fff
}

.navbar,
nav header {
    position: fixed;
    top: 0;
    left: 0;
    padding: 1em 2em 0;
    width: 100%
}

.inactive {
    color: #aaa
}

h2 .close {
    padding-top: 1em
}

* {
    box-sizing: border-box
}

html {
    font-size: 62.5%
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Univers LT Std',
        sans-serif;
    font-size: 1.6rem;
    line-height: 1.2;
    color: #000
}

main h1,
main h2,
main h3 {
    font-size: 1.8rem;
    font-weight: 400
}

main figure {
    margin: 0
}

main img {
    width: 100%;
    height: auto
}

main small,
main .small,
main p.regular {
    font-size: 1.6rem;
    font-weight: 400
}

.underlined,
.underlined-within a,
.hoverable:hover,
.navbar.all-sections a:hover,
article>* a {
    border-bottom: .0625rem solid black
}

#navigate:target~main article {
    display: none
}

#navigate:target~main .list-mode a {
    border-bottom: .0625rem solid black
}

#navigate:target~main .list-mode .underlined {
    border: none
}

a {
    color: inherit;
    text-decoration: none
}

.subpage .navbar.all-sections h1 a:hover {
    border-bottom: 0px solid transparent !important
}

nav {
    margin: 0
}

.navbar {
    position: fixed;
    width: 100vw;
    height: 7.2vw;
    top: 0;
    left: 0;
    right: 0;
    padding: 2.4192vw;
    line-height: 1;
    background-color: #fff;
    color: #000
}

main {
    margin: 7.92vw 2.88vw;
    margin-bottom: 0
}

.navbar {
    margin: 0;
    z-index: 100;
    top: 43%;
}

.expanded {
    position: fixed;
    top: 11.52vw;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    padding: 0 2.88vw 8.64vw;
    overflow-y: scroll
}

.expanded .list-mode {
    opacity: 0;
    display: none
}

.expanded {
    transform: scaleY(0);
    transition: all .2s ease-in-out;
    transform-origin: center top
}

@media screen and (max-width: 1024px) {
    .subpage .navbar {
        position: fixed;
        background-color: #fff;
        padding-bottom: 0;
    }

    .subpage .navbar h1 {
        font-size: 2.1rem;
        margin-bottom: 0 !important
    }

    .subpage .navbar>a {
        display: none
    }

    .subpage .navbar a.show-description {
        display: block;
        float: right
    }

    .subpage .navbar a.show-description svg {
        width: 2.1rem !important;
        height: 2.1rem !important
    }

    .subpage article h2 {
        padding-top: 0
    }
}

.projects main h2,
.academic main h2 {
    display: none
}

.projects.subpage .navbar,
.academic.subpage .navbar {
    z-index: 1000;
    background-color: transparent;
    color: #fff
}

.projects.subpage .navbar h1+a,
.academic.subpage .navbar h1+a {
    font-weight: 400
}

.projects.subpage .navbar svg.plus,
.academic.subpage .navbar svg.plus {
    width: 2.4vw;
    height: 2.4vw
}

.projects.subpage .navbar h1 a,
.projects.subpage .navbar svg line,
.academic.subpage .navbar h1 a,
.academic.subpage .navbar svg line {
    transition: all .1s ease-in-out
}

.projects.subpage .navbar[data-textcolor=black] h1 a,
.projects.subpage .navbar[data-textcolor=black] svg line,
.academic.subpage .navbar[data-textcolor=black] h1 a,
.academic.subpage .navbar[data-textcolor=black] svg line {
    color: #000;
    stroke: #000
}

main.list-images article a {
    display: block
}

main.list-images h3 {
    margin-top: .33em;
    height: 2.5em
}

main.list-images h3 span {
    padding-right: .03em
}

.figcaption {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    padding: 18vh 18vw;
    background-color: transparent;
    z-index: 1000
}

.figcaption:target,
.figcaption.show {
    display: block
}

.figcaption svg {
    position: fixed;
    top: 0;
    left: 0;
    height: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1
}

.figcaption h3 {
    text-align: center;
    font-size: 1.6rem
}

.figcaption p {
    font-size: 2.8rem;
    font-weight: 700
}

a.schliessen svg line:first-child {
    display: none
}

@media screen and (max-width: 1024px) {
    .figcaption {
        padding: 13vh 2.5vw;
        -webkit-hyphens: auto;
        hyphens: auto;
        -webkit-hyphenate-before: 2;
        -webkit-hyphenate-after: 3;
        hyphenate-limit-lines: 3
    }

    .figcaption svg {
        display: none
    }

    .figcaption p {
        font-size: 1.6rem !important
    }

    .figcaption[data-darstellung=black],
    .figcaption[data-darstellung="black petit"],
    .figcaption[data-darstellung="black passepartout"] {
        background-color: #fff !important;
        color: #000 !important
    }

    .figcaption[data-darstellung=white],
    .figcaption[data-darstellung="white petit"] .figcaption[data-darstellung="white passepartout"] {
        background-color: #000 !important;
        color: #fff !important
    }
}

.projektliste thead {
    position: sticky;
    top: 0
}

.projektliste thead th.sorting span:after {
    margin: 1em
}

.projektliste thead th.sorting_desc span:after {
    content: " ▲";
    font-size: .92em
}

.projektliste thead th.sorting_asc span:after {
    content: " ▼";
    font-size: .92em
}

.projektliste thead th {
    background-color: #fff;
    border-bottom: .0625rem solid black !important;
    background-image: none !important
}

.projektliste tbody tr:first-child td {
    border-top: none !important
}

.academic .projektliste .list-students {
    display: none;
    list-style: none;
    padding-left: 1.66em
}

.academic .projektliste tr:hover td ul {
    font-weight: 400
}

.academic .projektliste tr:hover td ul li:hover {
    font-weight: 700
}

.academic .projektliste input {
    visibility: hidden;
    margin-right: .5em;
    transform: rotate(-90deg);
    transition: transform .2s ease
}

.academic .projektliste input:before {
    content: "▼";
    visibility: visible
}

.academic .projektliste input:checked {
    transform: rotate(0)
}

.academic table .year {
    width: 4em
}

.academic table .school,
.academic table .reader {
    width: 6em
}

.academic table .trailer {
    width: auto
}

.academic .dataTables_wrapper {
    margin-bottom: 3em
}

.academic .deckblatt {
    position: relative;
    z-index: 1
}

.academic .deckblatt h2 {
    display: block;
    position: absolute;
    top: 0;
    margin: 0;
    width: 100%;
    height: 75%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
    font-size: 1.8rem;
    padding: 1em
}

.academic .deckblatt a {
    display: inline
}

hr.clear {
    clear: both;
    border-collapse: collapse;
    background-color: transparent;
    border-top: .0625rem solid black
}

.press #pdfjs {
    position: fixed;
    top: 12vh;
    left: 3vw;
    right: 5vw;
    bottom: 0;
    width: 94vw;
    height: 88vh
}

.press table .year {
    width: 4em
}

.press table .format {
    width: 6em
}

.press table .published-in {
    width: 12em
}

.press table .title {
    width: 45rem
}

.press table .reference {
    width: auto
}

.press .screen {
    width: 70vw;
    min-height: 39.375vw;
    position: absolute;
    top: 13vh;
    left: 15vw
}

.press .screen iframe {
    width: 70vw;
    height: 39.375vw
}

.press .in-reference-to {
    margin-top: 10vh;
    position: relative;
    left: -.2rem
}

@media screen and (min-aspect-ratio: 4/3) {
    .press header.navbar {
        height: 5.67vw;
        padding-bottom: 0 !important
    }

    .press #pdfjs {
        top: 18vh;
        height: 82vh
    }

    .press .in-reference-to {
        margin-top: 14vh
    }
}

@media screen and (max-width: 1024px) {
    .press #pdfjs {
        top: 3rem;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100vw;
        height: 100vh
    }
}

.navbar>* {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.15vw;
    letter-spacing: -.05em;
    margin: 0
}

.list-mode {
    text-transform: uppercase;
    padding-top: 0;
    margin: 0 0 2.5vw
}

.writing.subpage .navbar>a,
.office.subpage .navbar>a {
    display: none
}

.writing article,
.office article {
    margin: 12rem auto;
    width: 94vw;
    max-width: 33em;
    font-size: 1.8rem;
    line-height: 1.25
}

.writing h2,
.writing h3,
.writing img,
.writing img+em,
.office h2,
.office h3,
.office img,
.office img+em {
    padding-top: 1.2em
}

.writing h2,
.office h2 {
    font-size: 3.64rem;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: normal
}

.writing h3,
.office h3 {
    font-size: inherit;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .02em;
    text-align: left
}

.writing figure,
.office figure {
    display: block;
    width: 60%;
    height: auto;
    margin: 0 auto
}

.writing figcaption,
.office figcaption {
    display: block;
    margin-top: .66em;
    font-size: 1.376rem;
    text-align: center;
    padding: 0 0 1.2em
}

.writing figure img,
.office figure img {
    width: 100%;
    height: auto
}

.writing table.curriculum-vitae th,
.office table.curriculum-vitae th {
    white-space: nowrap;
    vertical-align: top;
    font-weight: 400;
    text-align: left;
    width: 7em;
    padding-right: 0
}

.writing table.curriculum-vitae td,
.office table.curriculum-vitae td {
    vertical-align: top
}

.office article {
    margin: 6rem auto
}

.office article+article {
    margin: 3rem auto
}

.office .contact h2 {
    display: none
}

.office .contact p {
    text-transform: uppercase;
    text-align: center
}

.office h3 {
    text-align: center
}

.writing h2 {
    line-height: 1
}

.writing h2,
.writing h3,
.writing img,
.writing img+em {
    text-align: center;
    position: relative;
    left: -.5em
}

@media screen and (min-width: 1024px) {
    .office article {
        width: 54vw
    }

    .office .contact {
        margin-top: 12rem
    }

    .office .contact p {
        font-size: 3.64rem;
        letter-spacing: -.03em;
        font-weight: 700
    }
}

@media screen and (max-width: 1024px) {
    .office th {
        width: 6.2em;
        font-size: .82em;
        padding-top: .24em
    }

    .writing.subpage .navbar {
        background-color: #fff
    }

    .writing h2 {
        font-size: 2.1rem;
        max-width: 92vw;
        left: 0
    }

    .writing figure {
        width: 70%
    }
}

.home {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap
}

.home footer {
    padding: 3em 0
}

.home .navbar {
    display: none !important
}

.home h1 {
    margin: auto 0;
    padding-top: .5em;
    text-align: center;
    font-size: 12vw;
    text-transform: uppercase;
    letter-spacing: -.05em
}

@media screen and (max-width: 1024px) {
    .home {
        overflow: hidden;
        position: fixed;
        top: 0;
        left: 0
    }

    .home footer {
        text-align: center;
        padding: 0 0 6em
    }
}

.navbar {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between
}

.navbar .show-description {
    position: relative;
    top: -.25rem
}

@media screen and (min-width: 1024px) {
    main.list-images {
        margin-right: 1em
    }

    main.list-images article {
        width: 24.2%;
        margin-right: 1%;
        float: left
    }

    main.list-images article:nth-of-type(4n) {
        margin-right: 0
    }
}

@media screen and (max-width: 1024px) {
    main.list-images article {
        width: 100%
    }
}

table {
    overflow: scroll;
    width: 100%
}

table th {
    font-weight: 400 !important;
    padding-left: 0 !important;
    border-bottom: none !important
}

table td {
    padding-left: 0 !important
}

table.projektliste tr:not(.nolink):hover td {
    font-weight: 700;
    cursor: pointer
}

table.projektliste td.reference a:hover:before {
    content: "→ ";
    font-weight: 700
}

table.projektliste th,
table.projektliste td {
    min-width: 4em
}

table.projektliste th.project,
table.projektliste td.project {
    width: 24em;
    min-width: 24em;
    max-width: 22em
}

table.projektliste th.year span,
table.projektliste th.number span {
    white-space: nowrap
}

table.projektliste th:last-child,
table.projektliste td:last-child {
    max-width: none;
    width: auto
}

table.projektliste td.status,
table.projektliste td.size {
    white-space: nowrap
}

.dataTables_filter,
.dataTables_info {
    display: none
}

.swiper-container {
    width: 100%;
    height: 100%;
    margin: 0
}

.swiper-slide {
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat
}

.swiper-slide img {
    display: none
}

.swiper-slide .image-caption {
    position: fixed;
    bottom: 8vh;
    left: 0;
    width: 100%;
    padding: 0 15vw;
    text-align: center;
    font-size: 1.376rem
}

.swiper-slide.passepartout,
.swiper-slide.petit {
    background-color: #fff;
    background-image: none !important
}

.swiper-slide[data-textcolor=white] {
    background-color: #000
}

.swiper-slide[data-textcolor=white] .vignette {
    background-color: #000;
    border: .0625rem solid black
}

.swiper-slide[data-textcolor=white] .figcaption {
    color: #fff
}

svg.hintergrund rect {
    fill: #fff
}

.figcaption[data-darstellung=black],
.figcaption[data-darstellung="black petit"],
.figcaption[data-darstellung="black passepartout"] {
    background-color: transparent;
    color: #fff
}

.figcaption[data-darstellung=black] svg.hintergrund rect,
.figcaption[data-darstellung="black petit"] svg.hintergrund rect,
.figcaption[data-darstellung="black passepartout"] svg.hintergrund rect {
    fill: #000
}

.figcaption[data-darstellung=white],
.figcaption[data-darstellung="white petit"] .figcaption[data-darstellung="white passepartout"] {
    background-color: transparent;
    color: #000
}

.figcaption[data-darstellung=white] svg.hintergrund rect,
.figcaption[data-darstellung="white petit"] .figcaption[data-darstellung="white passepartout"] svg.hintergrund rect {
    fill: #fff
}

.figcaption {
    cursor: default
}

.swiper-slide.passepartout .vignette {
    margin: 13vh auto 17vh;
    width: 70vw;
    height: 70vh;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat
}

.swiper-slide.petit .vignette {
    margin: 20vh auto;
    width: 60vw;
    height: 60vh;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat
}

.for-vimeo {
    display: flex;
    justify-content: center;
    align-items: center
}

.swiper-slide iframe.vignette {
    width: 70vw !important;
    height: 39.375vw !important
}

@media screen and (max-width: 1024px) {

    .swiper-slide.passepartout .vignette,
    .swiper-slide.petit .vignette {
        margin: 13vh auto 17vh;
        width: 95vw;
        height: 65vh
    }

    iframe.vignette {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden
    }

    .swiper-slide {
        opacity: 0 !important
    }

    .swiper-slide-active {
        opacity: 1 !important
    }

    .swiper-slide .image-caption {
        bottom: .75em
    }
}

body.plus {
    cursor: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20width='25px'%20height='25px'%20viewBox='0%200%20100%20100'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3c!--%20Generator:%20Sketch%2041.1%20(35376)%20-%20http://www.bohemiancoding.com/sketch%20--%3e%3ctitle%3eangle-left%3c/title%3e%3cdesc%3eCreated%20with%20Sketch.%3c/desc%3e%3cdefs%3e%3c/defs%3e%3cg%20id='Page-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cpolyline%20id='Path-2'%20stroke='%23000000'%20stroke-width='6'%20points='0%200%20100%2050%200%20100'%3e%3c/polyline%3e%3c/g%3e%3c/svg%3e"), e-resize
}

body.minus {
    cursor: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20width='25px'%20height='25px'%20viewBox='0%200%20100%20100'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3c!--%20Generator:%20Sketch%2041.1%20(35376)%20-%20http://www.bohemiancoding.com/sketch%20--%3e%3ctitle%3eangle-right%3c/title%3e%3cdesc%3eCreated%20with%20Sketch.%3c/desc%3e%3cdefs%3e%3c/defs%3e%3cg%20id='Page-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cpolyline%20id='Path-3'%20stroke='%23000000'%20stroke-width='6'%20points='100%200%200%2050%20100%20100'%3e%3c/polyline%3e%3c/g%3e%3c/svg%3e"), w-resize
}

body.plus .swiper-slide-active.white {
    cursor: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20width='25px'%20height='25px'%20viewBox='0%200%20100%20100'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3c!--%20Generator:%20Sketch%2041.1%20(35376)%20-%20http://www.bohemiancoding.com/sketch%20--%3e%3ctitle%3eangle-left%3c/title%3e%3cdesc%3eCreated%20with%20Sketch.%3c/desc%3e%3cdefs%3e%3c/defs%3e%3cg%20id='Page-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cpolyline%20id='Path-2'%20stroke='white'%20stroke-width='6'%20points='0%200%20100%2050%200%20100'%3e%3c/polyline%3e%3c/g%3e%3c/svg%3e"), e-resize
}

body.minus .swiper-slide-active.white {
    cursor: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20width='25px'%20height='25px'%20viewBox='0%200%20100%20100'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3c!--%20Generator:%20Sketch%2041.1%20(35376)%20-%20http://www.bohemiancoding.com/sketch%20--%3e%3ctitle%3eangle-right%3c/title%3e%3cdesc%3eCreated%20with%20Sketch.%3c/desc%3e%3cdefs%3e%3c/defs%3e%3cg%20id='Page-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cpolyline%20id='Path-3'%20stroke='white'%20stroke-width='6'%20points='100%200%200%2050%20100%20100'%3e%3c/polyline%3e%3c/g%3e%3c/svg%3e"), w-resize
}

header:hover {
    cursor: default
}

.navbar label,
.navbar input {
    display: none
}

@media screen and (max-width: 1024px) {
    .navbar label {
        display: inline;
        float: right
    }

    .navbar .toggle~a {
        display: none
    }

    .navbar .toggle:checked~a {
        display: block
    }

    .swiper-container {
        position: fixed !important;
        top: 0;
        left: 0
    }

    .swiper-slide {
        background-size: cover;
        height: 100%
    }
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
    .swiper-slide {
        background-size: contain !important
    }
}

@media screen and (max-width: 1024px) and (orientation: portrait) {

    .projects.subpage.white main {
        background-color: #000
    }

    .projects.subpage main {
        padding: 0
    }

    .swiper-container {
        position: fixed !important;
        top: 0;
        left: 0;
        padding: 0 2.5vw !important
    }

    .swiper-slide {
        background-size: contain !important;
        height: 100%
    }

    .navbar {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        background-color: transparent;
        height: auto
    }

    .navbar .show-description {
        position: relative;
        top: -.25rem
    }

    .navbar.all-sections {
        position: fixed;
        display: block;
        float: left;
        line-height: 1.25;
        background-color: #fff;
        padding-bottom: 2em
    }

    .navbar.all-sections h1 {
        margin-bottom: .66em
    }

    .navbar.all-sections>a {
        margin-right: .5em
    }

    .navbar>* {
        font-size: 2.1rem
    }

    .list-images,
    .landing .navbar+* {
        margin-top: 22rem
    }

    .list-mode {
        margin: 0 0 2em
    }

    #navigate:target .expanded {
        top: 0;
        padding-top: 21rem
    }

    #navigate:target .expanded .list-mode {
        display: block;
        opacity: 1;
        padding-top: 1rem
    }

    table.projektliste {
        width: 100% !important;
        overflow: scroll;
        -webkit-overflow-scrolling: touch
    }

    table.projektliste th,
    table.projektliste td {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important
    }

    .projektliste td+td+td,
    .projektliste th+th+th {
        display: none
    }
}

@media screen and (min-width: 1240px) {
    html {
        font-size: 72.5%
    }

    html .underlined,
    html .hoverable:hover,
    html .navbar.all-sections a:hover {
        border-bottom: .0625rem solid black !important
    }

    html #navigate:target~main .list-mode a {
        border-bottom: .0625rem solid black
    }

    html #navigate:target~main .list-mode .underlined {
        border: none !important
    }

    html .show-description svg line {
        stroke-width: 2;
        stroke: #fff
    }
}

@media screen and (min-width: 1500px) {
    .writing.subpage article {
        font-size: 2.34rem
    }

    .writing.subpage article h2 {
        font-size: 4.68rem;
        margin-top: 0
    }

    .writing.subpage article figcaption {
        font-size: 1.7888rem
    }

    .writing.subpage header {
        padding-bottom: 1.33vw
    }
}

@media screen and (min-width: 2000px) {
    .writing.subpage article {
        max-width: 38em
    }
}

@media screen and (max-width: 374px) {
    html {
        font-size: 52%
    }
}