html {
    position:relative;
    scroll-behavior: smooth;
}

body,html {
    width:100%;
    min-height:100%;
}

body {
    /*font-family: 'Titillium Web', 'Source Sans Pro', 'Nunito', sans-serif;*/
    font-family: 'Raleway', 'Source Sans Pro', 'Nunito', sans-serif;
    /*font-family: 'Open Sans', sans-serif;*/
}

/*CSS domain psi webpages */

.floatleft {float:left}
.floatright {float:right}
.alignleft {float:left;margin-right:15px;margin-bottom: 15px}
.alignright {float:right;margin-left:15px;margin-bottom: 15px}
.aligncenter {display:block;margin:0 auto 15px}
.nopadding {padding:0;}
.spacebox {margin-bottom: 20px;}

.textcenter {text-align:center;}
.displayinherit {display:inherit !important;}

a:focus {outline:0px solid}
img {max-width:100%;height:auto}
.fix {overflow:hidden}
p {margin:0 0 15px;}
h1, h2, h3, h4, h5, h6 {
  margin: 15px 0 15px;
}

a {transition: all 0.3s ease 0s;text-decoration:none;color:#777}
a:hover {
  color: #8dbe03;
  text-decoration: none;
}
a:active, a:hover {
  outline: 0 none;
}
ul{ list-style: outside none none; margin: 0; padding: 0; padding-left: 13px;}

hr {
       display: block;
       position: relative;
       padding: 0;
       margin: 8px auto;
       height: 0;
       width: 100%;
       max-height: 0;
       font-size: 1px;
       line-height: 0;
       clear: both;
       border: none;
       border-top: 1px solid #aaaaaa;
       border-bottom: 1px solid #ffffff;
    }
    
.multicolor {
    background: linear-gradient(330deg, #e05252 0%, #99e052 25%, #52e0e0 50%, #9952e0 75%, #e05252 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.thumbnail { /*customize bootstrap*/
    padding: 1px;
    border-radius: 0;
    object-fit: cover;
    width:100%;
    height:100%;
    margin-bottom: 15px;
}

.main-container {
    height: 100%;
    margin: auto;
    padding: 0;
    width: 100%;
}

.main-header {
    padding: 16px 0;
}

.headbox, footer {
    background-color: #57a639;
    /*height: 96px;*/
}

footer {
    margin-bottom: 30px;
    text-align:center;
    color:white;

    bottom: 0;
    position: absolute;
    width: 100%;
}

footer span {
    line-height: 30px;
    vertical-align: middle;
    height: 30px;
}

/*Products*/
.productcontainer {
    padding-left: 100px;
    padding-right: 100px;
    padding-top: 30px;

    /*box-shadow: 0 0px 0 0 white, 0px 50px 0 0 white, 0px 17px 21px 1px gray, 0px 17px 21px 1px gray*/
}

.productdetailcontainer {
    padding-top: 30px;

    /*box-shadow: 0 0px 0 0 white, 0px 50px 0 0 white, 0px 17px 21px 1px gray, 0px 17px 21px 1px gray*/
}

.productcontainer a {
    color: #58aa47;
}

.productcontainer .sq {
    padding-bottom:30px;
    display: table-cell;
}

.productbox {
    height: 100%;
    background: no-repeat center center scroll;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    border-radius: 5px;
}

.productbox span {
    line-height: 50px;
    background-color: #fff;
    width:1%;
    text-align: center;
    border-radius: 5px 5px 0 0;
    font-size: 115%;
    font-weight: bold;
    display: table-cell;
    vertical-align:middle;
}

.videobox {
    margin-bottom:20px;
    border: solid 2px #fff;
}

/* Pro Opera */
@supports (-webkit-appearance:none) {
.videobox {
    min-height:260px;
    border-bottom: none;
}
}

#video {
    width:100%;
    display:table;
    object-fit: inherit;
}

.infoboxwhite {
    background-color: #fff;
    color:#000;
}

.infobox {
    background-color: #011b4a;
    color:white;
    margin-bottom:20px;
}

.infobox .infoboxtitle, .infobox .infoboxbutton {
    background: #57a639; /* Old browsers */
    background: -moz-linear-gradient(left, #57a639 33%, #011b4a 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #57a639 33%,#011b4a 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #57a639 33%,#011b4a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#57a639', endColorstr='#011b4a',GradientType=1 ); /* IE6-9 */
}

.infobox .externalbutton {
    background: #011b4a;
    border:solid 1px #fff;
}

.infobox .externalbutton:hover {
    background: #fff;
}

.infobox .infoboxtitle span {
    font-size: 125%;
    padding-left:10px;
    line-height: 35px;
}

.infobox .infoboxcontent {
    padding:5px 30px 5px 30px;
}

.infobox .infoboxcontent a {
    color:white;
}

.infobox .infoboxcontent a:hover > .infoboxbutton span {
    text-decoration: underline;
}

.infobox .infoboxcontent h1 {
    color: #57a639;
    font-size:20px;
    font-weight: bold;
    margin: 0 0 0px;
}

.infobox .infoboxcontent h2 {
    color: #000;
    font-size:20px;
    font-weight: bold;
    margin: 0 0 0px;
}

.infobox .infoboxcontent h3 {
    color: #000;
    font-size:18px;
    font-weight: bold;
    margin: 0 0 0px;
}

.infobox .infoboxcontent h4 {
    color: #000;
    font-size:15px;
    font-weight: bold;
    margin: 0 0 0px;
}

.infobox .infoboxwhite a {
    color:black;
    text-decoration: underline;
    line-height: 26px;
}

.infobox .infoboxwhite a:hover {
    color: #57a639;
}

.infobox .infoboxbutton {
    float: right;
    height: 30px;
    margin-bottom: 15px;
    position: relative;
    width: 120px;
}

.infobox .infoboxbutton a.external:hover {
    color: #011b4a;
}

.infobox .infoboxbutton a {
    display: block;
    height: 100%;
    padding-top: 4px;
    text-align: center;
    width: 100%;
}

.infobox .infoboxbutton a:hover {
    text-decoration: underline;
}

.infobox ul {
    list-style-type: disc;
    padding-bottom:15px;
}
    
.infobox ul li {
    color: #57a639;
    padding-left: 10px;
    padding-bottom: 10px;
}

.infobox ul li > span {
    color:white;
    line-height: 26px;
}

.infoboxwhite ul li > span {
    color:black;
    line-height: 20px;
}

.imagegroup {
    padding-bottom: 15px;
}

.imagegroup .row .nopadding{
    height: 300px;
    /*overflow:hidden;*/
}

.imagegroup .thumbnailgrp1 {
    width:100%;
    height: 100%;
    padding-right:10px;
    object-fit: cover;
}

.imagegroup .thumbnailgrp2, .imagegroup .thumbnailgrp3 {
    width:100%;
    height: 150px;
    padding-right:10px;
    object-fit: cover;
}

.imagegroup .thumbnailgrp2 {
    padding-bottom: 10px;
}

.showmore { }
.showmore_content { position:relative; overflow:hidden; }           
.showmore_trigger { background-color: white;
    padding-top: 10px;
    position: relative;
    top: -17px;
    width: 100%; }
.showmore_trigger span { display:block; cursor:pointer;}
.showmore_trigger span.more { color: #57a639; }
.showmore_trigger span.less { color: #57a639; }


.image-link img.gi {
    padding-bottom: 15px;
}

.dsktitle {
    font-weight: 200;
    color: #8dbe03 !important;
    font-size:5rem !important;
    margin-bottom: 30px;
}

.dsktitle span {
    font-weight: 200;
    color: #fff !important;
    font-size:5rem !important;
    margin-bottom: 30px;
}

.dskitem {
    font-size: 21px;
    color: white;
    font-weight: bold;
    padding: 5px;
}


table { display: table; width:100%; border: solid 1px #ddd; text-align:center}
tr { display: table-row; }
tbody { display: table-row-group; }
tfoot { display: table-footer-group; }
td, th { display: table-cell; border-bottom: solid 1px #ddd; /*min-height:33px; line-height:30px;*/ padding:7px; white-space: nowrap; }
th { background-color: #57a639; text-align:center;}
tr:nth-child(even) {background: #ecf1db}
tr:nth-child(odd) {background: #cdddac}
td.first {background: #c2d69b}

.program-table {
    text-align: left;
} 

.program-table td, .program-table td {
    white-space: initial;
} 

.privacy {
    bottom: 6px;
    position: absolute;
    color: black;
    width: 100%;
}

.privacy .container {
    text-align: right;
}

/* Large desktops and laptops */
@media (min-width: 1200px) {

}

/* Landscape tablets and medium desktops */
@media (min-width: 992px) and (max-width: 1199px) {
    .productbox span {
        line-height: 20px;
        font-size: 100%;
        height: 40px;
    }
    .imagegroup .row .nopadding {max-height: 250px;}
    .imagegroup .thumbnailgrp2, .imagegroup .thumbnailgrp3 {height: 125px;}
    
    body {margin-bottom: 100px;}
}

/* Portrait tablets and small desktops */
@media (min-width: 768px) and (max-width: 991px) {
    .productbox span {
        line-height: 20px;
        font-size: 90%;
        height: 40px;
    }
    
    .productcontainer {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .imagegroup .row .nopadding {max-height: 230px;}
    .imagegroup .thumbnailgrp2, .imagegroup .thumbnailgrp3 {height: 115px;}
    
    body {margin-bottom: 100px;}
}

/* Landscape phones and portrait tablets */
@media (max-width: 767px) {
    .productbox span {
        line-height: 20px;
        font-size: 90%;
        height: 40px;
    }
    
    .productcontainer {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .productcontainer .sq {
        padding-bottom:10px;
        padding-left:5px;
        padding-right:5px;
    }
    
    .imagegroup .row .nopadding {max-height: 219px; }
    .imagegroup .thumbnailgrp2, .imagegroup .thumbnailgrp3 {height: 110px;}
    
    body {margin-bottom: 130px;}
}

/* Portrait phones and smaller */
@media (max-width: 480px) {
    .productbox span {
        /*line-height: 15px;*/
        font-size: 100%;
        /*height: 30px;*/
    }
    
    .productcontainer {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .productcontainer .sq {
        padding-bottom:10px;
        padding-left:5px;
        padding-right:5px;
        width:50%;
    }
    
    footer span {
        line-height: 15px;
        vertical-align: middle;
        height: 15px;
        font-size:90%;
    }
    
    .imagegroup .row .nopadding {max-height: 139px; }
    .imagegroup .thumbnailgrp2, .imagegroup .thumbnailgrp3 {height: 70px;}
    
    body {margin-bottom: 130px;}
}




/*END - CSS domain psi webpages */


.bottomfixed {
    position: fixed;
    bottom:20px;
}



header.masthead {
    padding-top:10rem;
    /*padding-bottom:calc(10rem - 56px);*/
    padding-bottom:100%;
    background-image:url(/images/header.jpg);
    background-position:center center;
    background-size:cover
}

header.masthead hr {
    margin-top:30px;
    margin-bottom:30px
}

header.masthead h1 {
    font-size:2rem;
    text-shadow: 1px 0px 10px gray;
}

header.masthead p {
    font-weight:300
}

.d-flex {
    display: -ms-flexbox !important;
    display: flex !important;
}

.text-white {
    color: white;
}


/* Custom, iPhone Retina */
    @media only screen and (min-width : 320px) {

    }

    /* Extra Small Devices, Phones */
    @media only screen and (min-width : 480px) {
        .container {
            max-width: 450px;
        }
    }
    
    /* Small Devices, Tablets */
    @media only screen and (min-width : 576px) {
        .container {
            max-width: 540px;
        }
    }

    /* Small Devices, Tablets */
    @media only screen and (min-width : 768px) {
        header.masthead p {
            font-size:1.8rem
        }
        
        .container {
            max-width: 720px;
        }
    }

    /* Medium Devices, Desktops */
    @media only screen and (min-width : 992px) {
        header.masthead {
            height:calc(100vh - 91px);
            min-height:650px;
            padding-top:0;
            padding-bottom:0
        }
        
        header.masthead h1 {
            font-size:3rem
        }
        
        .container {
            max-width: 960px;
        }
    }

    /* Large Devices, Wide Screens */
    @media only screen and (min-width : 1200px) {
        header.masthead h1 {
            font-size:4rem
        }
    
        .container {
            max-width: 1140px;
        }
    }

    /* ExtraLarge Devices, Wide Screens */
    @media only screen and (min-width : 1680px) {

    }


    /* 3XL ExtraLarge Devices, Wide Screens */
    @media only screen and (min-width : 1920px) {

    }


    /* Large Devices, Wide Screens */
    @media only screen and (max-width : 1600px) {

    }
    
    /* Medium Devices, Desktops */
    @media only screen and (max-width : 992px) {

    }
    
    /* Small Devices, Tablets */
    @media only screen and (max-width : 768px) {

    }
    
    /* Extra Small Devices, Phones */
    @media only screen and (max-width : 480px) {

    }
    
    /* Custom, iPhone Retina */
    @media only screen and (max-width : 320px) {

    }

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1000;
}

.my-20 {
    margin-top: 20% !important;
}

.my-auto {
    margin-bottom: auto !important;
    margin-top: auto !important;
}

.ml-auto, .mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.img-center {
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.img-hcenter {
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
}

.img-vcenter {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
}


/** Sipka ze stranka pokracuje **/
.arrow {
    position: fixed;
    bottom: 40px;
    left: 50%;
    margin-left: -20px;
    width: 40px;
    height: 40px;
    /*background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0yOTMuNzUxLDQ1NS44NjhjLTIwLjE4MSwyMC4xNzktNTMuMTY1LDE5LjkxMy03My42NzMtMC41OTVsMCwwYy0yMC41MDgtMjAuNTA4LTIwLjc3My01My40OTMtMC41OTQtNzMuNjcyICBsMTg5Ljk5OS0xOTBjMjAuMTc4LTIwLjE3OCw1My4xNjQtMTkuOTEzLDczLjY3MiwwLjU5NWwwLDBjMjAuNTA4LDIwLjUwOSwyMC43NzIsNTMuNDkyLDAuNTk1LDczLjY3MUwyOTMuNzUxLDQ1NS44Njh6Ii8+DQo8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMjIwLjI0OSw0NTUuODY4YzIwLjE4LDIwLjE3OSw1My4xNjQsMTkuOTEzLDczLjY3Mi0wLjU5NWwwLDBjMjAuNTA5LTIwLjUwOCwyMC43NzQtNTMuNDkzLDAuNTk2LTczLjY3MiAgbC0xOTAtMTkwYy0yMC4xNzgtMjAuMTc4LTUzLjE2NC0xOS45MTMtNzMuNjcxLDAuNTk1bDAsMGMtMjAuNTA4LDIwLjUwOS0yMC43NzIsNTMuNDkyLTAuNTk1LDczLjY3MUwyMjAuMjQ5LDQ1NS44Njh6Ii8+DQo8L3N2Zz4=);*/
    background-size: contain;
    z-index: 999;
    
    /*background: #57a639 url("/images/down-arrow.png") no-repeat center 54%;*/
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
    padding: 30px;
}

.bounce {
    -webkit-animation: bounce 2s infinite;
    animation: bounce 2s infinite;
}

/* Scroll down indicator (bouncing) */
@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px); } }
@-moz-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0); }
  40% {
    -moz-transform: translateY(-30px); }
  60% {
    -moz-transform: translateY(-15px); } }
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); } }
/**/

/* back to top */
a.back-to-top, a.back-to-info {
	display: none;
	width: 60px;
	height: 60px;
	text-indent: -9999px;
	position: fixed;
	z-index: 999;
	right: 20px;
	bottom: 20px;
	background: #011b4a url("/images/up-arrow.png") no-repeat center 43%;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
    transition: none;
}
a:hover.back-to-top, a:hover.back-to-info {
	background-color: #57a639;
}

a.back-to-promo {
    display: block;
    width: 60px;
    height: 60px;
    text-indent: -9999px;
    position: fixed;
    z-index: 10000;
    right: 20px;
    bottom: 90px;
    background: #011b4a url("/images/ipap/ipap-icon.png?2026") no-repeat center 50%;
    border-radius: 30px;
    transition: none;
    border: solid 1px #57a639;
}
a:hover.back-to-promo {
    background-color: #57a639;
}

/* Fixed banner box – zarovnaný k tomu kolečku (pravý dolní roh k levému hornímu rohu kolečka) */
/* Fixed promo box */
.promo-float {
    position: fixed;
    z-index: 9999;
    right: 90px;
    bottom: 90px;

    max-width: 450px;
    max-height: 450px;

    background: #ffffff;
    border-radius: 14px;
    padding: 12px;

    box-shadow:
            0 15px 40px rgba(0, 0, 0, 0.25),
            0 5px 15px rgba(0, 0, 0, 0.15);

    border: 1px solid rgba(0,0,0,0.06);

    display: none;
    animation: promoFadeIn 0.25s ease-out;
}

/* Obrázek uvnitř */
.promo-float img {
    display: block;
    max-width: 100%;
    max-height: 426px; /* 450 - padding */
    width: auto;
    height: auto;
    border-radius: 8px;
}

/* Křížek */
.promo-close {
    position: absolute;
    right: -12px;
    top: -12px;

    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 0;

    cursor: pointer;
    background: #000;
    color: #fff;

    font-size: 20px;
    text-align: center;

    box-shadow: 0 5px 15px rgba(0,0,0,0.35);
    transition: all 0.2s ease;
}

.promo-close:hover {
    background: #57a639;
    transform: scale(1.1);
}

/* Jemná animace při zobrazení */
@keyframes promoFadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

label.col-form-label {
    margin-top:7px;
}

.w-100 {
    width: 100%!important;
}