/* 8.x Template dw_base_kho.css */

@media all {

    :root {
        --color-darkblue-rgb: 0, 47, 108;
        --color-darkblue: rgb(var(--color-darkblue-rgb));
        --color-lightblue-rgb: 123, 175, 212;
        --color-lightblue: rgb(var(--color-lightblue-rgb));
        --color-yellow-rgb: 255, 182, 82;
        --color-yellow: rgb(var(--color-yellow-rgb));
        --color-yellow-text-rgb: 255, 166, 41;
        --color-yellow-text: rgb(var(--color-yellow-text-rgb));
        --color-yellow-text-hover-rgb: 250, 154, 20;
        --color-yellow-text-hover: rgb(var(--color-yellow-text-hover-rgb));
        
        --color-orange-rgb: 242, 162, 48;
        --color-orange: rgb(var(--color-orange-rgb));

        --color-light-rgb: 255, 255, 255;
        --color-light: rgb(var(--color-light-rgb));
        --color-dark-rgb: 102, 102, 102;
        --color-dark: rgb(var(--color-dark-rgb));

        --color-white-rgb: 255, 255, 255;
        --color-white: rgb(var(--color-white-rgb));
        --color-black-rgb: 0, 0, 0;
        --color-black: rgb(var(--color-black-rgb));

        --font-size-base: 1rem;
        --font-size-base: clamp(1rem, 0.4910714285714286rem + 1.0714285714285714vw, 1.375rem);
        --font-size-menu: 1.25rem;
        --font-size-service: 1.25rem;

        --font-line-height-base: 1.5;
        --font-line-height-header: 1;
        --font-line-height-menu: 1;

        --font-weight-base: 400;
        --font-weight-bold: 700;

        --block: 1.25rem;

        --size-border: 0.125rem; /* 2px */
        --size-d-4: calc(var(--block) / 4);
        --size-d-2: calc(var(--block) / 2);
        --size-1: var(--block);
        --size-2: calc(var(--block) * 2);
        --size-4: calc(var(--block) * 4);

        --size-d-4-n: calc(var(--block) / -4);
        --size-d-2-n: calc(var(--block) / -2);
        --size-1-n: calc(var(--block) * -1);
        --size-2-n: calc(var(--block) * -2);
        --size-4-n: calc(var(--block) * -4);

        --transition-default: all .25s ease;

        --border-radius: clamp(1rem, 1.6666vw, 2rem);
        --border-radius: clamp(1rem, 5vw, 2rem);

        --box-shadow: 0 .625rem 2.5rem rgba(36, 7, 55, .1);
    }

}

/* normalize.css v6.0.0 expected! https://github.com/necolas/normalize.css/blob/6.0.0/normalize.css */

@media all {
    img {
        image-rendering: -webkit-optimize-contrast;
    }
}

/* hover effects */
@media all {

    a:not(.btn):focus,
    a:not(.btn):hover {
        color: var(--color-orange);
        color: var(--color-yellow-text-hover);
    }

    .page-footer a:not(.btn):focus,
    .page-footer a:not(.btn):hover {
        color: var(--color-white);
        text-decoration: underline;
    }

    .page-footer .ce-frame-iconsocial a:not(.btn) {
        transition: var(--transition-default);
    }

    .page-footer .ce-frame-iconsocial a:not(.btn):focus,
    .page-footer .ce-frame-iconsocial a:not(.btn):hover {
        transform: scale(1.1);
    }

    .ce-frame-boxblue a:not(.btn):focus,
    .ce-frame-boxblue a:not(.btn):hover {
        color: var(--color-white);
    }

    a:not(.btn).cc-btn {
        border-radius: 100vw;
        color: var(--color-white);
        background-color: var(--color-yellow);
    }

    a:not(.btn).cc-btn:focus ,
    a:not(.btn).cc-btn:hover {
        background-color: var(--color-orange);
    }

    .ce-media img {
        transition: opacity 0.25s ease-in-out;
    }

    .ce-teaserlink-outer .ce-media-caption { position:relative; }

    .ce-teaserlink-link:focus,
    .ce-teaserlink-link:hover { background: rgba(255,255,255,0.25);}

    .ce-media a:hover {
        opacity: .75;
    }

}

html {
    scroll-behavior: smooth;
    /*! -ms-overflow-style: none; */
    /*! scrollbar-width: none; */
    overflow-y: visible;
    overflow-x: hidden;
    margin: 0 !important;
}

html::-webkit-scrollbar {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01s !important;
        transition-duration: .01s !important;
    }
}

/* mobile - xsmall */
@media all {

    body:after { /* http://adactio.com/journal/5429/ */
        content: 'rc-xsmall';
        display: none;
    }
    head { font-family: 'rc-xsmall'; }

    .hide-xsmall,
    .show-small,
    .show-medium,
    .show-large,
    .show-xlarge,
    .show-xxlarge { display: none; }

    .show-xsmall { display: block; }

    /* hide/toggle/show stuff */
    .js .page-header-searchbox ,
    .js .page-modifier-search .page-header-searchbox {
        display: none;
    }

    .js .page-rollover-searchbox {
        display: flex;
    }

    .no-js .search-link,
    .js .search-toggle-inner { display: flex; }
    .js .search-link {display: none; }

    [tabindex],a[href],area[href],button,details,input,iframe,select,textarea {
        scroll-margin-top: 3.75rem;
        scroll-margin-bottom: 3.75rem;
    }

    :target {
        scroll-margin-top: 5.875rem;
    }

}

/* mobile - small */
@media all and (min-width: 30em) { /* ~ 480px */
    body:after {
        content: 'rc-small';
        display: none;
    }
    head { font-family: 'rc-small'; }

    .show-xsmall { display: none; }
    .hide-xsmall { display: block; }

    .show-small { display: block; }
    .hide-small { display: none; }

}

/* tablet + print - medium */
@media all and (min-width: 47.5em), print { /* ~ 760px */
    body:after {
        content: 'rc-medium';
        display: none;
    }
    head { font-family: 'rc-medium'; }

    .show-small { display: none; }
    .hide-small { display: block; }

    .show-medium { display: block; }
    .hide-medium { display: none; }

    :target {
        scroll-margin-top: 6.5rem;
    }

}

/* desktop */
@media all and (min-width: 62.5em) { /* ~ 1000px */

    body:after {
        content: 'rc-large';
        display: none;
    }
    head { font-family: 'rc-large'; }

    .show-medium { display: none; }
    .hide-medium { display: block; }

    .show-large { display: block; }
    .hide-large { display: none; }

    /* hide/toggle/show stuff */
    .js .page-header-searchbox {
        display: block;
    }
    .no-js .search-link {display: none; }

    .page-header .search-toggle,
    .page-header .search-close {
        display: none;
    }

    :target {
        scroll-margin-top: 9.875rem;
    }
    
}

/* desktop - xlarge */
@media all and (min-width: 82.5em) {

    body:after {
        content: 'rc-xlarge';
        display: none;
    }
    head { font-family: 'rc-xlarge'; }

    .show-large { display: none; }
    .hide-large { display: block; }

    .show-xlarge { display: block; }
    .hide-xlarge { display: none; }

}

/* xxlarge */
@media all and (min-width: 90em) {

    body:after {
        content: 'rc-xxlarge';
        display: none;
    }
    head { font-family: 'rc-xxlarge'; }

    .show-xlarge { display: none; }
    .hide-xlarge { display: block; }

    .show-xxlarge { display: block; }
    .hide-xxlarge { display: none; }

}

/* print */
@media print {

    html, body, a { font-size: 10pt !important; }

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

    table, ol, ul, figure, img {
        page-break-inside: avoid;
    }

    a {
        font-size: 10pt !important;
        overflow: visible !important;
    }
    a::before {
        content: none !important;
    }

    .ce-bodytext a[href^=http]::after {
        content:" [" attr(href) "] ";
        font-size: 8pt !important;
    }

    .print-only { display: block; }

    .stage,
    .totoplink,
    .topnav,
    .searchbox,
    .mainnav,
    .subnav,
    .footernav,
    .footer {
        display: none !important;
    }

}