
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    src: url('SourceSansPro-Regular.ttf');
}
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 700;
    src: url('SourceSansPro-Bold.ttf');
}


.font-palatino {
    font-family: 'Source Sans Pro';
}

details.znacka-error {
    background-color: red;
    color: white;
    display: inline-block;
}
details.znacka-error summary {
    display: inline-block;
}
details.znacka-error summary:hover {
    cursor: pointer;
    text-decoration: underline dotted;
}



.znacka-error-with-popover {
    font-size: 16px;
    padding: 1px 4px;
}

/* LUKASOVA TMP VERZIA
.nadpisovy-pruh {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAEZJREFUWEft1jENAEAMQtHWKFqqpcKwcieCoctnJyFvomfmVRBJQbuqGYAAAggggAAC5wK2oz+wu9kfYAACCCCAAAIIXAt8RC2RoQzypzAAAAAASUVORK5CYII=);
    background-image: var(--nadpisovy-pruh-bg-url);
    height: 100px;
    text-align: center;
    font-size: 200%;
    font-weight: bold;
    background-position: center; 
}*/

.blok-s-ikonou {
    /* width: 50%; */
    /* float: left; */
    /* padding: 10px; */
}
.blok-s-ikonou-ikona img {
    width: 32px;
}

.galerie-builder {
    border: 2px solid blue;
    padding: 10px;
    position: relative;
}
.galerie-builder::before {
    content: "GALERIE:";
    position: absolute;
    top: -15px;
    background: white;
    padding: 0px 3px;
    border: 2px solid blue;
}

.carousel .carousel-inner figure {
    margin: 0 auto;
}
.carousel-control.left,
.carousel-control.right {
    background: none;
} 

.lb-nav a.lb-next,
.lb-nav a.lb-prev {
  /* width: 20%; */
  opacity: 0.5;
  width: 70px;
}
@media (max-width: 479px) {
    .lb-nav a.lb-next,
    .lb-nav a.lb-prev {
      width: 50px;
    }
}
.lb-container {
    overflow: hidden;
}
body.is-not-mobile.lb-disable-scrolling {
    overflow: hidden;
}


.responsive-columns-resizer {
    display: none;
}
.is-in-editor .responsive-columns-resizer {
    border: 2px solid blue;
    padding: 0px 3px;
    display: block;
}
/*.is-in-editor .responsive-columns-resizer {
    height: 30px;
    position: relative;
    display: block;
}
.is-in-editor .responsive-columns-resizer::before {
    content: "responsive columns resizer";
    position: absolute;
    top: -15px;
    background: white;
    padding: 0px 3px;
    border: 2px solid blue;
}
*/

/* .ck-content .responsive-columns > .responsive-column:nth-child(1) {
    width: 10% !important;
} */

.znacka-error {
    overflow: hidden;
}

/* dev tmp */
.responsive-column {
    /* border: 1px solid red; */
}
.responsive-column>* {
    /* border: 1px solid blue; */
}

/* vnitřní mezera mezi sloupci 30px; odstranit vnější padding, aby byly zarovnané s obyč odstavcem či nadpisem */
/* TODO: zatial funguje len pre 2, pretoze neskutocna jebacka */
.ck-content .responsive-columns .responsive-column {
    padding: 5px 30px 5px 30px;
}
.ck-content .responsive-columns .responsive-column:nth-child(1) {
    padding-left: 0;
}
.ck-content [lang="ar"] .responsive-columns .responsive-column:nth-child(1) {
    padding-right: 0;
    padding-left: 30px;
}
@media (max-width: 479px) {     /* na mobile vsetky bez padding-l|r */
    .ck-content .responsive-columns .responsive-column {
        padding: 5px 0 !important;
    }
}
@media (min-width: 480px) {
    .ck-content .responsive-columns-2 .responsive-column:nth-child(2) {
        padding-right: 0;
    }
    .ck-content [lang="ar"] .responsive-columns-2 .responsive-column:nth-child(2) {
        padding-right: 30px;
        padding-left: 0;
    }
}
/* riesit aj 3,4,5? */


/* NADPISOVY PRUH start */
/* v0: .nadpisovy-pruh{
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAEZJREFUWEft1jENAEAMQtHWKFqqpcKwcieCoctnJyFvomfmVRBJQbuqGYAAAggggAAC5wK2oz+wu9kfYAACCCCAAAIIXAt8RC2RoQzypzAAAAAASUVORK5CYII=);
    background-image: var(--nadpisovy-pruh-bg-url);
    height: 350px;
    text-align: center;
    font-weight: bold;
    background-position: center;
    display: table;
    width: 100vw;
    position: absolute;
    left: 0;
} */
.nadpisovy-pruh{
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAEZJREFUWEft1jENAEAMQtHWKFqqpcKwcieCoctnJyFvomfmVRBJQbuqGYAAAggggAAC5wK2oz+wu9kfYAACCCCAAAIIXAt8RC2RoQzypzAAAAAASUVORK5CYII=);
    background-image: var(--nadpisovy-pruh-bg-url), var(--nadpisovy-pruh-bg-url-safari);
    height: 300px;
    padding: 0 10%;
    text-align: center;
    font-weight: bold;
    background-position: center;
    display: table;
    min-width: 100%;
    position: absolute;
    left: 0;
    background-size: cover;
}
.neviditelny-pruh{
    height: 300px;
}
.nadpisovy-text {
    font-size: 2em;
    color: #fff;
    display: table-cell;
    vertical-align: middle;
}

/* magic by lukas */
/* ale .is-mobile sa pridava az po swiper init, takze treba v js trigger resize */
.is-mobile #content {
/* #content { */
    width: 100%;
}
.swiper-slide {
    /* padding-left: calc((100% - 920px) / 2 + 20px); */
    /* padding-right: calc((100% - 920px) / 2 + 20px); */
}
@media (min-width: 768px) {
    .swiper-slide {
        padding-left: calc((100% - 768px) / 2 + 20px);
        padding-right: calc((100% - 768px) / 2 + 20px);
    }
}
@media (min-width: 992px) {
    .swiper-slide {
        padding-left: calc((100% - 992px) / 2 + 20px);
        padding-right: calc((100% - 992px) / 2 + 20px);
    }
}
@media (min-width: 1200px) {
    .swiper-slide {
        padding-left: calc((100% - 1200px) / 2 + 20px);
        padding-right: calc((100% - 1200px) / 2 + 20px);
    }
}
/* NADPISOVY PRUH end */


/* BLOK S IKONOU start */
/* + preco 2 triedy na stejnom elem */
/* + ul>li len serie, div staci */
/* - left rozdelil na margin a padding, a ::before css sa na to spolieha */
.block-with-icon {
    position: relative;
    list-style-type: none;
    /* margin-left: 20px; */
    margin-bottom: 50px;
    /* padding-left: 35px; */
    padding-left: 95px;
}
.ck-content [lang="ar"] .block-with-icon {
    padding-right: 95px;
    padding-left: 0;
}
.block-with-icon::before {
    content: '';
    position: absolute;
    left: -55px;
    width: 69px;
    height: 75px;
    background-image: var(--block-icon-url), var(--block-icon-url-safari);
    background-repeat:no-repeat;

    left: 3px;

    background-size: contain;
}
.ck-content [lang="ar"] .block-with-icon::before {
    right: 3px;
}
/* BLOK S IKONOU end */


.ts-navigation-icon > span {
    background-position-x: center;
}
#ts-menu[aria-describedby] > span.ts-menu-img,
#ts-notes[aria-describedby] > span.ts-notes-img,
#settings[aria-describedby] > span.settings-img,
#ts-search[aria-describedby] > span.ts-search-img {
    background-position-x: center;
}

[lang="ar"] #ts-menu + .popover .popover-title {
    text-align: center;
}

#ts-user-search-menu > div.active {
    width: 100%;
    transition: none;
}

/* preco to tu je zduplikovane z js? */
/* .lt-download-pdf-img {
    background: url(icon-pdf-cubic.png) no-repeat;
    display: inline-block;
    height: 23px;
    width: 23px;
    background-size: contain;
    position: relative;
} */


.ck-content ul {
    padding-left: 1.25em;
    padding-left: 1.5em;

    /* border: 1px solid red; */
}
.ck-content [lang="ar"] ul {
    padding-right: 1.25em;
    padding-left: 0;
    padding-right: 1.5em;
}
.ck-content ul li {
    list-style-type: none;
    position: relative;
    padding-bottom: 0.3125em;

    /* border: 1px solid blue; */
}
.ck-content ul li::before {
    background-color: transparent;
    border-radius: 50%;
    border: 0.15em solid #003da5;
    transform: translateY(40%);
    content: "";
    position: absolute;
    height: 0.75em;
    width: 0.75em;
    left: -1.25em;
    display: inline-block;

    left: -1.5em;
}
.ck-content [lang="ar"] ul li::before {
    right: -1.25em;
    right: -1.5em;
}

.responsive-column .image {
    margin-top: 0.3em;
}


.ck-content a {
    text-decoration: underline;
    color: inherit;
}
.ck-content a:hover {
    text-decoration: none;
}


/* TIMELINE start */
/* The actual timeline (the vertical ruler) */
.timeline {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;

    /* background-color: gray; */
}

/* The actual timeline (the vertical ruler) */
.timeline::after {
    content: '';
    position: absolute;
    width: 6px;
    background-color: white;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -3px;

    background-color: #0140A7;
}

/* Container around content */
.timeline-container {
    padding: 10px 40px;
    position: relative;
    background-color: inherit;
    width: 50%;

    padding: 0 2em;
}

/* The circles on the timeline */
.timeline-container::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    right: -17px;
    background-color: white;
    border: 4px solid #FF9F55;
    top: 15px;
    border-radius: 50%;
    z-index: 1;

    box-sizing: content-box;
    border-color: #0140A7;
    width: 15px;
    height: 15px;
    right: -11.5px;
    top: 0.9em;

    top: 0.5em;
    height: 0.7em;
    width: 0.7em;
    border-width: 0.2em;
    right: -0.55em;
}

/* Place the container to the left */
.timeline-container.timeline-container-left {
    left: 0;

    text-align: right;
}

/* Place the container to the right */
.timeline-container.timeline-container-right {
    left: 50%;
}

/* Add arrows to the left container (pointing right) */
.timeline-container.timeline-container-left::before {
    content: " ";
    /* height: 0; */
    position: absolute;
    /* top: 22px; */
    /* width: 0; */
    /* z-index: 1; */
    /* right: 30px; */
    /* border: medium solid white; */
    /* border-width: 10px 0 10px 10px; */
    /* border-color: transparent transparent transparent white; */

    display: block;
    width: 15px;
    height: 4px;
    background: #0140A7;
    z-index: 1;
    right: 10px;
    top: 24px;

    right: 0.3em;
    top: 0.9em;
    width: 1em;
    height: 0.2em;
}

/* Add arrows to the right container (pointing left) */
.timeline-container.timeline-container-right::before {
    content: " ";
    /* height: 0; */
    position: absolute;
    /* top: 22px; */
    /* width: 0; */
    /* z-index: 1; */
    /* left: 30px; */
    /* border: medium solid white; */
    /* border-width: 10px 10px 10px 0; */
    /* border-color: transparent white transparent transparent; */

    display: block;
    width: 15px;
    height: 4px;
    background: #0140A7;
    z-index: 1;
    left: 10px;
    top: 24px;
    top: 0.9em;
    width: 1em;
    height: 0.2em;

    left: 0.3em;
}

/* Fix the circle for containers on the right side */
.timeline-container.timeline-container-right::after {
    left: -16px;

    left: -11.5px;
    left: -0.55em;
}

/* The actual content */
.timeline-content {
    padding: 20px 30px;
    /* background-color: white; */
    position: relative;
    border-radius: 6px;

    padding: 0;

    margin: 0 0 10px;
}

.timeline-content-label {
    font-size: 1.4em;
    color: #0140A7;
    font-weight: bold;

    display: block;
}
.timeline-content-text {
    display: block;
    display: inline-block;
}

.ck-content [lang="ar"] .timeline .timeline-content {
    /* text-align: right; */
}
.ck-content [lang="ar"] .timeline .timeline-content-label {
    /* float: left; */
}

/* Media queries - Responsive timeline on screens less than 600px wide */
@media screen and (max-width: 600px) {

    /* Place the timelime to the left */
    .timeline::after {
        left: 31px;
        left: 0.95em;
    }

    /* Full-width containers */
    .timeline-container {
        width: 100%;
        padding-left: 70px;
        padding-right: 25px;

        padding-left: 3em;
        padding-right: 0;
    }

    .timeline-container.timeline-container-left {
        text-align: left;
    }

    /* Make sure that all arrows are pointing leftwards */
    .timeline-container.timeline-container-left::before,
    .timeline-container.timeline-container-right::before {
        /* left: 60px; */
        /* border: medium solid white; */
        /* border-width: 10px 10px 10px 0; */
        /* border-color: transparent white transparent transparent; */

        left: 37px;

        left: 2.1em;
        left: 1.1em;
    }

    /* Make sure all circles are at the same spot */
    .timeline-container.timeline-container-left::after,
    .timeline-container.timeline-container-right::after {
        left: 15px;

        left: 19.5px;
        left: 1.4em;
        left: 0.4em;
    }

    /* Make all right containers behave like the left ones */
    .timeline-container.timeline-container-right {
        left: 0%;
    }
}
/* TIMELINE end */




.cover-page-outer {
    width: 100vw;
    /* height: calc(100vh - 52px); */
    height: calc(100vh - var(--book-menu-height));
    position: relative;
    background-image: var(--cover-page-bg), var(--cover-page-bg-safari);
    background-color: #264594;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;

    position: absolute;
    left: 0;
    /* top: var(--book-menu-height); */
}
.cover-page-inner {
    /* display: flex; */
    /* flex-wrap: nowrap; */
    /* padding-top: 25vh; */
    /* justify-content: center; */
    margin: auto;
    width: 95vw;
    max-width: 900px;
    color: #fff;
    /* font-family: Arial, Helvetica, sans-serif; */
    font-size: 1.6em;

    position: absolute;
    top: 40%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -30px;   /* kvoli logu */
}
.cover-page-left-half {
    text-align: right;
}
.cover-page-logo {
    /* width: 250px; */
    width: 170px;
    /* height: 250px; */
    height: 170px;
    margin-left: 20px;
    margin-right: 40px;
    background-image: var(--cover-page-logo), var(--cover-page-logo-safari);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    background-position: center;

    /* border: 1px solid red; */
}
.cover-page-inner h1 {
    font-size: 2em;
    margin-left: -20px;
    margin-top: 0;

    font-weight: 600;
}
.cover-page-inner h2 {
    font-size: 1.2em;
    margin-left: -18px;
    line-height: 1.2;
}
.cover-page-without-footer .cover-page-inner {
    top: 50%;
    margin-top: 0;    
}
@media screen and (max-width: 767px) {
    .cover-page-left-half {
        text-align: center;
        margin: auto;
    }
    .cover-page-logo {
        margin: auto;
    }
    .cover-page-right-half {
        text-align: center;
    }
    .cover-page-inner h1 {
        margin: 0;
    }
    .cover-page-inner h2 {
        margin: 0;
        margin-top: 20px;
    }
}
@media screen and (max-height: 480px) {
    .cover-page-outer {
        overflow-y: auto;
    }
    .cover-page-inner {
        top: 50%;
        margin-top: 10px;
    }
}
.cover-page-footer {
    text-align: center;
    position: absolute;
    bottom: 30px;
    width: 100%;
}
.cover-page-footer img {
    width: auto;
}
@media (max-height: 480px) {
    .cover-page-footer {
        display: none;
    }
}
/* @media screen and (max-width: 767px) and (max-height: 550px) {
    .cover-page-inner {
        padding-top: 10px;
    }
} */

.cover-page-content-without-logo {
    text-align: center;
}


.centered-page-outer {
    width: 100vw;
    height: calc(100vh - var(--book-menu-height));
    position: absolute;
    left: 0;
    /* overflow: scroll; */
    overflow: auto;
    text-align: center;

    background-color: var(--centered-page-color-bg);
    
    /* border: 2px solid blue; */
}
.centered-page-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    
    color: var(--centered-page-color-fg);

    /* border: 2px solid red; */
}
.is-mobile .centered-page-inner {
    padding-left: 20px;
    padding-right: 20px;
}

.ck-content hr {
    border-color: #CCCCCC;
    margin: 30px 0 30px 0;
}

/* varianta A - zvetsene a zvyraznene sipky v galerii */
.carousel-control.left,
.carousel-control.right {
    color: white;
    opacity: 0.75;
    --gallery-controls-shadow-width: 2px;
    --gallery-controls-shadow-color: white;
    --gallery-controls-shadow-color: #323232;
    text-shadow:
        -1px -1px var(--gallery-controls-shadow-width) var(--gallery-controls-shadow-color),
        1px -1px var(--gallery-controls-shadow-width) var(--gallery-controls-shadow-color),
        -1px 1px var(--gallery-controls-shadow-width) var(--gallery-controls-shadow-color),
        1px 1px var(--gallery-controls-shadow-width) var(--gallery-controls-shadow-color);
}
.carousel-control.left:hover,
.carousel-control.right:hover {
    opacity: 1;
}
@media screen and (min-width: 480px) {
    .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next {
        font-size: 50px;
    }
    .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev {
        margin-left: -20px;
    }
    .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next {
        margin-right: 0px;
    }
}


/* varianta B - sipky mimo galerie */
/* problem - na uzsej obrazovke neni rezervovane miesto na spiky a stratia sa... */
/*
.carousel-control {
    text-shadow: none;
}
.carousel-control.left {
    left: -12%;
}
.carousel-control.right {
    right: -12%;
}
.carousel-control:hover, .carousel-control:focus {
    color: black;
}
*/


/* ---- pokazene centrovanie tabuliek z editoru - pretoze koliduje css z bootstrapu/main.css a ckeditoru */
figure.table.table-responsive {
    display: table;
}
.table {
    width: auto;
}

.notes-share {
    margin-right: 0;
}


