@charset "UTF-8";
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%
}

*, *:before, *:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

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

[hidden], template {
    display: none
}

b, strong {
    font-weight: 700
}

small {
    font-size: 80%
}

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

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    display: block;
    max-width: 100%;
    vertical-align: middle;
    border: 0
}

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

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

button {
    overflow: visible;
    border: 0 none;
    background: none
}

button, select {
    text-transform: none
}

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

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

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

input {
    line-height: normal;
    border-radius: 0
}

input[type=checkbox], input[type=radio] {
    padding: 0
}

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

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

input[type=search] {
    border-radius: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse
}

::-webkit-scrollbar {
    display: none
}

:focus {
    outline: 0
}

html, body {
    min-height: 100vh;
    overflow: hidden
}

body {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #eceded;
    color: #3f464c;
    font-family: Fira Sans Light, sans-serif;
    font-size: 22px;
    line-height: 1.5
}

strong {
    font-family: Fira Sans Book, sans-serif
}

p, span {
    cursor: default
}

a, a *, button, button * {
    cursor: pointer
}

.backbutton {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 290px;
    padding: 0 5px 0 15px;
    color: #8c9094;
    line-height: 40px;
    vertical-align: middle
}

.backbutton:active {
    background-color: #52595e;
    color: #fff
}

.backbutton i {
    display: inline-block;
    margin-right: 5px;
    font-size: 36px;
    vertical-align: middle
}

.backbutton span {
    display: inline-block;
    width: calc(100% - 45px);
    color: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: middle
}

.breadcrumb {
    padding: 5px 40px;
    background-color: #4db6b1;
    font-family: Fira Sans Light, sans-serif;
    font-size: 20px
}

.breadcrumb__item {
    display: inline-block;
    color: #fff;
    line-height: 50px
}

.breadcrumb__item:not(:last-child):after {
    display: inline-block;
    padding: 0 12px;
    content: '›'
}

.breadcrumb__item > a {
    display: inline-block;
    color: inherit;
    text-decoration: none
}

.breadcrumb__item > a:active {
    text-decoration: underline
}

.box {
    font-size: 20px;
    position: relative;
    height: 256px;
    background-color: #006a64;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 calc(50% - 4px);
    -ms-flex: 0 0 calc(50% - 4px);
    flex: 0 0 calc(50% - 4px)
}

.box:not(:last-child) {
    margin-bottom: 8px
}

.box:last-child {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%
}

.box__clock {
    font-family: Fira Sans Book, sans-serif;
    font-size: 90px;
    position: absolute;
    top: 65px;
    width: 100%;
    text-align: center
}

.box__news {
    padding: 25px
}

.box__news h2 {
    font-family: Fira Sans Light, sans-serif;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 1em
}

.box__news p {
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical
}

.box__footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block
}

.box__footer a, .box__footer span {
    display: block;
    padding: 25px
}

.box__footer a:active {
    display: block;
    color: #00978f;
    background-color: #fff
}

.box__start {
    font-family: Fira Sans Book, sans-serif;
    font-size: 90px;
    line-height: 256px;
    display: block;
    text-align: center
}

.box__start:active {
    display: block;
    color: #00978f;
    background-color: #fff
}

.content-area {
    position: fixed;
    top: 116px;
    right: 40px;
    bottom: 40px;
    left: 290px;
    overflow-y: scroll
}

.tabnav ~ .content-area {
    top: 156px
}

.content-area--with-sidebar {
    left: 590px
}

.content {
    padding: 35px 40px 40px;
    color: #52595e;
    font-family: Fira Sans Light, sans-serif;
    font-size: 20px
}

.content h1 {
    margin-bottom: .75em;
    color: #3f464c;
    font-family: Fira Sans Book, sans-serif;
    font-size: 30px;
    line-height: 1.2
}

.content h2, .content h3 {
    margin-top: 1.5em;
    margin-bottom: .75em;
    color: #52595e;
    font-family: Fira Sans Book, sans-serif;
    font-size: 20px;
    line-height: 1.2
}

.content h3 {
    border-bottom: 1px solid #656b70
}

.content p {
    margin-bottom: .75em;
    line-height: 1.4
}

.content p + img {
    margin-top: 20px
}

.content img {
    margin-bottom: 20px
}

.content ol, .content ul {
    margin-bottom: 1em;
    line-height: 1.4;
    margin-left: 2em
}

.footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 40px;
    background-color: #d9dadb;
    border-top: 1px solid #b2b5b7
}

.header {
    position: relative;
    width: 100%;
    height: 116px;
    background-color: #00978f
}

.header__datetime {
    position: absolute;
    top: 0;
    right: 40px;
    color: rgba(255, 255, 255, .7);
    font-family: Fira Sans Light, sans-serif;
    font-size: 20px;
    line-height: 55px
}

.header__datetime span {
    display: inline-block;
    margin-left: 30px
}

.idle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #00978f;
    color: #fff;
    z-index: 100
}

.idle a {
    color: #fff;
    text-decoration: none
}

.idle h1 {
    font-size: 36px;
    line-height: 1.4
}

.idle__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 1000px;
    height: 710px;
    margin: auto
}

.idle__header {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    height: 130px
}

.idle__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 520px
}

.idle__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 357px;
    -ms-flex: 0 0 357px;
    flex: 0 0 357px;
    -webkit-flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    list-style: none
}

.idle__nav a {
    display: block;
    padding: 20px 30px;
    background-color: #4db6b1;
    font-size: 28px;
    line-height: 40px;
    white-space: nowrap
}

.idle__nav a:active {
    background-color: #fff;
    color: #00978f
}

.idle__nav i {
    margin-right: 18px;
    font-size: 32px
}

.idle__boxes {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 635px;
    -ms-flex: 0 0 635px;
    flex: 0 0 635px;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.linklist {
    margin: 20px 0 10px;
    border-top: 1px solid #00978f
}

.linklist__item {
    display: block;
    border-bottom: 1px solid #00978f;
    color: #1aa19a;
    font-family: Fira Sans Book, sans-serif;
    line-height: 40px;
    text-decoration: none
}

.linklist__item:active {
    background-color: #00978f;
    color: #fff
}

.linklist i {
    padding: 0 10px;
    font-size: 18px
}

.logo {
    padding: 22px 30px;
    width: 240px;
    height: auto;
}

.main {
    position: absolute;
    top: 56px;
    bottom: 0;
    left: 290px;
    width: calc(100vw - 290px - 40px);
    background-color: #fff;
    box-shadow: 0 60px 10px 0 rgba(0, 0, 0, .4)
}

.minigallery {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin: 30px 0 40px
}

.minigallery figure {
    margin-right: 60px
}

.minigallery img {
    display: block;
    margin-bottom: 10px
}

.minigallery figcaption {
    line-height: 1.4
}

.minigallery strong {
    color: #3f464c;
    font-family: Fira Sans Book, sans-serif;
    font-weight: 400
}

.minigallery span {
    color: #52595e
}

.nav {
    list-style: none
}

.nav__item > a {
    display: block;
    padding: 5px 10px;
    color: #3f464c;
    font-size: 20px;
    text-decoration: none
}

.nav__item > a[data-state=is-active], .nav__item > a:active {
    background-color: #00978f;
    color: #fff
}

.nav__item > a[data-state=is-active] i, .nav__item > a:active i {
    color: #fff
}

.nav__item[data-state=is-open] > a {
    font-family: Fira Sans Medium, sans-serif
}

.nav__item span, .nav__item i {
    display: inline-block;
    margin-right: 10px
}

.nav__item i {
    color: #b2b5b7;
    font-size: 24px
}

.schedule {
    list-style: none;
    overflow-y: scroll
}

.schedule-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 15px 40px
}

.schedule-item:nth-child(even) {
    background-color: #e6f5f4
}

.schedule-item__time {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 200px;
    -ms-flex: 0 0 200px;
    flex: 0 0 200px;
    font-family: Fira Sans Medium, sans-serif
}

.schedule-item__body {
    -webkit-box-flex: 1;
    -webkit-flex: auto;
    -ms-flex: auto;
    flex: auto;
    font-size: 20px
}

.schedule-item__body > h2 {
    margin-bottom: .5em;
    font-family: Fira Sans Book, sans-serif;
    font-size: 22px
}

.schedule-item__body > p {
    margin-bottom: .75em
}

.scroll--topics {
    position: absolute;
    right: 650px;
    bottom: 0
}

.scroll--content {
    position: absolute;
    right: 40px;
    bottom: 0
}

.scroll > button {
    width: 40px;
    height: 40px;
    color: #8c9094;
    line-height: 40px;
    text-align: center
}

.scroll > button:not([disabled]):active {
    background-color: #3f464c;
    color: #fff
}

.scroll > button[disabled] {
    color: #b2b5b7
}

.scroll i {
    font-size: 36px
}

.sidebar {
    position: absolute;
    top: 156px;
    width: 250px;
    min-height: 100px;
    background-color: #fff;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .4)
}

.subnav {
    margin-bottom: 5px;
    list-style: none
}

.subnav a {
    display: block;
    padding: 7px 7px 7px 50px;
    color: #52595e;
    font-size: 17px;
    text-decoration: none
}

.subnav a[data-state=is-active], .subnav a:active {
    background-color: #00978f;
    color: #fff
}

.tabnav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-left: 40px;
    border-bottom: 1px solid #007972;
    background-color: #4db6b1;
    font-family: Fira Sans Light, sans-serif;
    list-style: none
}

.tabnav--tight {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-right: 40px;
    padding-left: 20px
}

.tabnav__item {
    display: inline-block;
    height: 39px;
    margin-right: 10px
}

.tabnav__item > a, .tabnav__item > span {
    display: block;
    padding: 0 10px;
    background-color: #00978f;
    color: #fff;
    line-height: 39px;
    text-decoration: none
}

.tabnav__item > a[data-state=is-active], .tabnav__item > a:active, .tabnav__item > span[data-state=is-active], .tabnav__item > span:active {
    background-color: #007972
}

.tabnav__item > span {
    color: #4db6b1
}

.tabnav--tight .tabnav__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 3.846153846%;
    -ms-flex: 0 0 3.846153846%;
    flex: 0 0 3.846153846%;
    margin-right: 0;
    text-align: center
}

.tabnav--tight .tabnav__item > * {
    padding: 0
}

.table {
    font-size: 20px;
    margin-bottom: 1.25em
}

.table tbody tr:nth-child(odd) {
    background-color: #d9dadb
}

.table th {
    font-family: Fira Sans Medium, sans-serif;
    text-align: left
}

.table th, .table td {
    padding: 3px 5px
}

.table caption {
    text-align: left;
    font-family: Fira Sans Medium, sans-serif;
    margin-bottom: .75em
}

.table-alternate {
    font-size: 20px;
    margin-bottom: 1.25em;
    width: auto
}

.table-alternate th {
    font-family: Fira Sans Medium, sans-serif;
    text-align: left
}

.table-alternate th, .table-alternate td {
    padding: 3px 10px
}

.table-alternate th:first-of-type, .table-alternate td:first-of-type {
    padding-left: 0
}

.table-alternate th:last-of-type, .table-alternate td:last-of-type {
    padding-right: 0
}

.table-alternate caption {
    text-align: left;
    font-family: Fira Sans Medium, sans-serif;
    margin-bottom: .75em
}

.topic-area {
    position: fixed;
    top: 116px;
    bottom: 40px;
    left: 290px;
    width: 300px;
    overflow-y: scroll;
    border-right: 1px solid #d9dadb
}

.tabnav ~ .topic-area {
    top: 156px
}

.topic-list {
    list-style: none;
    padding-top: 10px
}

.topic a {
    display: block;
    width: 100%;
    padding: 5px 5px 5px 20px;
    color: #52595e;
    font-family: Fira Sans Book, sans-serif;
    font-size: 17px;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden
}

.topic a[data-state=is-active], .topic a:active {
    background-color: #00978f;
    color: #fff
}
