/*  
Theme Name: Template 21
Description: LIGHT
Author: Template 21
Version: 2025-05
*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&family=Teko:wght@300..700&display=swap');
@import url('font-face/font-face.css');

html {font-size: 16px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%;}
body, input, select, textarea, button {font-family: 'Roboto', sans-serif; font-size: inherit; font-optical-sizing: auto;}
body {font-size: 80%; min-height: 100vh; height: 100%; display: flex; flex-direction: column; overflow-x: hidden;}

/* ************************* reset ************************* */
html, body, form, ul, ol, li, table {margin: 0; padding: 0;}
table {border-collapse: collapse; border-spacing: 0; margin: 0 0 1em 0;}
th, td {padding: 5px;}
p, #content ul, .article ul {margin: 0 0 1em 0; padding: 0;}
body, th, td {text-align: left;}
ul {list-style: none;}
:focus {outline: none;}
::-moz-focus-inner {border: 0;}
img {max-width: 100%; height: auto; border: 0;}
iframe {max-width: 100%; max-height: 100%; border: 0;}
* {box-sizing: border-box;}

.grecaptcha-badge {visibility: hidden!important;}


/* ************************* multiple declaration ************************* */

/* clearfix */
.clearfix::after,
.paging-bottom::after,
.article::after,
.section::after {content: ""; display: table; clear: both;}

.cleaner {clear: both;}


.hide,
.owl-nav.disabled,
.owl-dots.disabled,
h2.screen-reader-text {display: none;}

@media screen and (max-width: 767px) {
  #menu-header #searchform .searchform-icon,
  #menu-header > ul > li > a::after,
  #menu-header ul, #menu-header ul li.page_item_has_children > a::after, #menu-header ul li.page_item_has_children .submenu-button.submenu-opened::after {display: none;}
  
  #scrollup {display: none!important;}
}

@media screen and (min-width: 1200px) {
  .table-article tbody td::before {display: none;} 
  a[href^="tel:"] {text-decoration: none!important;}
}

a[href^="tel:"] {white-space: nowrap;}


button,
.button {-webkit-user-select: none; user-select: none;} 


/* flex-col (ul li fix) */
.flex-col,
.flex-col .col {margin-bottom: 2em!important; padding-left: 0!important;}

.flex-col.center * {text-align: center!important;}

ul.flex-col li.col::before {display: none!important;}

@media screen and (min-width: 768px) {	
  .flex-col {display: flex; flex-direction: row; flex-wrap: wrap; margin-left: -40px!important;} 
  .flex-col .col {width: calc(50% - 40px); margin-left: 40px!important;}
}

@media screen and (min-width: 1200px) {
  .flex-col.col3 .col {width: calc(100% / 3 - 40px);}
  .flex-col.col4 .col {width: calc(100% / 4 - 40px);}
}



/* video player */
.wp-video {margin-bottom: 2em;}
video {width: 100%; height: auto;}


/* ************************* custom CSS ************************* */

.text-zvyrazneno {text-align: center; padding: 10px 0; margin: 0 0 1em 0; font-size: 28px; font-weight: bold; background: #fee6bb; border-radius: 10px;}
.text-zvyrazneno p {margin: 0;}

.loga {clear: both; text-align: center; margin-bottom: 2em;}
.loga img {margin: 20px; vertical-align: middle; max-height: 100px; max-width: 250px; width: auto;}


/* homepage section */
.section-wrapper.section-image,
.section-wrapper.section-image .section {padding: 0!important; line-height: 0;}


/* info block icon */
#info_block.section-wrapper.icon ul li:nth-child(1)::before {background-image: url('images/icon1.png');}
#info_block.section-wrapper.icon ul li:nth-child(2)::before {background-image: url('images/icon2.png');}
#info_block.section-wrapper.icon ul li:nth-child(3)::before {background-image: url('images/icon3.png');}


/* ************************* fonts ************************* */

/* Montserrat */
h1, h2.ico,
#carousel-wrapper #carousel-block-wrapper *,
.album .album-item h3,
#header-top #header-top-inner #icons,
#menu-header ul li > a,
#info_block.section-wrapper.icon ul li > *,
#blocks .block strong {font-family: 'Teko', sans-serif; font-optical-sizing: auto;}



/* FontAwesome */
.ico::before, .ico::after,
.icon::before,
.owl-prev::before, .owl-next::before,
#main ul li::before, .article ul li::before {font: normal normal normal 16px/1 'FontAwesome'; display: inline-block; text-decoration: none; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

/* ************************* ico / icon ************************* */

.ico::before {margin-right: 0.3em;}
#main .ico::before, .textwidget .ico::before {width: 16px; text-align: center;}
.ico::after {margin-left: 0.3em;}
.icon::before {text-align: center; margin: 0;}
.ico::before, .ico::after {font-size: inherit; color: inherit; text-decoration: none;}

span.ico.phone a {margin: 0 0.5em;}
span.ico.phone {display: flex; flex-direction: row; flex-wrap: wrap;}

.ico::before {font-weight: 300;}

/* ico */
.ico.home::before {content: "\f015";}
.ico.mobile::before {content: "\f2a0";}
.ico.phone::before {content: "\f2a0";}
.ico.email::before {content: "\40";}
.ico.angle-right::before {content: "\f105";}
.ico.info::before {content: "\f05a";}
.ico.images:before {content: "\f302";}
.ico.location::before {content: "\f3c5";} 
.ico.sitemap::before {content: "\f0e8";} 
.ico.contact::before {content: "\f0e0";}
.ico.eshop:before {content: "\f07a";}


/* ico file */
.ico.pdf::before {content: "\f1c1"; color: #e91209; font-weight: 900;}
.ico.doc::before {content: "\f1c2"; color: #185abd; font-weight: 900;}
.ico.xls::before {content: "\f1c3"; color: #107c41; font-weight: 900;}
.ico.ppt::before {content: "\f1c4"; color: #e91309; font-weight: 900;}
.ico.zip::before {content: "\f1c6"; color: #edaa1d; font-weight: 900;}


/* icon */
.icon.magnify::before {content: "\f002";}


/* icon social */
.icon.facebook::before,
.ico.facebook::before {content: "\f082"; font-weight: 400;}
.icon.facebook_f::before {content: "\f39e"; font-weight: 400;}
.icon.facebook:hover::before,
.ico.facebook:hover::before {color: #3b579d;}

.icon.x_twitter::before,
.ico.x_twitter::before {content: "\e61b"; font-weight: 400;}
.icon.x_twitter:hover::before,
.ico.x_twitter:hover::before {color: #000;}

.icon.youtube::before,
.ico.youtube::before {content: "\f167"; font-weight: 400;}
.icon.youtube:hover::before,
.ico.youtube:hover::before {color: #c63127;}

.icon.instagram::before,
.ico.instagram::before {content: "\f16d"; font-weight: 400;}
.icon.instagram:hover::before,
.ico.instagram:hover::before {color: #d32e88;}

.icon.tiktok::before,
.ico.tiktok::before {content: "\e07b"; font-weight: 400;}
.icon.tiktok:hover::before,
.ico.tiktok:hover::before {color: #fe2c55;}


/* ************************* colors and borders (DARK) ************************* */

/******* text color *******/

body,
.center-text a,
#menu-header ul li a,
#footer .section-wrapper a,
#blocks .block strong,
#main .album .album-item h3 > a,
#main a[href^="tel:"], .article a[href^="tel:"] {color: #000;}


.button, .button::before,
.gallery .icon.magnify::before,
.section-wrapper.very-dark *,
.section-wrapper.very-dark a[href^="tel:"],
.owl-carousel.slideshow-nav .owl-nav > button::before,
#header-top #header-top-inner #icons .link-horizontal .ico,
#header-top #header-top-inner #icons .link-horizontal .ico > *,
#info_block.section-wrapper.very-dark.icon ul li > *,
#footer .section-wrapper.very-dark a,
#footer .copyright,
#h1-wrapper h1,
#carousel-wrapper #carousel-block-wrapper #carousel-block .icon.link-anchor::before,
#contact-us.section-wrapper .section .contact-us-left h4,
#scrollup.icon::before,
#carousel-wrapper #carousel-block-wrapper * {color: #fff;}

button.c-bn:not(:hover) {color: #fff!important;}


a,
#news-block .perex .date,
.social-icon a.icon::before,
.gallery .gallery-item span.description {color: #666;}


blockquote,
#menu-header #searchform .searchform-input {color: #696969;}


#news-block .perex .date {color: #999;}


#footer .copyright a,
#header-top #header-top-inner #icons .link-horizontal .ico::before {color: #ccc;}


/* main color */
#homepage h1 span,
a.underline,
#menu-header ul li[class*="current"] > a,
#menu-header ul li > a:hover,
li.icons > a.icon::before,
#info_block.section-wrapper.icon ul li > *,
#carousel-wrapper #carousel-block-wrapper *.ico::before,
#footer .section-wrapper .contact-block *.ico::before,
#contact-us.section-wrapper .section .contact-us-left h3,
.section-wrapper.dark .section ul li::before,
a.underline:hover,
#gdpr .ico.lock::before {color: #e30000;}


:root{--cc-btn-primary-bg: #e30000!important;}



/******* background-color *******/

#footer .copyright,
#carousel,
#carousel-wrapper #carousel-block-wrapper #carousel-block *.ico::before {background-color: #000;}


body,
#header-top,
#carousel .owl-dots .owl-dot.active::before {background-color: #fff;}


/* very light */
#header,
#header #menu-header ul ul {background-color: #f7f7f7;}


/* light grey */
#blocks .block strong,
.album .album-item,
.section-wrapper.dark {background-color: #e2e2e2;}

/* very dark */
.section-wrapper.very-dark {background-color: #171c22;}


.button:hover,
#scrollup {background-color: #3f3f3f;}


.button:disabled {background-color: #5f5f5f!important;}



/* main color */
.button,
a.underline:hover::after,
#info_block.section-wrapper.icon ul li::after,
#header-top #header-top-inner #icons,
#header-top #header-top-inner #icons::before,
#header-top #header-top-inner #icons::after {background-color: #e30000;}



/* rgba */
#blocks .block .thumbnail::after,
.album .album-item > a.thumbnail::after {background-color: rgba(255,255,255,.3);}



/******* border *******/

/* border-color */
#menu-header #searchform .searchform-input {border-color: #999;}



/* main color */
.button,
.strike::before, 
.strike::after {border-color: #e30000;}



/* border-radius */
.album .album-item,
#menu-header #searchform .searchform-input,
#blocks .block {border-radius: 8px;}

input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="date"], textarea, select {border-radius: 4px;}



/* text-transform: uppercase */
.button, a.button,
a.underline,
.section > h2.ico,
#blocks .block strong,
#info_block.section-wrapper.icon ul li > *,
#menu-header > ul > li > a {text-transform: uppercase;}



/* ************************* font-weight ************************* */

/* font-weight: 400 (normal) */
#menu-header ul li a {font-weight: 400;}


/* font-weight: 600 (SemiBold) */
#menu-header ul li a,
#blocks .block strong {font-weight: 600;}


/* font-weight: 700 (bold) */
.article a,
.section > h2.ico,
.section h2.strike,
#carousel-wrapper #carousel-block-wrapper *,
#main a {font-weight: 700;}



/* ************************* heading title ************************* */

h1 {font-weight: 600; line-height: 1.3; margin: 0 0 1em 0; padding: 0; text-transform: uppercase;}
#homepage h1 {text-align: center;}

h2, h3, h4 {margin: 0 0 0.5em 0; padding: 0; text-align: left;}

h1 {font-size: 180%;}
h2 {font-size: 120%;}
h3 {font-size: 110%;}

@media screen and (min-width: 768px) {
  h1 {font-size: 240%;}	  
  h2 {font-size: 140%;}
  h3 {font-size: 120%;}
  h4 {font-size: 100%;}   
}



#h1-wrapper {position: relative; width: 100%; display: flex; justify-content: center; align-items: center; padding: 5em 0; background-repeat: no-repeat!important; background-position: center center!important; background-size: cover!important; box-shadow: inset 0 0 60px 10px #000;}
#h1-wrapper::before {position: absolute; inset: 0; content: ""; background-color: rgba(0,0,0,.7); z-index: 2;}
#h1-wrapper h1 {position: relative; text-align: center; margin: 0; text-shadow: 1px 1px #000; z-index: 3;}

@media screen and (min-width: 768px) {
  #h1-wrapper {padding: 10em 0;}
  #h1-wrapper h1 {max-width: 1200px; font-size: 42px;}	
}



/* section heading */
.section h1 {font-size: 140%;}

.section > h2.ico,
.section h2.strike {text-align: center; margin: 0 0 1.5em 0; font-size: 180%;}

.section > h2.ico::before {font-weight: 300;}

.section h2.strike {justify-content: center;}
.section h2.strike::before, h2.strike::after {max-width: 100%;}

.section h1, .section h2, .section h3, .section h4 {line-height: 1.3;}

@media screen and (min-width: 480px) {
  .section h1 {font-size: 210%;} 
  .section > h2.ico {font-size: 320%;}   
  .section h2.strike {font-size: 190%;}
}




/* strike */
.strike {display: flex; align-items: center;}
.strike a {flex-grow: 0;}

.strike::before, .strike::after {max-width: 1.5em; width: 1.5em; border-top-width: 1px; border-top-style: solid; content: ""; flex-grow: 1;}
.strike::before {margin-right: 0.5em;}
.strike::after {margin-left: 0.5em;}



/* links */
a:hover {text-decoration: underline;}
a, a.icon, .button, a.button {text-decoration: none;}

.button, 
.section a::before {transition: all .2s ease-in-out;}



/* button */
.buttons {margin-top: 1.5em;}
.buttons .button {margin: 1em;}
.buttons.center {text-align: center;}


.button, a.button {display: inline-block; font-size: 16px; font-weight: 400; padding: 1em 3em; border-width: 2px; border-style: solid; cursor: pointer;}
.button.ico::before {margin-right: 1em; font-size: 24px; font-weight: 400;} 
.button:disabled {pointer-events: none;}



/* scroll up */
#scrollup {display: none; position: fixed; bottom: 40px; right: 20px; padding: 2px; text-align: center; text-decoration: none!important; z-index: 9999; box-shadow: 0 0 5px rgba(0,0,0,.8); opacity: .8;}
#scrollup:hover {opacity: 1}
#scrollup.icon::before {width: 30px; height: 30px; font-size: 30px; line-height: 25px; margin: 0; content: "\f106"; border: 1px solid #999;}
#scrollup, #scrollup.icon::before {border-radius: 50%;}



/* facebook */
.fb-like-button {width: 95px; height: 30px;}
.fb-page {width: 500px; height: 154px; padding-top: 4em; clear: both;}

@media screen and (max-width: 479px) {    
 .fb-page {width: 100%;}
}

.fb-like-button, .fb-page  {display: block; margin: 0 auto; border: 0; overflow: hidden;}
.fb-like {margin: 30px 0; float: right;}



/* filter alpha */
#ico a:hover img,
#crossroads  > ul > li > a:hover::before {opacity: .7;}



/* link underline */
a.underline { display: inline-block; padding: 0 0 10px 0; position: relative; text-decoration: none;}
a.underline::after {display: block; position: absolute; left: 0; right: 0; bottom: 0; content: ""; margin: auto; height: 3px; width: 0; background: transparent; transition: all .5s ease;}
a.underline:hover::after {width: 100%;}


/* link-horizontal */
.link-horizontal > *,
.link-horizontal span a {display: block; margin-bottom: 1.5em;}

@media screen and (min-width: 768px) {	
  .link-horizontal > * {display: inline-block; font-size: 16px; margin-bottom: 1em;}
  .link-horizontal > *:not(:last-child) {margin-right: 1em;}
  
  .link-horizontal span a {display: inline-block; margin: 0;}
  .link-horizontal span a + a {margin-left: 1em;}
}






/* ************************* layout ************************* */

@media screen and (min-width: 1200px) {
  .section,
  #header-top-inner,
  #menu-header,
  #content {width: 1200px; margin: 0 auto;} 
}

#header-top,
#header, 
#footer {flex: none;}







/* ************************* header ************************* */

.logo {display: block; background: url('images/logo.png') no-repeat left center; background-size: contain;}

#header-top,
#header {position: relative; z-index: 100;}

@media screen and (max-width: 767px) { 
  #header-top #header-top-inner #icons::after {display: none;}
  #header-top #header-top-inner #icons {background: none;}
 
  #header-top #header-top-inner a.logo {height: 50px; margin: 10px 68px 10px 10px;}
  
  /* icons */
  #header-top #header-top-inner #icons .link-horizontal {display: none;}
  
  /* language */
  #header-top #header-top-inner #icons .languageswitch {margin: 0 68px 0 10px; padding-bottom: 10px;}
}

@media screen and (min-width: 768px) {
  #header-top {border-bottom-width: 1px; border-bottom-style: solid; border-color: #e7ebf0; z-index: 200;}
  #header-top #header-top-inner {position: relative; display: flex; flex-direction: row; align-items: center; flex-wrap: wrap;}  

  #header-top #header-top-inner a.logo {width: 300px; margin: 0;} 
  
  #header-top #header-top-inner a.logo,
  #header-top #header-top-inner #icons {height: 80px;}
  
  /* icons */ 
  #header-top #header-top-inner #icons {position: relative; display: flex; align-items: center; margin-left: auto; padding-left: 30px;}  
  #header-top #header-top-inner #icons::before {display: block; position: absolute; top: 0; bottom: 0; left: -40px; content: ""; width: 40px; height: 100%; clip-path: polygon(100% 100%, 0 100%, 100% 0);}  
  #header-top #header-top-inner #icons::after {content: ""; position: absolute; top: 0; bottom: 0; left: 100%; min-width: 100vw; height: 100%;}

  #header-top #header-top-inner #icons > div {display: inline-block;}
  #header-top #header-top-inner #icons .link-horizontal {margin: 0; padding: 20px 0;}
  #header-top #header-top-inner #icons .link-horizontal > * {margin-bottom: 0;}
  
  #header-top #header-top-inner #icons .link-horizontal a {text-decoration: none;}
  
  #header-top #header-top-inner #icons .link-horizontal .ico {display: inline-flex; align-items: center; font-weight: bold; font-size: 18px; text-shadow: 1px 1px #000;}
  #header-top #header-top-inner #icons .link-horizontal .ico::before {font-size: 36px;}
  
  /* language */
  #header-top #header-top-inner #icons .languageswitch {margin-left: 2em;}  
    
  #header {box-shadow: 0 0 10px rgba(25,24,24,.4);}	
}

@media screen and (min-width: 768px) and (max-width: 1214px) {
  #header-top #header-top-inner,
  #header #menu-header {padding: 0 15px;}
  
  #header-top #header-top-inner a.logo {height: 70px;} 
}

@media screen and (min-width: 1200px) {
  #header {position: sticky; top: 0;}
}

/* language */
#header-top #header-top-inner #icons .languageswitch a img {width: 24px; height: auto; margin-right: 10px;}
#header-top #header-top-inner #icons .languageswitch a:hover img,
#header-top #header-top-inner #icons .languageswitch a.current-lang img {opacity: .75;}






/* ************************* carousel ************************* */

/* carousel */
#carousel-wrapper {position: relative; overflow: hidden;}
#carousel-wrapper #carousel-block-wrapper {position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none;}

#carousel-wrapper #carousel .owl-lazy {background-repeat: no-repeat; background-position: center center!important; background-size: cover; transition: 0s linear; transition-property: background-position; animation: BackgroundZoom 15s ease;} 

@keyframes BackgroundZoom {0% {transform: scale(1.1);} 100% {transform: scale(1);}}

#carousel-wrapper #carousel .owl-stage {opacity: .7;}

/* carousel block */
#carousel-wrapper #carousel-block-wrapper {display: flex; justify-content: center; align-items: center; flex-flow: column wrap;}
#carousel-wrapper #carousel-block-wrapper #carousel-block {text-align: center;}
#carousel-wrapper #carousel-block-wrapper #carousel-block * {pointer-events: initial; text-decoration: none; text-shadow: 2px 2px 0px #000; font-weight: 600;}
#carousel-wrapper #carousel-block-wrapper #carousel-block *.ico {font-size: 4vmin; margin: 0 0 0.5em 0;}
#carousel-wrapper #carousel-block-wrapper #carousel-block *.ico::before {min-width: 7vmin; min-height: 7vmin; font-size: 6vmin;}

#carousel-wrapper #carousel-block-wrapper #carousel-block a.icon {display: inline-block;}
#carousel-wrapper #carousel-block-wrapper #carousel-block a.icon::before {font-size: 6vmin; margin: 10px;}

#carousel-wrapper #carousel-block-wrapper #carousel-block *.ico {display: block;}

#carousel-wrapper #carousel-block-wrapper #carousel-block .icon.link-anchor {display: none;}

@media screen and (min-width: 768px) {
  #carousel-wrapper #carousel-block-wrapper #carousel-block *.ico {font-size: 28px;}
  #carousel-wrapper #carousel-block-wrapper #carousel-block *.ico::before {width: 50px; min-width: 50px; height: 50px; min-height: 50px; font-size: 36px;}   
  #carousel-wrapper #carousel-block-wrapper #carousel-block a.icon::before {font-size: 40px;}  
  
  #carousel-wrapper #carousel-block-wrapper #carousel-block .icon-social {position: absolute; top: 0; bottom: 0; right: 20px; margin: auto; display: flex; flex-direction: column; flex-wrap: wrap; display: flex; justify-content: center; align-items: center;}
}

/* resp. height (820 / 1920 x 100) */
#carousel-wrapper #carousel,
#carousel-wrapper #carousel .owl-lazy {width: 100%; height: 300px;}    

@media screen and (min-width: 768px) and (max-width: 1199px) {
  #carousel-wrapper #carousel,
  #carousel .owl-lazy {height: 0; padding-bottom: calc(820 / 1920 * 100%);}  
}

@media screen and (min-width: 1200px) {
  #carousel-wrapper #carousel,	
  #carousel-wrapper #carousel .owl-lazy {height: 820px;}  
  
  #carousel-wrapper #carousel-block-wrapper #carousel-block .icon.link-anchor {display: block;}
  #carousel-wrapper #carousel-block-wrapper #carousel-block .icon.link-anchor::before {position: absolute; bottom: 30px; left: 0; right: 0; margin: auto;  content: "\f8cd"; font-size: 50px; font-weight: 300; animation: MoveUpDown 1.5s ease infinite;}

  @keyframes MoveUpDown {0% {opacity: 0; transform: translateY(-35px);} 80% {opacity: 1; transform: translateY(0px); } 100% {opacity: 0;}} 
}








/* ************************* content ************************* */

#content {padding: 40px 0; overflow: hidden; flex: 1 0 auto;}

@media screen and (max-width: 1214px) {
  #content {padding: 30px 15px;}
}

.section .article,
#main {font-size: 125%; line-height: 1.3; overflow: hidden;}




/* ************************* footer ************************* */

/* footer */
#footer-map {display: flex; justify-content: center; align-items: flex-end;  width: 100%; height: 400px; background: url('images/mapa.jpg') no-repeat center center; background-size: cover;  transition: all .4s ease-in-out; text-decoration: none;}
#footer-map:hover {filter: grayscale(60%);}
#footer-map .button {margin-bottom: 2em;}

#footer {line-height: 0.8;}

/* footer contact */
#footer .section-wrapper {line-height: 1.5;}
#footer .section-wrapper .logo {width: 100%; height: 80px; margin-bottom: 30px; background-position: center center;}

#footer .section-wrapper .contact-block {display: flex; justify-content: center; align-items: center; flex-wrap: wrap;}
#footer .section-wrapper .contact-block *.ico {margin: 1em; font-size: 18px; }
#footer .section-wrapper .contact-block *.ico::before {font-size: 32px;}

#footer .section-wrapper .contact-block .icon-social {text-align: center; width: 100%;}
#footer .section-wrapper .contact-block .icon-social *.icon::before {font-size: 38px; margin: 20px;}



/* shared */
#footer .section-wrapper .contact-block *.ico,
#carousel-wrapper #carousel-block-wrapper #carousel-block *.ico {display: flex; justify-content: center; align-items: center; text-decoration: none;}

#carousel-wrapper #carousel-block-wrapper #carousel-block *.ico::before {display: flex; justify-content: center; align-items: center; padding: 5px; border-radius: 50%;}



/* footer copyright */
#footer .copyright {text-align: center; font-size: 110%; line-height: 1.5; padding: 2em;}
#footer .copyright img {vertical-align: middle;}




/* ************************* menu  ************************* */

/* menu header */  
#menu-header #menu-button {display: none;} 

#menu-header, 
#menu-header ul li.page_item_has_children, 
#menu-header ul li a {position: relative;}

#menu-header ul li a {display: block; text-decoration: none; transition: all .2s ease-in-out; font-size: 16px; letter-spacing: 0.5px;}

#menu-header > ul > li > a.ico::before {color: inherit; font-size: inherit; line-height: 0;}

  /* icon */
#menu-header > ul > li.icons {margin-left: auto; display: flex; align-items: center;}
#menu-header > ul > li.icons > a.icon {display: inline-block; margin-left: 1em; padding: 0!important;}
#menu-header > ul > li.icons > a.icon::before {font-size: 34px;}
    

/* search */
#menu-header #searchform {z-index: 100; overflow: hidden;}
#menu-header #searchform .searchform-input {font-size: 13px; width: 100%; padding: 10px 40px 10px 8px;}

#menu-header #searchform .searchform-button,
#menu-header #searchform .searchform-icon,
#menu-header #searchform .searchform-button::before {position: absolute; right: 0; top: 0; width: 30px; height: 40px; line-height: 40px; background-color: transparent;}
#menu-header #searchform .searchform-button {border: 0; cursor: pointer; text-shadow: none;}
 
@media screen and (min-width: 768px) {

  /* search */
  #menu-header #searchform {position: absolute; right: 0; top: 0; min-width: 30px; width: 0%; transition: width .3s;} 
  #menu-header #searchform .searchform-icon {cursor: pointer;} 
  #menu-header #searchform .searchform-input {opacity: 0; border-width: 1px; border-style: solid; transition: all .3s;}
  #menu-header #searchform.searchform-open {width: 100%;} 	
  #menu-header #searchform.searchform-open .searchform-input {opacity: 1;}
  

  /* parent */
  #menu-header > ul {display: flex!important;}
  #menu-header > ul > li > a {line-height: 1; padding: 1.4em 1em;}
    
  /* children */
  #menu-header ul ul li {width: 250px;}
  #menu-header ul ul li a {padding: 10px;}
  
  #menu-header ul ul li > a:hover,
  #menu-header ul ul li[class*="current"] > a {background: rgba(255,255,255,.6);} 
  
  /* children overflow-x */  
  #menu-header li.page_item_has_children > ul {max-height: 60vh; overflow-x: hidden; overflow-y: auto;}

  /* children ico (comment overflow-x: hidden) */
  /* #menu-header ul ul li.page_item_has_children > a::after {position: absolute; top: 50%; right: 10px; width: 4px; height: 4px; margin-top: -2px; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; content: ""; transform: rotate(-45deg);} */

  /* children hide  */
  #menu-header ul ul {position: absolute; top: 100%; left: -9999px; z-index: 100; opacity: 0; transition: opacity .4s linear; box-shadow: 6px 6px 8px rgba(0,0,0,.4);} 
  #menu-header ul li:hover > ul {opacity: 1;}
  #menu-header ul ul li > ul {top: 0;} 
  
  /* children hide not pull-right  */
  #menu-header > ul > li:not(.pull-right):hover > ul {left: 0; opacity: 1;}
  #menu-header > ul > li:not(.pull-right) ul li:hover > ul {left: 100%;} 
  
  /* children hide pull-right  */
  #menu-header > ul > li.pull-right ul {left: auto; right: -9999px; } 
  #menu-header > ul > li.pull-right:hover > ul {right: 0;}
  #menu-header > ul > li.pull-right ul li:hover > ul {right: 100%;} 
  
  #menu-header ul ul ul {display: none!important;}
}


/* responsive menu */
@media screen and (max-width: 767px) {
  /* menu header */   
  #menu-header::before {display: none;}
   
  #menu-header, 
  #menu-header #menu-button, 
  #menu-header ul li {position: relative;}
  
  #menu-header ul li, 
  #menu-header ul li a, 
  #menu-header ul ul li a {line-height: 1;}
  
  /* search */
  #menu-header #searchform .searchform-input {padding-left: 20px; padding-right: 50px; border: 0; transition-property: none; border-radius: 0;}

  #menu-header #searchform .searchform-button {width: 40px;}
  #menu-header #searchform .searchform-button::before {right: 8px;}
  
  /* menu-button */
  #menu-header #menu-button {display: block; position: absolute; top: -60px; right: 0; width: 60px; height: 50px; font-weight: bold; cursor: pointer;}
  #menu-header #menu-button::before, 
  #menu-header #menu-button::after {display: block; position: absolute; left: 0; content: ""; transition: all .2s ease;}
  #menu-header #menu-button::after {top: 28px; height: 5px; width: 40px; border-width: 5px 0 5px 0; border-style: solid;}
  #menu-header #menu-button::before {top: 18px; height: 5px; width: 40px;}
  #menu-header #menu-button.menu-opened::after {border: 0; height: 5px; transform: rotate(45deg);}
  #menu-header #menu-button.menu-opened::before {transform: rotate(-45deg);}
  #menu-header #menu-button.menu-opened::after, 
  #menu-header #menu-button.menu-opened::before {top: 28px; left: 8px; width: 30px;}  
 
  /* parent */
  #menu-header {position: absolute; left: 0; right: 0; height: auto; width: 100%; margin: 0; padding: 0; border: none; background: transparent; z-index: 1000;}
  #menu-header ul li {display: block; background: none; border-top-width: 1px; border-top-style: solid;}

  #menu-header ul li a, #menu-header ul ul {background: none!important; border: none;}
  #menu-header ul li a {font-size: 16px!important; padding: 20px!important; line-height: 1!important;}  
  
  #menu-header > ul > li.icons {justify-content: center; padding: 10px;}
  
  /* sub ico */
  #menu-header ul li.page_item_has_children .submenu-button {display: block; position: absolute; right: 0; top: 0; height: 52px; width: 52px; cursor: pointer; z-index: 10;}
  #menu-header ul li.page_item_has_children .submenu-button::after {top: 21px; left: 26px; width: 1px; height: 11px;}
  #menu-header ul li.page_item_has_children .submenu-button::before {left: 21px; top: 26px; width: 11px; height: 1px;}
  #menu-header ul li.page_item_has_children .submenu-button::after, 
  #menu-header ul li.page_item_has_children .submenu-button::before {content: ""; display: block; position: absolute; z-index: 99;}
  #menu-header ul li.page_item_has_children > a {padding-right: 58px;}
  #menu-header ul li.page_item_has_children > a::before {content: ""; position: absolute; top: 0; right: 0; width: 52px; height: 100%;}
  
  /* children */
  #menu-header ul ul {opacity: 1; transition-property: none;}

  #menu-header ul ul li a {padding-left: 25px!important;}
  #menu-header ul ul ul li a {padding-left: 45px!important;}
  #menu-header ul ul ul li::before {font: normal normal normal 14px/1 'FontAwesome'; display: inline-block; position: absolute; top: 18px; left: 20px; content: "\f00c"; margin-right: 3px;}
  
  /* children hide  */
  #menu-header ul ul {position: relative!important; top: auto!important; left: auto!important; right: auto!important;} 
  #menu-header ul ul li {width: 100%}
  #menu-header ul ul li > a, 
  #menu-header ul li:hover > ul > li > a {width: auto; height: auto;}  
  

  /* menu-color LIGHT */
  #menu-header #searchform .searchform-input,
  #menu-header #searchform .searchform-button {color: #000;} 
  
  #menu-header ul ul ul li::before {color: #999;}
  
  #menu-header #searchform .searchform-input,
  #menu-header ul li.page_item_has_children > a::before {background-color: #ebebeb;}

  #menu-header #menu-button::before,	
  #menu-header #menu-button.menu-opened::after, 
  #menu-header #menu-button.menu-opened::before, 
  #menu-header ul li.page_item_has_children .submenu-button::after, 
  #menu-header ul li.page_item_has_children .submenu-button::before {background-color: #000;}  
  
  #menu-header ul {background-color: #f7f7f7;}
  
  #menu-header ul li {border-color: #ebebeb;}  
  #menu-header #menu-button::after {border-color: #000;}
  
  #menu-header ul li a {color: #000; text-shadow: none;}
}




/* ************************* homepage  ************************* */

/* crossroads blocks */
#blocks {margin-bottom: 0;}
#blocks .block {display: block; margin-bottom: 1.5em; padding: 0; text-decoration: none; overflow: hidden;}

#blocks .block .thumbnail {position: relative; display: block; width: 100%; height: 0; min-height: 60px; padding-bottom: 70%; background-repeat: no-repeat!important; background-size: cover!important; background-position: center center!important; overflow: hidden; transition: all .4s ease;}
#blocks .block .thumbnail:hover {transform: scale(1.06);}
#blocks .block .thumbnail::after {position: absolute; content: ""; left: 50%; top: 50%; width: 0%; height: 0%; transition: all .4s ease;}
#blocks .block:hover .thumbnail::after {left: 0; top: 0; width: 100%; height: 100%;}
#blocks .block strong {position: relative; display: block; text-align: center; font-size: 16px; line-height: 1.3; margin: 0; padding: 1em 0.5em; z-index: 10;}

@media screen and (min-width: 480px) {
  #blocks {display: flex; flex-direction: row; flex-wrap: wrap; gap: 1em;}
  #blocks .block {display: flex; flex-direction: column; flex-wrap: wrap; width: calc(1/2*100% - (1 - 1/2)*1em);}
  #blocks .block strong {display: flex; justify-content: center; align-items: center; flex-grow: 1;}
}

@media screen and (min-width: 768px) {
  #blocks .block {width: calc(1/3*100% - (1 - 1/3)*1em);}
}

@media screen and (min-width: 1200px) {
  #blocks {flex-wrap: nowrap;}  	
  /* #blocks .block {width: calc(1/4*100% - (1 - 1/4)*1em);} */
  #blocks .block {flex-grow: 1; flex-basis: 0; margin: 0;}  
  #blocks .block strong {font-size: 18px;}
}







/* homepage section */

/* section-wrapper */
@media screen and (max-width: 1199px) {
  .section-wrapper {padding: 20px;}
}


/* section */
.section {padding: 20px 0;}

@media screen and (min-width: 1200px) {
  .section {padding: 60px 0;}
}

.section {overflow: hidden;}





/* news carousel */
#news-block {clear: both; margin-top: 30px; padding-top: 20px;}
#news-block .perex {display: block; padding: 0 10px 10px 0;}
#news-block .perex a.thumbnail {display: block; width: 100%; max-width: 100%; height: 170px; margin-bottom: 1em; background-repeat: no-repeat!important; background-size: cover!important; background-position: center center!important; overflow: hidden;}
#news-block .perex h3 {font-size: 110%; margin: 0 0 0.5em 0;}
#news-block .perex p {font-size: 85%;}
#news-block .center-text {clear: both; text-align: center; font-size: 130%; padding: 1em 0 0 0;}






/* .section-wrapper.image */
.section-wrapper.image  {position: relative; background-image: url('images/bg-image.jpg'); background-repeat: no-repeat; background-position: center center; background-size: cover;}
.section-wrapper.image::before {position: absolute; top: 0; left: 0; right: 0; bottom: 0; content: ""; background-color: rgba(0,0,0,.85); z-index: 0;}
.section-wrapper.image .section {position: relative; z-index: 1;}

#info_block.section-wrapper.image {background-image: url('../../../carousel/slide2.jpg');}
#footer .section-wrapper.image {background-image: url('../../../carousel/slide1.jpg');}



/* contact us */
#contact-us.section-wrapper .section .contact-us-left * {text-align: center;} 
#contact-us.section-wrapper .section .contact-us-left h3 {font-size: 6vmin;}
#contact-us.section-wrapper .section .contact-us-left h4 {font-weight: 400; font-size: 4vmin;}
#contact-us.section-wrapper .section .right-button {text-align: center;}

@media screen and (max-width: 767px) {
  #contact-us.section-wrapper .section .contact-us-left {margin-bottom: 2em;}
}

@media screen and (min-width: 768px) {
  #contact-us.section-wrapper .section {display: flex; flex-direction: row; flex-wrap: wrap;}	
  #contact-us.section-wrapper .section .contact-us-left {width: 60%;}
  #contact-us.section-wrapper .section .contact-us-left * {text-align: left;} 
  
  #contact-us.section-wrapper .section .contact-us-left h3 {font-size: 36px;}
  #contact-us.section-wrapper .section .contact-us-left h4 {font-size: 23px;}

  #contact-us.section-wrapper .section .right-button {width: 40%; display: flex; justify-content: flex-end; align-items: center;}
}




/* info block */
#info_block.section-wrapper.icon ul li {position: relative; min-height: 88px;  padding-left: 100px; font-size: 120%; text-align: left; text-shadow: 1px 1px #000;}  

#info_block.section-wrapper.icon ul li::before,
#info_block.section-wrapper.icon ul li::after {position: absolute; top: 0; left: 0; bottom: 0; content: ""; width: 88px; height: 88px;}

#info_block.section-wrapper.icon ul li::before {background-position: center center; background-repeat: no-repeat; background-size: 50px; filter: invert(1); z-index: 2;}
#info_block.section-wrapper.icon ul li::after {position: absolute; top: 0; left: 0; bottom: 0; content: ""; border-radius: 50%; z-index: 1;}

#info_block.section-wrapper.icon ul li > * {display: block; margin: 0 0 0.1em 0; font-size: 24px;}
#info_block.section-wrapper.icon ul li p {padding: 0!important;}

#info_block.section-wrapper.icon ul {margin: 0;}
#info_block.section-wrapper.icon ul li {margin: 0 0 2em 0;}

@media screen and (min-width: 768px) {	
  #info_block.section-wrapper.icon ul {display: flex; flex-direction: row; flex-wrap: wrap; gap: 30px;} 
  #info_block.section-wrapper.icon ul li {width: calc(1/2*100% - (1 - 1/2)*30px);}
}

@media screen and (min-width: 1200px) {
  #info_block.section-wrapper.icon ul li {width: calc(1/3*100% - (1 - 1/3)*30px);}
}





/* contact / #main contact */
#contact.section-wrapper  .section .article .icon-social,
#main .icon-social {font-size: 110%; margin-top: 2em;}

#contact.section-wrapper  .section .article .icon-social p,
#main .icon-social p {margin: 0 0 0.5em 0;}

@media screen and (min-width: 480px) {
  #contact.section-wrapper  .section .article img.contact-image,
  #main img.contact-image {max-width: 300px; max-height: 300px;}  
}

@media screen and (min-width: 1200px) {
  #contact.section-wrapper .section .article img.contact-image,
  #main img.contact-image {max-width: 500px; max-height: 500px;}    
}




/* contact popup form */
#contact_block.section-wrapper .section {position: relative; padding: 100px 0; z-index: 2;}
#contact_block.section-wrapper .section * {text-align: center;}
#contact_block.section-wrapper .section h3 {font-size: 26px;}
#contact_block.section-wrapper .section p {font-size: 22px;}

#popup {padding-top: 100px; color: #000; background-color: #fff;}
#popup h3 {display: block; position: absolute; top: 0; left: 0; right: 0; padding: 20px; height: 66px; font-size: 22px; font-weight: normal; color: #fff; background: #424041;}
#popup .fancybox-close-small {color: #939393;}



/* ************************* article  ************************* */

/* ul/ol */
#main ol, 
.article ol {padding: 0; list-style-position: inside;}

#main ol, .article ol, 
#main ul, .section ul {margin: 0 0 1.5em 0;}

#main ol li, .article ol li {margin: 0 0 0.5em 0}

#main ul li, .article ul li {text-align: left; margin: 0 0 0.5em 0; padding-left: 1.3em;}
#main ul li::before, .article ul li::before {display: inline-block; width: 1.5em; margin-left: -1.5em; content: "\f111"; line-height: 1; color: #c6c6c6; font-weight: 900; font-size: 12px;}



blockquote {position: relative; text-align: left; font-size: 135%; font-style: italic; margin: 0.25em 0; padding: 0.25em 20px 0.25em 40px; line-height: 1.45;}
blockquote::before {display: block; position: absolute; left: 0; top: -20px; content: "\201d"; font-size: 80px; font-family: Georgia, "Times New Roman", Times, serif;}
blockquote cite {display: block; font-size: 75%; text-align: right; font-style: italic; margin-top: 0.8em;}
blockquote cite span {font-weight: bold; margin-right: 4px; text-transform: uppercase; font-style: normal;}



/* perex */
.perex::before, .perex::after {content: ""; display: table;}
.perex::after {clear: both;}

#main .perex {margin-bottom: 2em; border-bottom: 1px dotted #ccc;}
#main .perex a img {margin-bottom: 1em;}
.perex  a img {border: 2px solid #fff;}
.perex  a:hover img {border: 2px solid #ccc;}

.date {font-size: 90%; text-align: right; clear: both;}
#main .date {padding: 2em 0;}
.center {text-align: center;}



/* nav-links */
.nav-links::before, .nav-links::after {content: ""; display: table;}
.nav-links::after {clear: both;}
.nav-links {clear: both; text-align: center; padding: 40px 0 15px 0;}
.nav-links a, .nav-links span.current {margin: 0 2px; padding: 4px 8px; border-radius: 5px; background-color: #e0e0e0; border: 1px solid #b6b6b6; text-decoration: none;} 
.nav-links a:hover, .nav-links span.current {color: #000; background-color: #fff;} 
.nav-links .page-numbers {margin: 0 3px;}


.nav-prevnext {clear: both; padding: 15px 0;}
.nav-prevnext a {text-decoration: none;}
.nav-prevnext a:hover {text-decoration: underline;}
.nav-prevnext .previous {float: left;}
.nav-prevnext .next {float: right;}


/* images */
.centered, .aligncenter {display: block; margin-left: auto; margin-right: auto;}

@media screen and (max-width: 767px) {
  .alignright, .alignleft {display: block; margin: 0 auto 1em auto;}
}

@media screen and (min-width: 768px) {
  .alignright {margin: 0 0 2px 7px; float: right;}  
  .alignleft {margin: 0 7px 2px 0; float: left;}
  
  .wp-caption.alignright,
  .wp-caption.alignleft {width: auto!important;}
}


/* caption (titulek) */
.wp-caption {width: 100%!important; height: auto!important; padding: 2em 0;}
.wp-caption img {margin: 0!important;}
.wp-caption .wp-caption-text {font-size: 90%; text-align: left; font-style: italic; margin: 0;}


hr {clear: both; display: block; margin: 0 0 2em 0; padding: 0; height: 2em; border: 0; border-bottom: 1px solid #ccc;}







/* ************************* forms (v2) ************************* */

.wpcf7-form-control-wrap {position: relative;}
.wpcf7-form div.wpcf7-response-output {color: #000; background-color: #fff; margin: 0; padding: 0;}
.wpcf7-form div.wpcf7-mail-sent-ok {border: 2px solid #398f14; background-color: #fff; padding: 5px; box-shadow: 2px 2px 5px #797979;}
.wpcf7-form div.wpcf7-mail-sent-ng {border: 2px solid #ff0000; background-color: #fff; padding: 5px; box-shadow: 2px 2px 5px #797979;}
.wpcf7-form div.wpcf7-spam-blocked {border: 2px solid #ffa500; background-color: #fff; padding: 5px; box-shadow: 2px 2px 5px #797979;}
.wpcf7-form div.wpcf7-validation-errors {border: 2px solid #f7e700; padding: 5px; box-shadow: 2px 2px 5px #797979;}
.wpcf7-form span.wpcf7-not-valid-tip {position: absolute; right: 0; color: #000; background: #fff; border: 1px solid #ff0000; font-size: 13px; padding: 5px; box-shadow: 2px 2px 5px #797979; z-index: 100;}
.wpcf7-form span.wpcf7-not-valid-tip-no-ajax {color: #f00; font-size: 13px; display: block;}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label {font-size: 80%;}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item,
.wpcf7-form .wpcf7-radio .wpcf7-list-item {display: inline-block; padding: 5px 5px 5px 0;}

#popup {cursor: auto;}
#popup .wpcf7-not-valid-tip {right: 0;}

.table-form {width: 100%;}
.table-form th {text-align: right; padding-top: 0.7em; vertical-align:top;}
.table-form th label {white-space: nowrap;}

@media screen and (max-width: 479px) {
  .table-form th {text-align: left; width: 100%; display: block; padding: 5px 0;}
  .table-form th label {white-space: normal;}
  .table-form td .g-recaptcha * {width: 100%!important;}
}


select {width: 100%;}

input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="date"], textarea, select {border: 1px solid #a3a3a3; background-color: #f7f7f7; padding: 4px; transition: border 0.2s, box-shadow 0.2s ease-in-out;}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="date"]:focus, textarea:focus {background-color: #fff; box-shadow: 0px 0px 4px #373737;}
input[type="text"]:hover, input[type="tel"]:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="date"]:hover, textarea:hover {box-shadow: 0px 0px 4px #373737;}

.form-submit {text-align: center; margin: 1em 0;}
.form-required {color: #FF0000;}

input[type="text"], input[type="tel"], input[type="email"], input[type="date"], textarea {width: 100%;}
input[type="text"], input[type="email"], input[type="number"], input[type="date"] {padding: 6px 4px;}

input[type="text"].small {width: 10%;}
textarea {height: 7.5em; resize: vertical;}

/* safari type="search" fix */
input[type="search"] {-webkit-appearance: none; border-radius: 0;}
input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}





/* ************************* table ************************* */

.table th,
.table td {padding: 0 10px 0 0; margin: 0; vertical-align: top;}


/* tabulka clanek LIGHT */
.table-article {width: 100%; border: 2px solid #dcdcdc;}

.table-article td,
.table-article th {padding: 4px; border: 1px solid #dcdcdc;}

.table-article th {text-align: center; background-color: #e8e8e8;}
.table-article td {text-align: left; background-color: #fff; padding: 8px; vertical-align: top;}
.table-article tr:nth-child(even) td {background: #f2f2f2}

/* table wrap */
@media screen and (max-width: 767px) {
  .table-wrap {overflow: overflow-x: hidden; overflow-y: auto; width: 100%; padding: 2em 0; margin-bottom: 2em;}

 .table th, .table td, .table tr,	
 .table-form th, .table-form td, .table-form tr {display: block;}
 
 .table td,
 .table-form td, .table-form th {padding: 0 0 0.5em 0;}
}


/* responsive iframe video (16:9) */
.iframe-wrapper {position: relative; width: 100%; height: 0; margin-bottom: 2em; padding: 2em 0 56.25% 0;  overflow: hidden; line-height: 0;}
.iframe-wrapper iframe, .iframe-wrapper object, .iframe-wrapper embed {position: absolute; top: 0; left: 0; width: 100%!important; height: 100%!important;} 

@media screen and (min-width: 768px) {
  .iframe-wrapper {width: 700px; height: 400px; padding-bottom: 0;}
}






/* ************************* gallery + album ************************* */

/* shared */
.gallery,
.album {clear: both; display: flex; flex-direction: row; flex-wrap: wrap; margin-bottom: 2em; clear: both; line-height: 1;}

.gallery .gallery-item span,
.album .album-item h3 {line-height: 1.3;}

/* gallery (180 x 180px) */
.gallery .gallery-item {text-align: center; overflow: hidden;}
.gallery .gallery-item span {display: block; margin-top: 0.5em;}
.gallery .gallery-item span.caption {font-weight: normal; font-size: 80%;}
.gallery .gallery-item span.description {margin-bottom: 0.5em; font-size: 75%;}

/* album */
.album .album-item {padding: 20px;}
.album .album-item > a.thumbnail {position: relative; display: block; width: 100%; height: 0; padding-bottom: 100%; background-repeat: no-repeat!important; background-size: cover!important; background-position: center center!important; overflow: hidden; transition: all .4s ease;}
.album .album-item > a.thumbnail:hover {transform: scale(1.06);}
.album .album-item > a.thumbnail::after {position: absolute; content: ""; left: 50%; top: 50%; width: 0%; height: 0%; transition: all .4s ease;}
.album .album-item > a.thumbnail:hover::after {left: 0; top: 0; width: 100%; height: 100%;}
.album .album-item h3 {font-size: 110%; text-align: center; margin: 1.5em 0 0.5em 0; text-transform: uppercase;}

/* album excerpt */
.album .album-item {display: flex; flex-direction: column; flex-wrap: wrap;}
/* .album .album-item h3 {text-align: left!important;} */
.album .album-item .excerpt {display: flex; flex-direction: column; flex-grow: 1;}
.album .album-item .excerpt .excerpt-inner {text-align: left; font-size: 13px; line-height: 1.5;}
.album .album-item .excerpt .buttons {margin-top: auto;}
.album .album-item .excerpt .buttons a.button {font-size: 14px;}


@media screen and (max-width: 479px) {
  .gallery {margin-left: -6%;}
  .gallery .gallery-item {width: calc(100% / 2 - 6%); margin: 0 0 6% 6%;}
  .album .album-item {width: 100%; margin-bottom: 1em;}
}

@media screen and (min-width: 480px) {	
  .gallery {margin-left: -2%;}		
  .gallery .gallery-item {width: calc(100% / 4 - 2%); margin: 0 0 2% 2%;}
  
  .album {margin-left: -2%;}
  .album .album-item {width: calc(100% / 2 - 3%); margin: 0 0 2% 2%;}
}

@media screen and (min-width: 480px) and (max-width: 1199px) {
  .album .album-item h3 {font-size: 2vmin;}
}

@media screen and (min-width: 768px) {
  .gallery .gallery-item {width: calc(100% / 5 - 2%);}
}

@media screen and (min-width: 1200px) {
  .gallery .gallery-item {width: calc(100% / 6 - 2%);}
  .gallery .gallery-item a.icon.magnify {width: 100%; height: 180px; display: flex; justify-content: center; align-items: center;}
  .album .album-item {width: calc(100% / 4 - 2%);}
} 


/* icon.search hover */
.gallery a.icon.magnify {display: block; position: relative; overflow: hidden; line-height: 0;}

.gallery a.icon.magnify::before {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);  font-size: 40px; opacity: 0; z-index: 2; transition: all .2s ease-in-out;} 
.gallery a.icon.magnify:hover::before {font-size: 60px; opacity: .75;}

.gallery a.icon.magnify img {width: 100%; transition: transform .4s ease-in-out;}
.gallery a.icon.magnify:hover img {transform: scale(1.1);}





/* gallery homepage */

/* gallery 1 + 9 */
#gallery .flex-col,
#gallery .flex-col .col {margin: 0!important; line-height: 0;}

#gallery .flex-col .col.first-image .thumbnail {display: block; width: 100%; height: 0; padding-bottom: 100%; background-repeat: no-repeat!important; background-position: center center!important; background-size: cover!important;}

#gallery .flex-col .col.gallery {margin: 0; gap: 10px;} 
#gallery .flex-col .col.gallery .thumbnail {width: calc(1/3*100% - (1 - 1/3)*10px);}

@media screen and (max-width: 479px) {
  #gallery .flex-col .col.first-image {margin-bottom: 10px!important;}
}

@media screen and (min-width: 480px) {
  #gallery .flex-col {display: flex; flex-direction: row; flex-wrap: wrap; margin-left: 0!important;}   
  #gallery .flex-col .col {width: 50%;}
  #gallery .flex-col .col.gallery {padding-left: 40px!important;} 
}

@media screen and (min-width: 1200px) {
  #gallery .flex-col .col.first-image .thumbnail {height: 560px; padding-bottom: 0;}  	
}


/* gallery carousel */
#gallery .owl-carousel {width: 100%; margin-bottom: 60px; overflow: hidden;}	
#gallery .owl-carousel a.thumbnail {display: block; width: 100%; height: 0; padding-bottom: 90%; border: 4px solid #999; background-repeat: no-repeat!important; background-position: center center!important; background-size: cover!important;}

/* fix preload width */
#gallery .owl-carousel {display: flex; flex-direction: row; flex-wrap: wrap; column-gap: 20px;}
#gallery .owl-carousel .owl-item a.thumbnail {width: 100%;}

@media screen and (min-width: 1200px) {
  #gallery .owl-carousel {height: 183px;}
  #gallery .owl-carousel a.thumbnail {width: calc(1/6*100% - (1 - 1/6)*20px); height: 183px; padding-bottom: 0;} 
}


/* ************************* libary ************************* */

/* Fancybox 3.5.7 */
body.compensate-for-scrollbar {overflow: hidden;}
.fancybox-active {height: auto;}
.fancybox-is-hidden {position: absolute!important; left: -9999px; top: -9999px; margin: 0; visibility: hidden;}
.fancybox-container {position: fixed;  top: 0; left: 0; width: 100%; height: 100%; outline: none; z-index: 99992; -webkit-backface-visibility: hidden; -webkit-tap-highlight-color: transparent; -ms-touch-action: manipulation; touch-action: manipulation; -webkit-transform: translateZ(0); transform: translateZ(0);}
.fancybox-container * {box-sizing: border-box;}
.fancybox-container button.fancybox-button {background: none;}
.fancybox-outer, .fancybox-inner, .fancybox-bg, .fancybox-stage {position: absolute; bottom: 0; left: 0; right: 0; top: 0;}
.fancybox-outer {-webkit-overflow-scrolling: touch; overflow-y: auto;}
.fancybox-bg {width: 100%!important; height: 100%!important; background: #1e1e1e; opacity: 0; transition-duration: inherit; transition-property: opacity; transition-timing-function: cubic-bezier(.47,0,.74,.71);}
.fancybox-is-open .fancybox-bg {opacity: .9; transition-timing-function: cubic-bezier(.22,.61,.36,1);}
.fancybox-infobar, .fancybox-toolbar, .fancybox-caption, .fancybox-navigation .fancybox-button {position: absolute; direction: ltr; opacity: 0; transition: opacity .25s, visibility 0s linear .25s; visibility: hidden; z-index: 99997;}
.fancybox-show-infobar .fancybox-infobar, .fancybox-show-toolbar .fancybox-toolbar, .fancybox-show-caption .fancybox-caption, .fancybox-show-nav .fancybox-navigation .fancybox-button {opacity: 1; transition: opacity .25s ease 0s, visibility 0s ease 0s; visibility: visible;}
.fancybox-infobar {top: 0; left: 0; color: #ccc; font-size: 13px; height: 44px; line-height: 44px; min-width: 44px;  padding: 0 10px; pointer-events: none;  mix-blend-mode: difference; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; -webkit-font-smoothing: subpixel-antialiased;}
.fancybox-toolbar {right: 0; top: 0;}
.fancybox-stage {direction: ltr; overflow: visible; transform: translateZ(0); z-index: 99994;}
.fancybox-is-open .fancybox-stage {overflow: hidden;}
.fancybox-slide {position: absolute; top: 0; left: 0; display: none; width: 100%; height: 100%; outline: none;padding: 44px; text-align: center;  overflow: auto; white-space: normal;  z-index: 99994; transition-property: transform, opacity; -webkit-backface-visibility: hidden; -webkit-overflow-scrolling: touch;}
.fancybox-slide::before {display: inline-block; content: ""; width: 0; height: 100%; margin-right: -.25em; vertical-align: middle;}
.fancybox-is-sliding .fancybox-slide, .fancybox-slide--previous, .fancybox-slide--current, .fancybox-slide--next {display: block;}
.fancybox-slide--image {overflow: hidden; padding: 44px 0;}
.fancybox-slide--image::before {display: none;}
.fancybox-slide--html {padding: 6px;}
.fancybox-content {position: relative; display: inline-block; max-width: 100%; margin: 0; padding: 44px; text-align: left; vertical-align: middle; background: #fff; overflow: auto; -webkit-overflow-scrolling: touch;}
.fancybox-slide--image .fancybox-content {position: absolute;  top: 0; left: 0; padding: 0; background: transparent; background-repeat: no-repeat; background-size: 100% 100%; max-width: none; transform-origin: top left; transition-property: opacity, opacity; animation-timing-function: cubic-bezier(.5,0,.14,1); -webkit-backface-visibility: hidden; -webkit-user-select: none; user-select: none; overflow: visible; z-index: 99995;}
.fancybox-can-zoomOut .fancybox-content {cursor: zoom-out;}
.fancybox-can-zoomIn .fancybox-content {cursor: zoom-in;}
.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {cursor: grab;}
.fancybox-is-grabbing .fancybox-content {cursor: grabbing;}
.fancybox-container [data-selectable='true'] {cursor: text;}
.fancybox-image,
.fancybox-spaceball {background: transparent; border: 0; height: 100%; left: 0; margin: 0; max-height: none; max-width: none; padding: 0; position: absolute; top: 0; -webkit-user-select: none; user-select: none; width: 100%;}
.fancybox-spaceball {z-index: 1;}
.fancybox-slide--video .fancybox-content, .fancybox-slide--map .fancybox-content, .fancybox-slide--pdf .fancybox-content, .fancybox-slide--iframe .fancybox-content {width: 100%; height: 100%; padding: 0; overflow: visible;}
.fancybox-slide--video .fancybox-content {background: #000;}
.fancybox-slide--map .fancybox-content {background: #e5e3df;}
.fancybox-slide--iframe .fancybox-content {height: calc(100% - 44px); margin-bottom: 44px; padding: 5px; background: #fff;}
.fancybox-video, .fancybox-iframe {width: 100%; height: 100%; border: 0; margin: 0; padding: 0; background: transparent; overflow: hidden; }
.fancybox-iframe {vertical-align: top;}
.fancybox-error {background: #fff; cursor: default; max-width: 400px; padding: 40px; width: 100%;}
.fancybox-error p {color: #444; font-size: 16px; line-height: 20px; margin: 0; padding: 0;}
.fancybox-button {background: rgba(30,30,30,.6); border: 0; border-radius: 0; box-shadow: none; cursor: pointer; display: inline-block; height: 44px; margin: 0; padding: 10px; position: relative; transition: color .2s; vertical-align: top; visibility: inherit; width: 44px;}
.fancybox-button, .fancybox-button:visited, .fancybox-button:link {color: #ccc;}
.fancybox-button:hover {color: #fff;}
.fancybox-slide--html .fancybox-button:hover {color: #999;}
.fancybox-button:focus {outline: none;}
.fancybox-button.fancybox-focus {outline: 1px dotted;}
.fancybox-button[disabled], .fancybox-button[disabled]:hover {color: #888; cursor: default; outline: none;}
.fancybox-button div {height: 100%;}
.fancybox-button svg {display: block; height: 100%; overflow: visible; position: relative; width: 100%;}
.fancybox-button svg path {fill: currentColor; stroke-width: 0;}
.fancybox-button--play svg:nth-child(2), .fancybox-button--fsenter svg:nth-child(2), .fancybox-button--pause svg:nth-child(1), .fancybox-button--fsexit svg:nth-child(1) {display: none;}
.fancybox-progress {background: #ff5268; height: 2px; left: 0; position: absolute; right: 0; top: 0; transform: scaleX(0); transform-origin: 0; transition-property: transform; transition-timing-function: linear; z-index: 99998;}
.fancybox-close-small {position: absolute; right: 0; top: 0; border: 0; width: 40px; height: 40px; background: transparent; cursor: pointer;  margin: 0; padding: 6px;  z-index: 401; border-radius: 0;}
.fancybox-close-small:hover {opacity: .75;}
.fancybox-slide--image .fancybox-close-small, .fancybox-slide--video .fancybox-close-small, .fancybox-slide--iframe .fancybox-close-small {color: #ccc!important; padding: 5px; right: -12px; top: -44px;}
.fancybox-slide--image.fancybox-is-scaling .fancybox-content {overflow: hidden;}
.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {display: none;}
.fancybox-navigation .fancybox-button {position: absolute; top: calc(50% - 50px); width: 70px; height: 100px; background: #262626; background-clip: content-box; opacity: 0;}
.fancybox-navigation .fancybox-button div {padding: 7px;}
.fancybox-navigation .fancybox-button--arrow_left {left: 0; padding: 31px 26px 31px 6px;}
.fancybox-navigation .fancybox-button--arrow_right {padding: 31px 6px 31px 26px; right: 0;}
.fancybox-caption {left: 0; right: 0; bottom: 100px; color: #fff; text-align: left; font-size: 14px; font-weight: normal; padding: 20px; line-height: 1.3;}
@media all and (max-height: 576px) {@supports (padding: max(0px)) {.fancybox-caption {padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right));}}}
.fancybox-caption a, .fancybox-caption a:link, .fancybox-caption a:visited {color: #ccc; text-decoration: none;}
.fancybox-caption a:hover {color: #fff; text-decoration: underline;}
.fancybox-loading {top: 0; right: 0; bottom: 0; left: 0; opacity: .8;}
@keyframes fancybox-rotate {100% {transform: rotate(360deg);}}
.fancybox-animated {transition-timing-function: cubic-bezier(0,0,.25,1);}
.fancybox-fx-fade.fancybox-slide--previous, .fancybox-fx-fade.fancybox-slide--next {opacity: 0; transition-timing-function: cubic-bezier(.19,1,.22,1);}
.fancybox-fx-fade.fancybox-slide--current {opacity: 1;}
.fancybox-thumbs {background: rgba(0,0,0,.3); display: none; margin: 0; padding: 2px 2px 4px 2px; position: absolute; bottom: 0; left: 0; right: 0; width: auto; z-index: 99995; -webkit-tap-highlight-color: transparent; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar;}
.fancybox-show-thumbs .fancybox-thumbs {display: block;}
.fancybox-thumbs__list {position: relative; width: 100%; height: 100%; margin: auto; padding: 0; font-size: 0; white-space: nowrap; list-style: none; overflow: hidden;}
.fancybox-thumbs-x {overflow-x: auto; overflow-y: hidden;}
.fancybox-thumbs__list a {position: relative; float: left; width: 100px; height: 75px; margin: 3px; outline: none; overflow: hidden; padding: 0; background-position: center center; background-repeat: no-repeat; background-size: cover; cursor: pointer; -webkit-tap-highlight-color: transparent;  -webkit-backface-visibility: hidden; backface-visibility: hidden;}
.fancybox-thumbs__list a::before {border: 3px solid rgba(255,255,255,.8); z-index: 99991;}
.fancybox-thumbs__list a:focus::before {opacity: .5;}
.fancybox-thumbs__list a::after {position: absolute; inset: 0; content: ""; background-color: rgba(255,255,255,.25);}
.fancybox-thumbs__list a:hover::after {opacity: 1;}
.fancybox-thumbs__list a::before, .fancybox-thumbs__list a::after {position: absolute; inset: 0; content: ""; opacity: 0; transition: all .2s ease-in;}
.fancybox-thumbs__list a.fancybox-thumbs-active::before {opacity: 1;}

@media screen and (max-width: 479px) {
  .fancybox-toolbar > *:not(.fancybox-button--close) {display: none!important;}
}

/* iframe */
.fancybox-slide--iframe .fancybox-content,	
.fancybox-slide--html .fancybox-content {width: 100%;}

@media screen and (max-width: 767px) {
  .fancybox-thumbs__list a {width: 80px; height: 60px;}
}

@media screen and (min-width: 768px) {
  .fancybox-slide--iframe .fancybox-content,	
  .fancybox-slide--html .fancybox-content {max-width: 60%;}
}




/* Owl Carousel 2.3.4 */
.owl-carousel,
.owl-carousel .owl-stage,
.owl-carousel .owl-item {position: relative;}

.owl-carousel .owl-stage-outer {width: 100%; overflow: hidden;}
.owl-carousel .owl-item {float: left; overflow: hidden;}

.owl-carousel.owl-grab,
.owl-carousel.owl-grab a {cursor: move; cursor: grab;}

.owl-drag .owl-item {-webkit-user-select: none; user-select: none;}

.owl-carousel button span {display: none;}


/* section owl-nav */
.owl-carousel button.owl-prev::before {content: "\f104";} 
.owl-carousel button.owl-next::before {content: "\f105";}

.owl-carousel.carousel-section .owl-nav {position: absolute; top: -45px; right: 0;}
.owl-carousel.carousel-section .owl-nav > button.owl-prev {margin-right: 5px}

.owl-carousel.carousel-section .owl-nav > button {display: inline-block; width: 24px; height: 24px; line-height: 23px; text-align: center; border: 1px solid #e5e5e5; cursor: pointer; transition: background-color .2s ease-in-out;}

.owl-carousel button.disabled {opacity: .4; pointer-events: none;}


/* slideshow owl-nav (#gallery) */
.owl-carousel.slideshow-nav .owl-nav {top: 0; bottom: 0;}
.owl-carousel.slideshow-nav .owl-nav > button {display: flex; align-items: center; position: absolute; top: 0; bottom: 0; border: 0; width: 70px; background: transparent;}
.owl-carousel.slideshow-nav .owl-nav > button.owl-prev {left: 0;}
.owl-carousel.slideshow-nav .owl-nav > button.owl-next {right: 0;}
.owl-carousel.slideshow-nav .owl-nav > button::before {width: 100%; font-size: 56px; font-weight: 300; text-shadow: 0 0 10px #000;}


/* owl-dots */
.owl-carousel .owl-dots {position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2;}
.owl-carousel .owl-dots {text-align: center;}
.owl-carousel .owl-dots button.owl-dot {position: relative; display: inline-block; width: 14px; height: 14px; margin: 5px; border: 1px solid #fff; box-shadow: 0 0 5px #000; border-radius: 0;}
.owl-carousel .owl-dots button.owl-dot span {display: none;}
.owl-carousel .owl-dots .owl-dot::before {content: ""; width: 100%; height: 0; position: absolute; left: 0; bottom: 0; transition: .4s ease-in;}
.owl-carousel .owl-dots .owl-dot.active::before {height: 100%; top: auto; bottom: 0;}

.owl-carousel .owl-dots button.owl-dot,
.owl-carousel button.owl-prev, .owl-carousel button.owl-next {padding: 0!important; background: none; overflow: hidden; cursor: pointer; box-sizing: border-box;}

/* carousel crossfade */
.owl-carousel .animated {animation-duration: 1000ms; animation-fill-mode: both;}
.owl-carousel .owl-animated-in {z-index: 0;}
.owl-carousel .owl-animated-out {z-index: 1;}
.owl-carousel .fadeOut {animation-name: fadeOut;}
@keyframes fadeOut {0% {opacity: 1;} 100% {opacity: 0;}}




/* GDPR */
#gdpr {padding-top: 1em;}
#gdpr .ico.lock::before {font-size: 18px; content: "\f023"; font-weight: bold;}
#gdpr a {font-weight: bold;}

.seolink {margin-left: 1em; font-size: 60%; text-decoration: none;}
.seolink, .seolink a {color: #c2c2c2!important;}