/* W3CS 4.15 December 2020 by Jan Egil and Borge Refsnes */

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    font-size: 62.5%
}

html,
body {
    width: 100%;
    min-width: 100%;
    max-width: 100%
}

body {
    margin: 0;
    font-family: sans-serif;
    line-height: 1;
    font-size: 18px;
    font-size: 1.8rem;

    text-rendering: optimizeLegibility;
    -webkit-font-feature-settings: "kern"1;
    font-feature-settings: "kern"1;
    -webkit-padding-before: 1px
}

*,
*:before,
*:after {
    box-sizing: inherit;
    image-rendering: -webkit-optimize-contrast
}



/* Screen-reader only elements */

.semantic, .semantic * {
    font-size: 0 !important;
    color: transparent !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: -9999 !important;
    position: static;
}



/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */

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

summary {
    display: list-item
}

audio,
canvas,
progress,
video {
    display: inline-block;
    max-width: 100%
}

progress {
    vertical-align: baseline
}

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

[hidden],
template {
    display: none
}

a {
    background-color: transparent
}

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

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

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

small {
    font-size: .8em
}

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

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

figure {
    margin: 1em 40px;
    margin: 1em 4rem;
}

img {
    border-style: none;
    max-width: 100%
}

[role=img] {
    height: auto;
    width: 100%;
    max-width: 100%;
    background: transparent no-repeat center;
    background-size: 100% auto;
    background-size: contain
}

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

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

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

optgroup {
    font-weight: bold
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText;
    outline: .1rem dotted ButtonText;
}

fieldset {
    border: 1px solid #c0c0c0;
    border: .1rem solid #c0c0c0;
    margin: 0 2px;
    margin: 0 .2rem;
    padding: .35em .625em .75em;
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

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

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

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
    outline-offset: -0.2rem
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold
}

h1 {
    font-size: 36px;
    font-size: 3.6rem
}

h2 {
    font-size: 30px;
    font-size: 3rem
}

h3 {
    font-size: 24px;
    font-size: 2.4rem
}

h4 {
    font-size: 20px;
    font-size: 2rem
}

h5 {
    font-size: 18px;
    font-size: 1.8rem
}

h6 {
    font-size: 16px;
    font-size: 1.6rem
}



/* W3CS Modals */

.w3-overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 20
}

.w3-modal {
    z-index: 30;
    display: none;
    padding-top: 100px;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.85)
}

.w3-modal-content {
    margin: auto;
    background-color: #fff;
    position: relative;
    padding: 0;
    outline: 0;
    width: 600px
}


.w3-card,
.w3-card-2 {
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)
}

.w3-card-4,
.w3-hover-shadow:hover {
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2), 0 4px 20px 0 rgba(0, 0, 0, 0.19)
}


.w3-display-container {
    position: relative
}

.w3-container:after,
.w3-container:before {
    content: "";
    display: table;
    clear: both
}


.w3-display-hover {
    display: none
}

.w3-display-container:hover .w3-display-hover.inline {
    display: inline
}

.w3-display-container:hover .w3-display-hover.block {
    display: block
}

.w3-display-container:hover .w3-display-hover.inline.block {
    display: inline-block
}

.w3-display-container:hover .w3-display-hover.flex {
    display: flex
}

.w3-display-container:hover .w3-display-hover.inline.flex {
    display: inline-flex
}


.w3-display-topleft {
    position: absolute;
    left: 0;
    top: 0
}

.w3-display-topright {
    position: absolute;
    right: 0;
    top: 0
}

.w3-display-bottomleft {
    position: absolute;
    left: 0;
    bottom: 0
}

.w3-display-bottomright {
    position: absolute;
    right: 0;
    bottom: 0
}

.w3-display-middle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%)
}

.w3-display-left {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(0%, -50%);
    -ms-transform: translate(-0%, -50%)
}

.w3-display-right {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%)
}

.w3-display-topmiddle {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%)
}

.w3-display-bottommiddle {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%)
}

@media (min-width: 993px) {
    .w3-modal-content {
        width: 900px
    }
}

@media (max-width: 768px) {
    .w3-modal {
        padding-top: 50px
    }

    .w3-modal-content {
        width: 500px
    }
}

@media (max-width: 600px) {
    .w3-modal {
        padding-top: 30px
    }

    .w3-modal-content {
        margin: 0 10px;
        width: auto !important
    }
}



/* W3CS Animations */

.w3-spin {
    animation: w3-spin 2s infinite linear
}

@keyframes w3-spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(359deg)
    }
}


.w3-animate-fading {
    animation: fading 10s infinite
}

@keyframes fading {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}


.w3-animate-opacity {
    animation: opac 0.8s
}

@keyframes opac {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}


.w3-animate-top {
    position: relative;
    animation: animatetop 0.4s
}

@keyframes animatetop {
    from {
        top: -300px;
        opacity: 0
    }

    to {
        top: 0;
        opacity: 1
    }
}


.w3-animate-left {
    position: relative;
    animation: animateleft 0.4s
}

@keyframes animateleft {
    from {
        left: -300px;
        opacity: 0
    }

    to {
        left: 0;
        opacity: 1
    }
}


.w3-animate-right {
    position: relative;
    animation: animateright 0.4s
}

@keyframes animateright {
    from {
        right: -300px;
        opacity: 0
    }

    to {
        right: 0;
        opacity: 1
    }
}


.w3-animate-bottom {
    position: relative;
    animation: animatebottom 0.4s
}

@keyframes animatebottom {
    from {
        bottom: -300px;
        opacity: 0
    }

    to {
        bottom: 0;
        opacity: 1
    }
}


.w3-animate-zoom {
    animation: animatezoom 0.6s
}

@keyframes animatezoom {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}


.w3-animate-input {
    transition: width 0.4s ease-in-out
}

.w3-animate-input:focus {
    width: 100% !important
}