.browserupgrade {
    display: block;
    text-align: center;
    padding: 0.5em 10px;
    color: white;
    background: #cc0000;
    font-size: 0.8em;
    margin-top: 100px;
}

.browserupgrade a {
    color: white !important;
    text-decoration: underline;
}

#nav-logo {
    height: 80px;
    transition: height 0.5s ease;
}

@media (max-width: 991px) {
    #nav-logo {
        height: 50px;
    }
}

.sticky #nav-logo {
    height: 50px;
}

.nav-highlight {
    border: solid 1px currentColor;
    padding: 10px 20px;
    margin: -4px;
    border-radius: 5px;
    background-color: white;
}

@media (max-width: 767px) {
    .nav-highlight {
        margin: 0;
        border: none;
        background: none;
        border-radius: 0;
    }
}

.paragraph {
    margin-top: 10em;
}

.paragraph h2,
.form h2 {
    margin-top: 3em;
}

.paragraph h3,
.form h3 {
    margin-top: 2em;
}

.paragraph h4,
.form h4 {
    margin-top: 1.5em;
    margin-bottom: -0.5em;
}

.paragraph p,
.form p {
    margin-top: 1em;
}

@media (max-width: 767px) {
    .paragraph {
        margin-top: 7em;
    }

    .paragraph h2,
    .form h2 {
        margin-top: 2em;
    }

    .paragraph h3,
    .form h3 {
        margin-top: 1.5em;
    }

    .paragraph h4,
    .form h4 {
        margin-top: 1.5em;
    }

    .paragraph p,
    .form p {
        margin-top: 1em;
    }
}

.form {
    margin-top: 3em;
}

.form input {
    margin-top: 1em;
}

.form .desc {
    padding: 0.5em 1em;
    font-size: 0.8em;
    color: #aaaaaa;
}

.form hr {
    margin: 2em 0;
}

ul.list,
ol.list {
    padding: 1em 0 1em 1.5em;
}

ul.list li,
ol.list li {
    margin: 0.5em 0;
    padding-left: 1em;
    text-indent:-1em;
}

ul.list li::before,
ol.list li::before {
    content: "—";
    display: inline-block;
    padding-right: 1em;
}

.list a {
    display: inline;
}

/* ======= subscribe css ======= */
@media (max-width: 767px) {
    .subscribe-section .section-title h2 {
        font-size: 24px;
    }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
    .subscribe-section .section-title h2 {
        font-size: 32px;
    }
}

.subscribe-section .subscribe-wrapper {
    background-color: #0898e7;
    padding: 65px 50px 50px;
    border-radius: 10px;
}

@media (max-width: 767px) {
    .subscribe-section .subscribe-wrapper {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
    .subscribe-section .subscribe-wrapper {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.subscribe-section .subscribe-wrapper .subscribe-form {
    position: relative;
    margin-bottom: 15px;
}

input {
    width: 100%;
    padding: 20px 25px;
    padding-right: 142px;
    border-radius: 6px;
    background: #fff;
    color: #5b657e;
    border: 1px solid transparent;
    -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
    -webkit-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
}

input::-webkit-input-placeholder {
    opacity: 0.7;
    color: #5b657e;
}

input:-ms-input-placeholder {
    opacity: 0.7;
    color: #5b657e;
}

input::-ms-input-placeholder {
    opacity: 0.7;
    color: #5b657e;
}

input::placeholder {
    opacity: 0.7;
    color: #5b657e;
}

.subscribe-section .subscribe-wrapper .subscribe-form button {
    position: absolute;
    top: 5px;
    right: 5px;
}

.preview img, .preview div {
    margin-top: 2em;
    border-radius: 10px;
}

.photogallery img {
    margin-top: 5px;
    border-radius: 10px;
}

.puzzle {
    width: 100%;
    display: flex;
    flex-direction: row;
}

.puzzle .puzzle-left-column {
    width: 200px;
    flex-shrink: 0;
}

.puzzle .puzzle-left-column a, .puzzle .puzzle-left-column a img {
    width: 100%;
}

.puzzle .solution {
    margin-top: 2em;
    margin-left: 30px;
}

.puzzle .solution h5 {
    margin-bottom: 0.4em;
}

.puzzle .solution h5:not(:first-child) {
    margin-top: 1.5em;
}

.puzzle .solution .img {
    margin-top: 1em;
}

@media (max-width: 767px) {
    .puzzle {
        flex-direction: column;
    }
    
    .puzzle a {
        width: 200px;
        max-width: 100%;
    }
    
    .puzzle .solution {
        margin-top: 30px;
        margin-left: 0;
    }
}

.censored {
    cursor: pointer;
}

.censored span, .censored .img, .censored img {
    transition: all 0.2s ease;
}

.censored .img {
    display: inline-block;
}


.censored img {
    opacity: 1;
}

.censored span {
    background-color: #eee0;
    display: inline;
}


.censored.censored-hidden .img {
    background-color: #eee0;
}

.censored.censored-hidden span {
    color: #eee;
    background-color: #eee;
}

.censored.censored-hidden img {
    opacity: 0;
}

.censored.censored-hidden .img {
    background-color: #eee;
}

h4.puzzle-nazev {
    margin-top: 3em;
}

.results {
    margin: 0 2em;
}

.results .overflow-x {
    margin: 2em 0;
    overflow-x: auto;
}

.results table {
    width: 100%;
    min-width: 1000px;
    table-layout: fixed;
}

.results td, .results th {
    padding: 0.4em 0.5em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.results th {
    padding: 1em 0.5em;
}

/* 2023 */

.results .time {
    width: 110px;
}

.results .order {
    width: 35px;
}

/* .results .teamname {
    width: 200px;
} */

.results tbody .napoveda:after {
    content: "?";
    text-align: center;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    font-size: 10px;
    border-radius: 50%;
    color: white;
    background: #0898e7;
    display: inline-block;
    margin-left: 0.6em;
    margin-bottom: 0.1em;
}

.results .desc .napoveda:before {
    content: "?";
    text-align: center;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    font-size: 10px;
    border-radius: 50%;
    color: white;
    background: #0898e7;
    display: inline-block;
    margin-right: 0.6em;
    margin-bottom: 0.1em;
}

/* 2024 */

.results .main {
    width: 120px;
}

.results .main.wide {
    width: 170px;
}

.results .other {
    width: 70px;
}

.results .other.wide {
    width: 120px;
}

.results .bonus {
    width: 40px;    
    text-overflow: clip;
}

.results .timestamp {
    width: 50px;
    display: inline-block;
}

.results .wide .timestamp {
    width: 100px;
}

.results .bx {
    margin-left: -3px;
}

.results .tokens {
    width: 140px;
}

.results .tokens .bx {
    margin-left: 0;
}

.results .teamname {
    width: 200px;
}

.results .tokens .bx, .icon-token {
    color: #0898e7;
}

.results .main .bx, .icon-hint {
    color: #fc5100;
}

/* .results .ukonceno + td:before {
    content: "×";
    text-align: center;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    font-size: 10px;
    border-radius: 50%;
    color: white;
    background: #fc5100;
    display: inline-block;
    margin-bottom: 0.1em;
} */

.results tr:nth-child(even) {
    background: #f5f5f5;
}

.results tbody tr:hover {
    background: #e2e2e2;
}

.results .desc div {
    margin-bottom: 0.5em;
}

.gallery-center {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.preview-small {
    margin-right: 1em;
}

.preview-small > img, .preview-small > div {
    width: 150px;
    height: 150px;
}

.preview-small > img {
    object-fit: cover;
    object-position: center;
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
}

.preview-small > div {
    position: relative;
}

.preview-small > div > div {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: auto;
}

.preview-small > div > div > i {
    font-size: 3em;
}




.preview-shadow {
    margin-right: 1em;
}

.preview-shadow > img, .preview-shadow > div {
    width: 300px;
}

.preview-shadow > img {
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
}

.fit-cover {
    object-fit: cover;
    object-position: center;
}