/*

responze breakpointy

576px	Small
768px	Medium
992px	Large
1200px  Extra large

*/

@font-face {
    font-family: 'Walsheim';
    src: url('/_gt/font/GT-Walsheim-Pro-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Walsheim';
    src: url('/_gt/font/GT-Walsheim-Pro-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --radius: 5px;
    --shadow-card: 0px 4px 4px rgba(0, 0, 0, 0.1), 0px 4px 4px rgba(0, 0, 0, 0.1);
    --shadow-light: 0px 4px 4px rgba(0, 0, 0, 0.05), 0px 4px 4px rgba(0, 0, 0, 0.05);
    --c-primary: #E8112D;
    --c-secondary: #A7A693; /* archiv sedozelena */
    --c-secondary-30: rgba(167 166 147 / .3);
    --c-secondary-10: rgba(167 166 147 / .1);
    --c-tertiary: #BFB437; /* archiv zelena */
    --c-tertiary-lightest: #F9F8EB;
    --c-darkgreen: #5F5F5B;
    --c-dark: #1d1d1d;
    --c-neutral: #CBC4BC;
    --font-size-small: 0.75rem;
    --font-size-smaller: 0.875rem;
    --font-size-text: 1rem;
    --font-size-h1: 1.5rem;
    --font-size-h2: 1.375rem;
    --font-size-h3: 1.1rem;
}

/* reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}

:focus {
    outline: 0;
}

/* margins */
.ma {
    margin: 1rem !important;
}

.mt {
    margin-top: 1rem !important;
}

.ml {
    margin-left: 1rem !important;
}

.mr {
    margin-right: 1rem !important;
}

.mb {
    margin-bottom: 1rem !important;
}
/* remember to define focus styles! */
body {
    line-height: 1;
    color: black;
    background: white;
}

ol, ul {
    list-style: none;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}
/* tables still need 'cellspacing="0"' in the markup */
caption, th, td {
    text-align: left;
    font-weight: normal;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
}

blockquote, q {
    quotes: "" "";
}

input, button, select, textarea {
    font-family: inherit;
    font-size: 1rem;
}
/* reset end */

/* global */
* {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body * {
    position: relative;
}

.js .js-hide {
    display: none;
}

/* base */
html, body {
    font: normal 16px/1.4 "Roboto", sans-serif;
    background: var(--c-tertiary-lightest);
    color: var(--c-dark);
}

a {
    color: inherit;
    text-decoration: none;
}

h1, .h1 {
    font-weight: 700;
    font-size: var(--font-size-h1);
    line-height: 40px
}

h2, .h2 {
    font-weight: 700;
    font-size: var(--font-size-h2);
    line-height: 1.3
}

h3, .h3 {
    font-weight: 700;
    font-size: var(--font-size-h3);
    line-height: 1.3
}

h4, .h4 {
    font-weight: 700;
    font-size: var(--font-size-text);
}

h1 small, h2 small, h3 small {
    display: block;
    color: var(--c-dark);
    font-size: 60%;
}

/* text */

.text p, .text ul, .text ol, .text dl, .text address, .text blockquote {
    margin-bottom: 1rem;
    max-width: 95%;
}

.text .card, .text form {
    margin-block: 1.5rem;
}

.text ul, .text dl, .text ol {
    margin-top: 1rem
}

.text a {
    text-decoration: underline;
    color: inherit;
}

    .text a:hover {
        text-decoration: none;
    }

.text ul > li:before {
    content: "—";
    position: absolute;
    margin-left: -1.5em;
    color: #555;
}

.text ul ul > li:before {
    content: "";
}

.text ul ul {
    list-style-type: circle;
}

.text ul {
    margin-left: 1.5rem;
}

.text ol {
    margin-left: 1.3rem;
    list-style-type: decimal;
}

    .text ol ol {
        list-style-type: lower-alpha;
    }

        .text ol ol ol {
            list-style-type: circle;
        }

    .text ul ul, .text ul ol, .text ol ul, .text ol ol {
        margin-top: 10px;
        margin-bottom: 10px;
    }

.text h1, .text .h1 {
    margin-bottom: 3rem;
}

.text h2, .text .h2 {
    margin-bottom: 2rem;
}

.text h3, .text .h3 {
    margin-bottom: 1.5rem;
}

.text h4, .text .h4 {
    margin-bottom: 1rem;
}


.text .grayblock, .text blockquote {
    background: #eee;
    padding: 10px;
    margin: 20px -10px
}

    .text .grayblock *:first-child, .text blockquote *:first-child {
        margin-top: 0px;
    }

    .text .grayblock *:last-child, .text blockquote *:last-child {
        margin-bottom: 0px;
    }

.valuelist .label, .valuelist .value {
    float: left;
}

.text .btn {
    text-decoration: none;
}


.bottomlinks {
}

/* layout */

.pg {
    font-size: var(--font-size-text);
    display: grid;
    grid-template-rows: 40px auto auto;
    min-height: 100vh;
}

@media all and (min-width: 992px) {
    .pg {
        grid-template-rows: auto;
        grid-template-columns: 50px 210px auto;
        grid-template-areas: "A B C" "A B C";
    }

    .pg__h {
        grid-area: A;
    }

    .pg__n {
        grid-area: B;
    }
}

.pg__h, .pg__m, .pg__f {
    z-index: 2;
}

.h {
    background: #fff;
    display: flex;
    box-shadow: 0 .5rem 1rem rgba(0 0 0 / .05)
}

.h__logo {
    order: 1;
    width: 40px;
    height: 40px;
}

.h__logo-img {
    width: 20px;
    height: 20px;
    display: block;
    margin: 10px;
}

.h__logo-tit {
    display: none;
}

.h__icons {
    order: 2;
    display: flex;
    flex-flow: row-reverse;
    margin-left: auto;
}

.h__icons-navlauncher {
    z-index: 999;
}

    .h__icons-navlauncher.active {
        color: red;
        box-shadow: 20px 0px 0px #333
    }

.h__icons-lng > span {
    text-transform: uppercase;
    height: auto;
    top: 50%;
    transform: translatey(-50%);
    font-size: 1.2rem;
}

.h__ico {
    height: 40px;
    width: 40px;
    margin-left: 5px;
    display: inline-block;
    font-size: 1.2rem;
    font-family: roboto;
    font-weight: bold;
    color: #333;
    z-index: 999;
}

    .h__ico:hover {
        background-color: #fff;
    }

    .h__ico * {
        position: absolute;
        width: 100%;
        height: 100%;
        text-align: center;
        top: 0
    }

@media all and (min-width: 992px) {
    .h {
        flex-flow: column;
    }

    .h__logo {
        order: 2;
        text-align: center;
        width: 100%;
        height: auto;
    }

    .h__icons {
        margin-bottom: 10px;
        order: 1;
        display: block;
        margin-left: initial;
    }

    .h__logo-img {
        width: 70%;
        margin: auto;
        max-width: 40px;
        position: relative;
        display: block;
        margin-bottom: 10px;
    }

    .h__logo-tit {
        width: 40%;
        margin: auto;
        position: relative;
        max-width: 25px;
        border-right: .3rem solid transparent;
        box-sizing: content-box;
        display: block;
    }

    .h__ico {
        max-width: 50px;
        width: 100%;
        height: 0px;
        padding-top: 100%;
        margin: auto;
        display: block;
        background: #efefef;
        position: relative;
        font-size: 1.2rem;
        font-family: roboto;
        font-weight: bold;
        color: #333;
        z-index: 999;
    }
}

.pg__n {
}

.mainnav {
    background: var(--c-darkgreen);
    padding: 2rem;
    z-index: 3;
    overflow: hidden;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
}

    .mainnav:target {
        display: block;
    }

.mainnav__logo {
    display: block;
    width: 84px;
    margin-bottom: 2rem;
}

.mainnav__link {
    font-size: var(--font-size-small);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    line-height: 1.5;
    padding: 1rem 2rem;
    display: block;
    width: 100%;
}

.mainnav__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 -2rem;
    border-top: 1px solid rgba(167, 166, 147, 0.3);
}

    .mainnav__item:hover {
        background: rgba(167, 166, 147, 0.3);
    }

    .mainnav__item.active {
        background: var(--c-tertiary);
    }
/* sipka na konci */
/*.mainnav__item.active > .mainnav__link:after {content: " "; position: absolute; left: 100%; top: 0; width: 1rem; height: 100%; background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iNjMiIHZpZXdCb3g9IjAgMCAxNCA2MyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0IDMxLjVMMC41IDYyLjI0MzlMMC41IDAuNzU2MDk4TDE0IDMxLjVaIiBmaWxsPSIjYmZiNDM3Ii8+Cjwvc3ZnPgo=") no-repeat top left; background-size: 100% 100%; background-position: left center;}*/
.mainnav-launcher {
    display: block;
    background: var(--c-secondary);
    color: #fff;
}

.mainnav-launcher__ico {
    width: 16px;
    height: 16px;
    position: absolute;
    right: 2rem;
}

.mainnav__modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
}

    .mainnav__modal-close svg {
        width: 20px;
        height: 20px;
        margin: 10px;
    }

@media all and (min-width: 992px) {
    .mainnav-launcher, .mainnav__modal-close {
        display: none;
    }

    .mainnav {
        overflow: visible;
        display: block;
        position: relative
    }

    .mainnav__item {
        min-height: 4.3125rem;
    }

        .mainnav__item.active > .mainnav__link:after {
            content: " ";
            position: absolute;
            left: 100%;
            top: 50%;
            transform: translateY(-50%);
            border-top: calc(4.3125rem / 2) solid transparent;
            border-left: 1rem solid var(--c-tertiary);
            border-bottom: calc(4.3125rem / 2) solid transparent;
        }
}

.pg__container {
    width: 90%;
    margin: 0 auto;
}


.pg__m {
}

.m {
}

    .m > .pg__container > * {
        z-index: 10;
    }

    .m > .pg__container > .m__search {
        z-index: 5;
    }

    .m > .pg__container > .m__topbar:hover {
        z-index: 30;
    }

.pg-index .m__topbar {
    flex-direction: row;
    justify-content: space-between;
}

.m__topbar {
    padding: 2rem 0;
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--c-secondary-30);
}

.m__logo {
    display: block;
    width: 84px;
}

.m__tech {
    text-align: right;
    margin: 0 1rem 0 auto;
    padding-top: .25rem;
}

    .m__tech .small {
        display: block;
    }

.m__tech-btn {
    float: right;
}

.m__title {
    margin-right: auto;
    margin-bottom: 1rem;
    /*flex: 1 100%;*/
}

@media all and (min-width: 768px) {
    .m__title {
        margin: 0;
        flex: auto
    }
}

.m__search {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.m__section {
    margin: 2rem 0;
}

.m__section-title {
    margin-bottom: 2rem;
    text-align: center;
    font-size: var(--font-size-small);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--c-secondary);
    overflow: hidden;
}

    .m__section-title > * {
        display: inline-block;
    }

        .m__section-title > *:before, .m__section-title > *:after {
            content: " ";
            position: absolute;
            top: 50%;
            border-top: 1px solid var(--c-secondary-30);
            width: 50vw;
        }

        .m__section-title > *:before {
            left: calc(100% + 1rem);
        }

        .m__section-title > *:after {
            right: calc(100% + 1rem);
        }

.pg__f {
    background: var(--c-secondary-30);
    margin-top: 2rem;
}

.f {
    padding: 3rem 0;
}

.f__credits {
    display: flex;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
}

.f__logos {
    width: 100px;
    flex: 0 0 100px;
}

    .f__logos a {
        display: block;
    }

    .f__logos img {
        display: block;
        height: 50px;
        top: 1px;
    }

.f__content {
    flex: 1 50%;
}

/* video, embed, object */

.responsive {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

    .responsive iframe, .video-responsive object, .video-responsive embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

.table-responsive {
    overflow-x: auto;
    border-radius: 1rem;
    box-shadow: var(--shadow-card);
}

    .table-responsive > * {
        overflow: hidden
    }


/* doclist */

.doclist {
    margin: 1em 0em;
}

    .doclist li {
        margin: .3em 0em;
        padding-left: 30px;
    }

    .doclist .docnote {
        color: gray;
        padding-left: 5px;
        font-size: .8em;
    }

    .doclist .docpdf {
        background: url("img/icons/ico-pdf.png") no-repeat;
        line-height: 22px;
    }

    .doclist .docdoc {
        background: url("img/icons/ico-doc.png") no-repeat;
        line-height: 22px;
    }

    .doclist .docxls {
        background: url("img/icons/ico-xls.png") no-repeat;
        line-height: 22px;
    }

    .doclist .docrtf {
        background: url("img/icons/ico-rtf.png") no-repeat;
        line-height: 22px;
    }

    .doclist .doctxt {
        background: url("img/icons/ico-txt.png") no-repeat;
        line-height: 22px;
    }

/* errors */

#alerts {
    margin-bottom: 1em;
}

    #alerts .alert ul li {
        background: none;
        padding: 0px;
    }

.alert {
    padding: 0.5em 1em;
    color: #fff;
}

.error {
    background: red;
}

.msg {
    background: green;
}

.clause {
    border-top: 1px solid tomato;
    padding-top: 0.5em;
}

.clauseData {
    background: tomato;
    padding: 0.5em 1em;
    font-size: 0.8em;
    color: #ffcccc;
}

#dbg {
    position: fixed;
    right: 10px;
    top: 10px;
    font-size: 11px;
    font-family: Courier;
    background: #ffff99;
    padding: 15px;
    text-align: left;
    z-index: 999;
    max-width: 500px;
    max-height: 100vh;
    overflow: auto;
    color: #333;
}

    #dbg a {
        position: absolute;
        text-decoration: none;
        height: 20px;
        line-height: 22px;
        width: 20px;
        text-align: center;
        background: darkorange;
        color: #fff;
        font-weight: bold;
        font-size: 20px;
        right: 0px;
        top: 0px;
        z-index: 1000;
        color: #333;
    }

        #dbg a:hover {
            background: transparent;
            color: #333;
        }

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    overflow: hidden;
}

#cboxOverlay {
    position: fixed;
    width: 100%;
    height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
    clear: left;
}

#cboxContent {
    position: relative;
}

#cboxLoadedContent {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#cboxTitle {
    margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
    cursor: pointer;
}

.cboxPhoto {
    float: left;
    margin: auto;
    border: 0;
    display: block;
    max-width: none;
    -ms-interpolation-mode: bicubic;
}

.cboxIframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
    background: #000;
}

#colorbox {
    outline: 0;
}

#cboxContent {
    margin-top: 20px;
    background: #000;
    margin-bottom: 40px;
}

.cboxIframe {
    background: #fff;
}

#cboxError {
    padding: 50px;
    border: 1px solid #ccc;
}

#cboxLoadedContent {
    border: 5px solid #000;
    background: transparent;
    padding: 28px;
}

#cboxTitle {
    position: absolute;
    top: -20px;
    left: 0;
    color: #ccc;
    line-height: 1.4em;
}

#cboxCurrent {
    position: absolute;
    top: -20px;
    right: 0px;
    color: #ccc;
    line-height: 1.4em;
}

#cboxLoadingGraphic {
    background: url(img/loading.gif) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
    border: 0;
    padding: 0;
    margin: 0;
    overflow: visible;
    width: auto;
    background: none;
}

    /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
    #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
        outline: 0;
    }

#cboxSlideshow {
    position: absolute;
    top: -20px;
    right: 90px;
    color: #fff;
}

#cboxPrevious {
    position: absolute;
    top: 50%;
    left: 5px;
    margin-top: -32px;
    background: url(img/controls.svg) no-repeat top left;
    width: 28px;
    height: 65px;
    text-indent: -9999px;
}

    #cboxPrevious:hover {
        background-position: bottom left;
    }

#cboxNext {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -32px;
    background: url(img/controls.svg) no-repeat top right;
    width: 28px;
    height: 65px;
    text-indent: -9999px;
}

    #cboxNext:hover {
        background-position: bottom right;
    }

#cboxClose {
    position: absolute;
    top: 10px;
    right: 0px;
    display: block;
    background: url(img/controls.svg) no-repeat top center;
    width: 38px;
    height: 19px;
    text-indent: -9999px;
}

    #cboxClose:hover {
        background-position: bottom center;
    }

/* paging */

.paging .btn {
    min-width: 35px;
    text-align: center;
    padding: 0 0.75em;
    background: var(--c-tertiary-lightest);
    color: var(--c-darkgreen);
    border: 1px solid var(--c-secondary);
}

    .paging .btn:hover:not([href="javascript:void(0)"]):not(.paging__current) {
        background: var(--c-secondary) !important;
        color: #fff !important;
    }

    .paging .btn[href="javascript:void(0)"] {
        opacity: 0.3;
        cursor: not-allowed;
        background: var(--c-tertiary-lightest) !important;
        color: var(--c-dark) !important;
    }

.paging__current {
    background: var(--c-tertiary-lightest) !important;
    color: var(--c-dark) !important;
    font-weight: bold;
    cursor: default !important;
    line-height: 32px;
    background: var(--c-secondary);
    -webkit-appearance: none;
    border-radius: var(--radius);
    width: auto;
    overflow: visible;
    border: 0px solid;
    padding: 0em 1em;
    display: inline-block;
    text-decoration: none;
    font-size: var(--font-size-small);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin: 0px 2px 2px 0px;
    vertical-align: top;
    white-space: nowrap;
}

    .paging__current:hover {
        background: var(--c-tertiary-lightest) !important;
        color: var(--c-dark) !important;
    }

/* counter */

.counter {
    margin-bottom: 30px;
}

    .counter a {
        text-decoration: none;
    }

.cnt-all {
    font-size: 0.9em;
    color: #808080;
    float: right;
    height: 30px;
    line-height: 30px;
    background: #efefef;
    padding: 0px 15px;
}

.cnt-line {
    float: right;
    height: 30px;
}

.cnt-num, .cnt-button {
    background: #efefef;
    float: left;
    height: 30px;
    line-height: 30px;
    width: 30px;
    padding: 0px;
    margin-right: 5px;
    text-align: center;
    color: #808080;
    position: relative;
}

    .cnt-num:hover, .cnt-button:hover {
        background: transparent;
        color: #000;
    }

.cnt-division {
    float: left;
    display: none;
}

.cnt-tail {
    display: none;
}

.cnt-fake {
    background: transparent;
}

.cnt-fake-next {
    width: 7px;
}

.cnt-fake-nextnext {
    width: 14px;
}

.cnt-stepper:after {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: .8em;
    opacity: .5;
    background-repeat: no-repeat;
    background-position: center center;
}

.cnt-line .cnt-back:after {
    content: "◄";
}

.cnt-line .cnt-backback:after {
    content: "◄◄";
    letter-spacing: -4px;
    margin-right: 4px;
}

.cnt-line .cnt-next:after {
    content: "►";
}

.cnt-line .cnt-nextnext:after {
    content: "►►";
    letter-spacing: -4px;
    margin-left: 4px;
}

.cnt-emph {
    background: #9CC801;
    color: #fff;
}

    .cnt-emph:hover {
        background: #ddd;
        color: #aaa;
    }

/* buttons */

.btn {
    background: var(--c-secondary);
    -webkit-appearance: none;
    border-radius: var(--radius);
    width: auto;
    overflow: visible;
    border: 0px solid;
    padding: 0em 1em;
    line-height: 40px;
    display: inline-block;
    text-decoration: none;
    font-size: var(--font-size-small);
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #fff;
    font-weight: bold;
    margin: 0px 2px 2px 0px;
    vertical-align: top;
    white-space: nowrap;
}

    .btn:hover {
        cursor: pointer;
        background: var(--c-darkgreen) !important;
        color: #fff;
    }

    .btn svg {
        width: 1rem;
        height: 1rem;
        vertical-align: middle;
        top: -1px;
        margin-right: .25rem;
    }

.btn-primary {
    background: var(--c-primary);
}

.btn-link {
    background: transparent;
}

.btn-white-20 {
    background: rgba(255 255 255 / .2);
}

.btn--ico svg {
    margin: 0;
}

.text .btn {
    text-decoration: none;
}

.btn-sm {
    line-height: 32px;
}

    .btn-sm svg {
        width: .75rem;
        height: .75rem
    }

.btn-group {
    white-space: nowrap;
}

    .btn-group > .btn {
        margin-right: 0;
        border-radius: 0px;
        white-space-collapse: discard;
        border-right: 1px solid rgba(255 255 255 /.3);
    }

        .btn-group > .btn:last-child {
            border-top-right-radius: var(--radius);
            border-bottom-right-radius: var(--radius);
            border: 0px none;
        }

        .btn-group > .btn:first-child {
            border-top-left-radius: var(--radius);
            border-bottom-left-radius: var(--radius);
        }

/* gallery */

.gal {
    display: flex;
    flex-wrap: wrap;
    margin: 1.5rem 0rem;
}

    .gal > a {
        border: 2px solid transparent;
        position: relative;
        flex: 1 0 50%;
        max-width: 50%;
    }

        .gal > a:hover {
            border-color: #8e9ea8;
        }

        .gal > a img {
            display: block;
            width: 100%;
            height: auto;
        }

/* forms */
.frm input[type=text], .frm input[type=password] {
    background: #fff;
    border: 0px solid;
    border-radius: var(--radius);
    line-height: 40px;
    padding: 0 .5rem;
}

/* cols */

.cols, .text .cols {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
}

    .cols > * {
        flex: 1 0 100%;
    }

.cols--gap10 {
    margin-left: -1rem;
    margin-right: -1rem;
}

    .cols--gap10 > * {
        padding-left: 1rem;
        padding-right: 1rem;
        margin-bottom: 1rem;
    }

.cols--verticalgap00 > * {
    margin-bottom: 0;
}

.cols--verticalgap05 > * {
    margin-bottom: .5rem;
}

.col-12 {
    flex: 1 100%;
    max-width: 100%
}

.col-10 {
    flex: 1 83.19%;
    max-width: 83.19%
}

.col-9 {
    flex: 1 74.97%;
    max-width: 74.97%
}

.col-8 {
    flex: 1 66.64%;
    max-width: 66.64%
}

.col-7 {
    flex: 1 58.32%;
    max-width: 58.32%
}

.col-6 {
    flex: 1 49.98%;
    max-width: 49.98%
}

.col-5 {
    flex: 1 41.59%;
    max-width: 41.59%
}

.col-4 {
    flex: 1 33.32%;
    max-width: 33.32%
}

.col-3 {
    flex: 1 24.99%;
    max-width: 24.99%
}

.col-2 {
    flex: 1 16.65%;
    max-width: 16.65%
}

.col-1 {
    flex: 1 8.32%;
    max-width: 8.32%
}

@media all and (min-width: 576px) {
    .col-sm-9 {
        flex: 1 74.97%;
        max-width: 74.97%
    }

    .col-sm-8 {
        flex: 1 66.64%;
        max-width: 66.64%
    }

    .col-sm-7 {
        flex: 1 58.32%;
        max-width: 58.32%
    }

    .col-sm-6 {
        flex: 1 49.98%;
        max-width: 49.98%
    }

    .col-sm-5 {
        flex: 1 41.59%;
        max-width: 41.59%
    }

    .col-sm-4 {
        flex: 1 33.32%;
        max-width: 33.32%
    }

    .col-sm-3 {
        flex: 1 24.99%;
        max-width: 24.99%
    }

    .cols > .col-sm-verticalgap00 {
        margin-bottom: 0;
    }
}

@media all and (min-width: 768px) {
    .col-md-9 {
        flex: 1 74.97%;
        max-width: 74.97%
    }

    .col-md-8 {
        flex: 1 66.64%;
        max-width: 66.64%
    }

    .col-md-7 {
        flex: 1 58.32%;
        max-width: 58.32%
    }

    .col-md-6 {
        flex: 1 49.98%;
        max-width: 49.98%
    }

    .col-md-5 {
        flex: 1 41.59%;
        max-width: 41.59%
    }

    .col-md-4 {
        flex: 1 33.32%;
        max-width: 33.32%
    }

    .col-md-3 {
        flex: 1 24.99%;
        max-width: 24.99%
    }

    .cols > .col-md-verticalgap00 {
        margin-bottom: 0;
    }
}

@media all and (min-width: 992px) {
    .col-lg-10 {
        flex: 1 83.33%;
        max-width: 83.33%
    }

    .col-lg-9 {
        flex: 1 74.97%;
        max-width: 74.97%
    }

    .col-lg-8 {
        flex: 1 66.64%;
        max-width: 66.64%
    }

    .col-lg-7 {
        flex: 1 58.32%;
        max-width: 58.32%
    }

    .col-lg-6 {
        flex: 1 49.98%;
        max-width: 49.98%
    }

    .col-lg-3 {
        flex: 1 24.99%;
        max-width: 24.99%
    }

    .col-lg-4 {
        flex: 1 33.32%;
        max-width: 33.32%
    }

    .col-lg-2 {
        flex: 1 16.67%;
        max-width: 16.67%
    }

    .cols > .col-md-verticalgap00 {
        margin-bottom: 0;
    }
}

@media all and (min-width: 1200px) {
    .col-xl-9 {
        flex: 1 74.97%;
        max-width: 74.97%
    }

    .col-xl-8 {
        flex: 1 66.64%;
        max-width: 66.64%
    }

    .col-xl-6 {
        flex: 1 49.98%;
        max-width: 49.98%
    }

    .col-xl-3 {
        flex: 1 24.99%;
        max-width: 24.99%
    }

    .col-xl-4 {
        flex: 1 33.32%;
        max-width: 33.32%
    }
}

/* utility */
.offscreen {
    clip-path: inset(100%);
    clip: rect(1px 1px 1px 1px); /* IE 6/7 */
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.onscreen {
    position: relative;
    clip: auto;
    width: auto;
    height: auto;
    overflow: auto;
}

.bold, strong {
    font-weight: bold;
}

.italic, em {
    font-style: italic;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.small {
    font-size: var(--font-size-small);
}

.smaller {
    font-size: var(--font-size-smaller);
}

.svg-ico path {
    fill: inherit;
}

.svg-ico {
    fill: currentColor;
}

.text-white {
    color: #fff;
}

.text-primary {
    color: var(--c-primary);
}

.text-dark {
    color: var(--c-dark);
}

.text-neutral {
    color: var(--c-neutral);
}

    .text-neutral a:hover {
        color: #fff;
    }

.text-secondary {
    color: var(--c-secondary);
}

.text-small, small {
    font-size: var(--font-size-small);
}

.text-mute {
    opacity: .5;
}

.bg--white {
    background: #fff;
}

.bg--tertiary {
    background: var(--c-tertiary);
}

.bg--success {
    background: var(--c-tertiary);
}

.bg--secondary {
    background: var(--c-secondary);
}

.bg--primary {
    background: var(--c-primary);
}

.mb-0 {
    margin-bottom: 0rem;
}

.mb-05 {
    margin-bottom: 0.5rem;
}

.mb-10 {
    margin-bottom: 1.0rem;
}

.mb-15 {
    margin-bottom: 1.5rem;
}

.mb-20 {
    margin-bottom: 2.0rem;
}

.h-100 {
    height: 100%;
}

.w-100 {
    width: 100%;
}

.d-none {
    display: none;
}

.align-self-center {
    align-self: center
}

ul.no-bullet {
    margin: 0;
}

    ul.no-bullet li:before {
        display: none;
    }

hr {
    margin-block: 2rem;
    border: 0 solid;
    border-top: 1px solid var(--c-secondary-30);
}

    hr.m-10 {
        margin-block: 1rem;
    }

@media all and (min-width: 576px) {
    .d-sm-inline {
        display: inline;
    }
}

@media all and (min-width: 992px) {
    .md-hide {
        display: none;
    }
}

@media (max-width: 991px) {
    .sm-hide {
        display: none !important;
    }
}

/* custom */

.searchbar {
    font-size: var(--font-size-small);
    z-index: 900;
}

.searchbar__form {
}

.searchbar__fakeinput-wrap {
    z-index: 20;
}

.searchbar__fakeinput {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: .3rem .3rem .5rem rgba(0 0 0 / .05);
    display: flex;
}

    .searchbar__fakeinput > * {
        padding: 0 1rem;
        border: 0px solid;
        line-height: 40px;
    }

    .searchbar__fakeinput > .searchbar__cat {
        padding: 0
    }

.searchbar__cat-options {
    display: block;
    position: absolute;
    background: #fff;
    left: 0;
    top: 100%;
    box-shadow: .3rem .3rem .5rem rgba(0 0 0 / .05);
    z-index: 100;
}

.searchbar__cat-selected {
    display: block;
    padding: 0 1rem;
    white-space: nowrap;
}

    .searchbar__cat-selected:after {
        content: " ";
        display: inline-block;
        width: 12px;
        height: 12px;
        background: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzMgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQoJPHBhdGggZD0ibS40ODAwMSAxLjg4NzYgMTYuMSAxOC4xMTIgMTUuOTQtMTcuOTc4LTEuNjc3OS0xLjg4NzYtMTQuMjYyIDE2LjA0NS0xNC4zODItMTYuMTh6IiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iLjk5ODc1Ii8+DQo8L3N2Zz4=) no-repeat center center;
        vertical-align: middle;
        margin-left: .75rem;
        opacity: .5;
    }

.searchbar__cat-option {
    display: block;
    padding: 0 1rem;
    border-top: 1px solid var(--c-secondary-30);
    cursor: pointer;
}

.searchbar form a:hover, .searchbar form label:hover {
    background: #efefef;
}

.searchbar__cat-option input {
    display: none;
}

.searchbar__query {
    flex: 1;
    /*border-left: 1px solid var(--c-secondary-30);*/
    border-radius: var(--radius);
}

.searchbar__submit {
    color: var(--c-dark);
    margin: 0
}

.searchbar__info {
    font-weight: 700;
    padding-top: .25rem;
    padding-left: 0;
    text-align: right;
    z-index: 10;
}

.searchbar__cat svg {
    display: inline-block;
    height: .75rem;
    vertical-align: middle;
    margin-left: .5rem
}

/* User menu dropdown */
.user-menu {
    display: inline-block;
    position: relative;
    z-index: 900;
}

.user-menu__selected {
    cursor: pointer;
}

.user-menu__options {
    display: block;
    position: absolute;
    background: var(--c-darkgreen);
    right: 0;
    top: 100%;
    box-shadow: .3rem .3rem .5rem rgba(0 0 0 / .15);
    z-index: 100;
    border-radius: var(--radius);
    min-width: 200px;
    margin-top: 0.5rem;
}

.user-menu__option {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255 255 255 / .1);
    line-height: 1.5;
}

    .user-menu__option:last-child {
        border-bottom: 0;
    }

    .user-menu__option:hover {
        background: rgba(255 255 255 / .1);
    }

    .user-menu__option svg {
        width: 16px;
        height: 16px;
        margin-right: 0.75rem;
        flex-shrink: 0;
    }

    .user-menu__option span {
        flex: 1;
    }

@media all and (min-width: 992px) {
    .searchbar__info {
        text-align: left;
    }

        .searchbar__info > * {
            display: block;
        }

    .searchbar__info-separator {
        display: none;
    }
}

.filters {
    margin-top: .5rem;
    z-index: 80;
}

.filter {
    display: inline-block;
    vertical-align: top;
}

.filter__selected svg {
    width: 12px;
    height: 12px;
    margin-left: .5rem;
}

.filter__selected .filter__ico-sort {
    width: auto;
    height: 20px;
}

.filter__cancel {
    display: none;
}

.active .filter__selected svg {
    display: none;
}

.active .filter__btn-group {
    white-space: nowrap;
}

.active .filter__cancel {
    display: inline-block;
}

.active .filter__btn-group > .btn {
    margin-right: 0;
    border-radius: 0px;
    white-space-collapse: discard;
    border-right: 1px solid rgba(255 255 255 /.3);
    background: var(--c-primary);
}

    .active .filter__btn-group > .btn:hover {
        background: var(--c-secondary);
    }

    .active .filter__btn-group > .btn:last-child {
        border-top-right-radius: var(--radius);
        border-bottom-right-radius: var(--radius);
        border: 0px none;
    }

    .active .filter__btn-group > .btn:first-child {
        border-top-left-radius: var(--radius);
        border-bottom-left-radius: var(--radius);
    }

.filter__modal {
    background: var(--c-darkgreen);
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    padding: 1.5rem;
    display: none;
    overflow-y: auto;
}

.on .filter__modal {
    display: block;
}

.filter__modal-item a {
    display: block;
    padding: .15rem 0;
}

    .filter__modal-item a:hover {
        text-decoration: underline;
    }

.filter__modal-header {
    margin-bottom: 1rem;
}

.filter__modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
}

    .filter__modal-close svg {
        width: 20px;
        height: 20px;
        margin: 10px;
    }

@media all and (min-width: 992px) {
    .filter__modal-header, .filter__modal-close {
        display: none;
    }

    .filter__modal {
        border-radius: var(--radius);
        padding: .5rem;
        min-width: 120%;
        height: auto;
        max-height: 400px;
        overflow-y: auto;
        width: auto;
        position: absolute;
        top: auto;
    }

    .filter--date .filter__modal {
        min-width: 200px;
    }

    .filter__modal-items--columns {
        columns: 2;
        column-rule: 1px dashed var(--c-secondary);
        max-width: 50vw;
    }

        .filter__modal-items--columns .filter__modal-item {
            min-width: 200px;
        }

        .filter__modal-items--columns a {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
}

.modal__filter-pane a {
    background: var(--c-secondary);
    -webkit-appearance: none;
    border-radius: var(--radius);
    width: auto;
    overflow: visible;
    border: 0px solid;
    padding: 0em 1em;
    line-height: 40px;
    display: inline-block;
    text-decoration: none;
    font-size: var(--font-size-small);
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #fff;
    font-weight: bold;
    margin: 0px 2px 2px 0px;
    vertical-align: top;
    white-space: nowrap;
}

    .modal__filter-pane a[disabled] {
        opacity: .3
    }

    .modal__filter-pane a:hover {
        cursor: pointer;
        background: var(--c-darkgreen);
        color: #fff;
    }

.modal__filter-pane {
    display: grid;
    grid-gap: 5px;
}

.modal__filter-pane--decades {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 5px;
}

.modal__filter-pane--years {
    grid-template-columns: repeat(4, 1fr);
}

.modal__filter-pane--months {
    grid-template-columns: repeat(3, 1fr);
}

.modal__filter-pane--days {
    grid-template-columns: repeat(5, 1fr);
}

.modal__filter-pane-footer {
    display: flex;
    justify-content: space-between;
    margin-top: .5rem;
    padding-top: .5rem;
    border-top: 1px solid rgba(255 255 255 / .3)
}



.card {
    border-radius: var(--radius);
    box-shadow: var(--shadow-light);
}

.card__body {
    padding: 1rem 1.5rem 1.25rem 1.5rem;
}

    .card__body > :last-child {
        margin-bottom: 0;
    }

.card__foot {
    margin: 1rem 0;
    padding: 1.25rem 1.5rem;
    background: #f3F3F3;
}

.cat {
}

.cat__link {
    aspect-ratio: 16/9;
    display: flex;
    align-items: flex-end;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    background-color: var(--c-tertiary-lightest);
    background-blend-mode: multiply;
    padding: 0.5rem;
    font-size: var(--font-size-small);
}

@media all and (min-width: 576px) {
    .cat__link {
        padding: 1.5rem;
        font-size: var(--font-size-smaller);
    }
}

@media (max-width: 432px) {
    .cat__link {
        padding: 1rem;
        font-size: var(--font-size-small);
    }
}


.cat__link:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(249, 248, 235, .1);
    box-shadow: inset 0px 0px 150px rgba(0 0 0 / .6);
}

.cat__link:hover:before {
    display: none;
}

.cat__link:hover {
    box-shadow: inset 0px 0px 150px rgba(0 0 0 / .3);
}

.cat__link-c01 {
    background-image: url(img/c01.jpg);
}

.cat__link-c02 {
    background-image: url(img/c02.jpg);
}

.cat__link-c03 {
    background-image: url(img/c03.jpg);
}

.cat__link-c04 {
    background-image: url(img/c04.jpg);
}

.cat__link-c05 {
    background-image: url(img/c05.jpg);
}

.cat__link-c06 {
    background-image: url(img/c06.jpg);
}

.cat__link-c07 {
    background-image: url(img/c07.jpg);
}

.cat__link-c08 {
    background-image: url(img/c08.jpg);
}

.cat__link-c09 {
    background-image: url(img/c09.jpg);
}

.cat__link-c10 {
    background-image: url(img/c10.jpg);
}

.cat__link-c11 {
    background-image: url(img/c11.jpg);
}

.cat__link-c12 {
    background-image: url(img/c12.jpg);
}

.cat__link-p01 {
    background-image: url(img/p01.jpg);
}

.cat__link-p02 {
    background-image: url(img/p02.jpg);
}

.cat__link-p03 {
    background-image: url(img/p03.jpg);
}

.cat__link-p04 {
    background-image: url(img/p04.jpg);
}

.cat__link-p05 {
    background-image: url(img/p05.jpg);
}

.cat__link-p06 {
    background-image: url(img/p06.jpg);
}

.cat__link-p07 {
    background-image: url(img/p07.jpg);
}

.gallery {
    margin: auto -2px;
    /* Masonry layout using CSS columns */
    column-count: 2;
    column-gap: 4px;
}

@media all and (min-width: 576px) {
    .gallery {
        column-count: 3;
    }
}

@media all and (min-width: 768px) {
    .gallery {
        column-count: 4;
    }
}

@media all and (min-width: 992px) {
    .gallery {
        column-count: 5;
    }
}

.gallery__item {
    display: inline-block;
    width: 100%;
    margin: 0 0 4px 0;
    break-inside: avoid;
    page-break-inside: avoid;
    z-index: 10;
}

    .gallery__item:hover {
        z-index: 20;
    }

.gallery__item-img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
}

.gallery__tech-label {
    color: #AAA;
}

.gallery__item:hover:before {
    content: "";
    position: absolute;
    top: -1rem;
    left: -1rem;
    width: calc(100% + 2rem);
    height: calc(100% + 2rem);
    background: #000;
    box-shadow: var(--shadow-card);
    z-index: 0;
}

.gallery__info {
    position: absolute;
    background: #000;
    font-size: var(--font-size-smaller);
    padding: 1rem;
    width: calc(100% + 2rem);
    left: -1rem;
    bottom: 100%;
    display: none;
    z-index: 2;
}

.gallery__item:hover .gallery__info {
    display: block;
}

.gallery__title {
    margin-bottom: .5rem;
    font-weight: bold;
}

.gallery__modal {
    background: var(--c-secondary);
    color: #fff;
    position: fixed;
    overflow-y: auto;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    display: block;
    background: rgba(0 0 0 / .5);
}

.gallery__modal-wrap {
    display: grid;
    grid-template-rows: 1fr auto auto;
    height: 100%;
    background: #555
}

    .gallery__modal-wrap .gallery__modal-img-link {
        order: 1;
    }

    .gallery__modal-wrap .gallery__thumbnails {
        order: 2;
    }

    .gallery__modal-wrap .gallery__modal-info {
        order: 3;
    }

/* When there's only one image, optimize the grid layout */
.gallery__modal-wrap--single {
    grid-template-rows: 1fr auto;
}

.gallery__modal-img-link {
    display: block;
    width: 100%;
    height: 100%;
    cursor: grab;
    overflow: auto;
}

.gallery__modal-img {
    display: block;
    height: 100%;
}

.gallery__modal-info {
    padding: 1rem;
}

.gallery__modal-tech {
    margin-bottom: 1rem;
}

.gallery__modal-title {
    font-weight: bold;
    margin: 0 0 1rem 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid #777;
}

.gallery__modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    z-index: 999;
    background: #555;
    border-radius: var(--radius);
}

    .gallery__modal-close svg {
        width: 20px;
        height: 20px;
        margin: 10px;
    }

@media all and (min-width: 992px) {
    .gallery__modal {
        overflow-y: hidden;
    }

    .gallery__modal-wrap {
        grid-template-rows: 1fr auto;
        grid-template-columns: auto 26vw;
        height: 100vh;
        width: 100%;
    }

        .gallery__modal-wrap .gallery__modal-img-link {
            order: 0;
        }

        .gallery__modal-wrap .gallery__thumbnails {
            order: 0;
        }

        .gallery__modal-wrap .gallery__modal-info {
            order: 0;
        }

    .gallery__modal-info {
        padding: 1.5rem 3.5rem 1.5rem 1.5rem
    }

    .gallery__thumbnails {
        grid-column: 1 / -1;
        max-height: 100px;
    }

    .gallery__thumbnail {
        width: 80px;
        height: 80px;
    }
}

.gallery__modal-img-link {
    overflow: hidden;
    display: block;
    position: relative;
}

.gallery__thumbnails {
    display: flex;
    gap: 5px;
    padding: 5px 0;
    overflow-x: auto;
    flex-wrap: nowrap;
    width: 100%;
    background-color: #333;
    max-height: 90px;
}

.gallery__thumbnail {
    flex: 0 0 auto;
    width: 60px;
    height: 60px;
    cursor: pointer;
    border: 3px solid transparent;
    transition: border-color 0.3s;
    overflow: hidden;
}

    .gallery__thumbnail:hover {
        border-color: #ccc;
    }

    .gallery__thumbnail.active {
        border-color: #007bff;
    }

    .gallery__thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }



.record {
    padding: 1.25rem 1.5rem 1.25rem 1.5rem;
    background: #fff;
    border-radius: var(--radius);
    margin-bottom: 1rem;
    box-shadow: var(--shadow-light);
}

    .record:hover {
        box-shadow: var(--shadow-card);
    }

.record__title {
    margin-bottom: .25rem;
}

.record__subtitle {
    /*margin-bottom: 1rem;*/
    /*padding-bottom: 1rem;*/
}

.record__foot {
    margin: 1rem -1.5rem -1.25rem -1.5rem;
    padding: 1.25rem 1.5rem;
    background: #f3F3F3;
}

.detail {
    z-index: 1 !important;
}

.detail__title {
    margin-bottom: 2rem;
}

.detail__img-link, .detail__img {
    display: block;
    width: 100%;
}

.detail__img-link {
    margin-bottom: 1.5rem;
}

.detail__context {
    font-size: var(--font-size-small);
}

.detail__img-count {
    position: absolute;
    background: var(--c-darkgreen);
    color: #fff;
    line-height: 20px;
    padding: 0 .4rem;
    text-align: center;
    border-radius: 10px;
    top: 10px;
    right: 10px;
    font-size: var(--font-size-small);
    font-weight: bold;
    min-width: 20px;
    box-shadow: 0 2px 4px rgba(0 0 0 / .3);
}

.detail__deposit {
    border-top: 1px solid var(--c-neutral);
}

    .detail__deposit li {
        padding-block: .25rem;
        border-bottom: 1px solid var(--c-neutral);
    }

    .detail__deposit .label {
        font-weight: bold;
    }

.cart {
}

.cart__btn {
    background: var(--c-gray-10);
}

.cart__item-count, .cart__price-total {
    display: none;
}

.cart.active .cart__item-count, .cart.active .cart__price-total {
    display: inline-block;
}

.cart.active .cart__btn {
    background: var(--c-red);
}

.cart__item-count {
    position: absolute;
    background: var(--c-darkgreen);
    line-height: 16px;
    padding: 0 .1rem 0 .1rem;
    text-align: center;
    border-radius: 8px;
    top: -5px;
    left: 1.6rem;
    letter-spacing: 0;
    font-size: 9px;
    min-width: 16px;
}

.cart__items td:first-child {
    font-weight: bold;
}

.cart__items-img {
    width: 60px;
}

@media all and (min-width: 900px) {
    .cart.active:hover .cart__list {
        display: block;
    }
}

@media all and (min-width: 900px) and (max-width: 1024px) {
    .cart.active .cart__price-total {
        display: none
    }
}

.cart__list {
    min-width: 15rem;
    background: var(--c-darkgreen);
    position: absolute;
    right: 0;
    padding: 1rem;
    box-shadow: var(--box-shadow);
    border-radius: 5px;
}

    .cart__list td {
        padding: .25rem .5rem;
        border-bottom: 1px dashed rgba(255 255 255 /.5);
        vertical-align: top;
    }

        .cart__list td:first-child {
            padding-left: 0;
        }

        .cart__list td:last-child {
            padding-right: 0;
        }

.form {
}

.form-horizontal {
}

.required .control-label:after {
    content: "*";
    position: absolute;
    color: red;
    top: 0px;
    margin-left: 2px;
}

.required.format-block .control-label label:after {
    content: "*";
    color: red;
    padding-left: .2rem;
}

.required.format-block .control-label:after {
    content: "";
}

.form input, .form select, .form textarea {
    font-size: 1em;
    font-family: inherit;
    position: relative;
}

.control-label label {
    font-size: 1em;
    font-weight: bold;
    color: #333
}

.form-horizontal .fItem > * {
    display: inline-block;
    vertical-align: top;
}

.form-horizontal .control-label {
    width: 100%;
}

.form-horizontal .controls {
    width: 100%;
}

.control-group {
    margin-right: 5px;
    margin-bottom: 5px;
    margin-top: 5px;
}

@media all and (min-width: 600px) {
    .form-horizontal .control-label {
        width: 35%;
        text-align: right;
        padding-right: 1rem;
        padding-top: .3rem;
    }

    .form-horizontal .controls {
        width: 60%;
    }
}

.form-inline .fItem, .form-inline .fSubmit {
    display: inline-block;
    vertical-align: top;
}

.form input[type=checkbox] {
    position: relative;
    vertical-align: top;
    display: inline-block;
    margin: 0px;
    margin-top: .2rem;
    margin-right: 10px;
}

.form input[type=text] {
    min-width: 80%;
}

.form select {
    min-width: 80%;
    max-width: 80%;
}


.form input[type=email] {
    min-width: 98%;
}

.form input[type=text], .form input[type=email], .form select {
    height: 2.1rem;
    line-height: 2.1rem;
    border: 1px solid var(--c-neutral);
}

.form input[type=radio] {
    margin: 0px;
    margin-right: 5px;
    top: .1rem;
}

.form textarea {
    min-width: 98%;
    height: 10rem;
    border-color: var(--c-neutral);
    padding: .3rem;
    line-height: 1.4;
}

.form .lower textarea {
    height: 6rem;
}

.form-inline input[type=text],
.form-inline input[type=password] {
    height: 34px;
    width: auto;
    min-width: 0;
    font-size: 1rem;
    padding: 0 .5rem;
}

.form-inverse input {
    border: 0px solid;
}

legend {
    display: block;
}

.form-horizontal fieldset {
    background: var(--c-secondary-10);
    margin: 1.5rem 0rem;
    padding: .5rem 1rem;
    border-radius: var(--radius);
    box-shadow: var(--shadow-light);
}

.form-horizontal .fSubmit {
    margin: 1.5rem 0;
}

.form-horizontal .format-block {
    display: flex;
}

.format-block .control-label {
    order: 2;
    flex: 1;
    text-align: left;
    padding-top: 0px;
}

.format-block .controls {
    order: 1;
    flex: 0;
}

.format-line .controls label {
    display: block;
    margin: .35rem 0;
}

/* pages */

.pg-index .pg__n {
    display: none;
}

@media all and (min-width: 992px) {
    .pg-index {
        grid-template-columns: 50px auto;
        grid-template-areas: "A B" "A B";
    }

        .pg-index .pg__h {
            grid-area: A;
        }
}

/* Login modal */
#loginModal {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
}

    #loginModal .card {
        margin: 0;
        width: 90%;
        max-width: 90%;
        padding-top: 2rem;
    }

    #loginModal .card__body {
        padding: 1rem;
    }

.login-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
}

.login-loader__spinner {
    width: 50px;
    height: 50px;
    border: 5px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.index-frm-login {
    margin: 0;
}

    .index-frm-login input {
        display: block;
        margin-bottom: .75rem;
        width: 100%;
        box-sizing: border-box;
    }

    .index-frm-login .btn {
        width: 100%;
        margin-bottom: .5rem;
        margin-right: 0;
        box-sizing: border-box;
    }

@media all and (min-width: 576px) {
    #loginModal .card {
        width: 90%;
        max-width: 90%;
    }

    #loginModal .card__body {
        padding: 1.5rem;
    }

    .index-frm-login .btn {
        width: auto;
        display: inline-block;
        margin-right: .5rem;
    }

        .index-frm-login .btn:last-child {
            margin-right: 0;
        }
}

@media all and (min-width: 768px) {
    #loginModal .card {
        max-width: 600px;
    }
}
