* { padding: 0; margin: 0; }
body { }
:root { --main-color: #000; --main-green: #a2c037; --main-blue-hover: #007bb0; --highlight: #a2c037;--highlight-hover: #91b026; --grey: #444; --max-width: 700px; }

/******************************************************************************/

input, textarea, select { padding: 4px 5px; }
select option[disabled="disabled"] { color: #990033; }
fieldset { background: rgba(230, 230, 230, 0.25); border: 1px solid #dedede; border-radius: 5px; float: left; margin-right: 10px; padding: 5px 10px; }
fieldset legend .fa { color: #aaa; padding: 0 2px; }
fieldset legend .fa:hover { color: #444; }

.input { padding: 7px; width: calc(100% - 16px); }
.select { padding: 7px; width: 100%; }
.submit { padding: 10px; width: 100%; }

.responsive-design { font-size: 1em; }

/******************************************************************************/

.ui-widget, .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: poppins; font-size: 1em; }
.custom-combobox-toggle { margin: -2px 0 0 1px; padding: 8px 2px 8px 1px; }

a[href^="tel"] { color: inherit; text-decoration: none; }
a[x-apple-data-detectors] { color: inherit !important; text-decoration: none !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !important; line-height: inherit !important; }

/******************************************************************************/

.highlight { color: var(--main-green); }
.nu { text-decoration: none; }
.nu:hover { text-decoration: underline; }
.un { text-decoration: underline; }
.un:hover { text-decoration: none; }
.nn { text-decoration: none; }
.nn:hover { text-decoration: none; }
.nc { text-decoration: none; }
.nc:hover { color: #eb2332; color: #1aa9e6; }
.ui-tooltip { background: #444; border: 0; border-radius: 2px; box-shadow: none; color: #fff; font-family: oswald; font-size: 12px; }
.hidden { display: none; }
.clear { clear: both; }
.text-shadow { text-shadow: 1px 2px 3px #222; }
.center { text-align: center; }
.uppercase { text-transform: uppercase; }
.go-back { display: inline-block; margin-top: 3em; text-transform: lowercase; }

/******************************************************************************/
/* tlačítka */

input[type="submit"], .submit, .button, .button-color { background: var(--highlight); border: 0; color: #000; cursor: pointer; display: inline-block; font-weight: 600; padding: 8px 25px; text-decoration: none; }
input[type="submit"]:hover, .submit:hover, .button:hover, .button-color:hover { background: var(--highlight-hover); }

input.button-color, .button-color { background: #eb2332; color: #fff; }
input.button-color:hover, .button-color:hover { background: #fc3443; }

/******************************************************************************/
/* hlášky */

.msg-ok { background: #0a0; color: #fff; margin-bottom: 1em; padding: 5px 15px; }
.msg-error { background: #c00; color: #fff; margin-bottom: 1em; padding: 5px 15px; }
.msg-ok a, .msg-error a { color: #fff; }

/******************************************************************************/
/* blok */

.wrap1 { clear: both; float: left; position: relative; width: 100%; }
.wrap2 { margin: 0 auto; position: relative; max-width: 1720px; width: 100%; }
.content { float: left; padding: 50px 0; position: relative; width: 100%; }

.width0 .wrap2 {}
.width1 .wrap2 { max-width: 1200px; }
.width2 .wrap2 { max-width: 1200px; }
.width2 .wrap2 .content { max-width: var(--max-width); }

/******************************************************************************/
/* obsah: levá + pravá strana */

.content-left { display: inline-block; vertical-align: top; margin-right: 30px; max-width: var(--max-width); width: calc(100% - 330px); }
.content-right { display: inline-block; float: right; vertical-align: top; position: relative; width: 300px; }

/******************************************************************************/
/* plášť hlavičky */

#wrap-head { position: relative; z-index: 9; }

/******************************************************************************/
/* jazyky */

#lang { }
#lang .content { font-size: .85em; padding: 5px 0 0 0; text-align: right; }

.lang { display: inline-block; line-height: 1em; text-transform: uppercase; color: var(--highlight); }
.lang:hover, .lang.active { color: #000; }
#lang .separator { color: var(--highlight); display: inline-block; margin: 0 10px; }

/******************************************************************************/
/* hlavička */

#head { margin-bottom: 30px; }
#head .content { padding: 0;}
#head .content { height: 45px; display: flex; justify-content: space-between; }
#head .wrap2 .content { height: 60px; display: flex; justify-content: space-between; }
.head-container { flex: 1; display: flex; align-items: flex-start; justify-content: space-between; }

#head #upper-head .content { justify-content: flex-end; gap: 75px; }

#upper-head { display: inline-block; width: 100%; text-align: right; color: var(--main-color); font-size: 14px; }
#upper-head img { position: relative; top: -7px; padding-right: 7px; width: 20px;}

#header-email, #header-telephone, #header-button { width: auto; display: inline-block; position: relative; top: 20px; }
#header-email a, #header-telephone a { text-decoration: none; color: var(--main-color); }
#header-email a:hover, #header-telephone a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: black; }
#header-button { line-height: 1.25em; top: 17px; }

/*****************************************************************************/
/* vyhledávání */

#wrap-search { position: relative; width: fit-content; display: inline-block; top: 20px; }
#search { width: 180px; padding: 6px 10px; border: 1px solid #ccc; font-size: 12px; color: var(--grey); }
#wrap-search button { position: absolute; top: 22px; right: 4px; transform: translateY(-50%); background: none; border: none; padding: 0; cursor: pointer; }
#wrap-search button img { width: 20px; height: 20px; }

/* vyhledávání pro mobilní verzi */
#wrap-search-mobile { position: relative; width: fit-content; display: inline-block; }
#search-mobile { width: 180px; padding: 6px 10px; border: 1px solid #ccc; font-size: 12px; color: var(--grey); }
#wrap-search-mobile button { position: absolute; top: 50%; right: 4px; transform: translateY(-50%); background: none; border: none; padding: 0; cursor: pointer; }
#wrap-search-mobile button img { width: 20px; height: 20px; }

/******************************************************************************/
/* logo */

#logo { display: inline-block; ; text-decoration: none; background-color: rgb(255, 255, 255, 0.85); padding: 0; }
#logo img { margin: auto 0; position: relative; top: -18px; height: 63px; width: auto; }

/******************************************************************************/
/* menu */

#menu { font-size: 18px; display: inline-block; padding: 0; float: right; z-index: 100; }
#menu li { display: inline-block; list-style: none; margin: 0 0 0 30px; position: relative; }
#menu li:last-of-type { margin-right: 0; }
#menu li::before { content: ""; display: none; }
#menu li a { display: block; line-height: 1.5em; padding: 3px 0; text-align: center; text-decoration: none; }
#menu li a:hover, #menu li a.active { text-decoration: underline 1px solid #000 }
#menu li.icon { display: none; color: var(--main-color); }
#menu a { font-size: 18px; color: var(--main-color); text-decoration: none; }
.menu-container { display: inline-block; width: auto; float: right; margin: 0; padding: 0; position: relative; top: 30%;}

.active #menu-border { position: absolute; bottom: 0; left: 25%; right: 25%; border-bottom: 2px solid var(--active);transform: translateY(2px); }

/******************************************************************************/
/* submenu */

#menu li ul { background: rgba(255, 255, 255, 0.95); margin: 0; padding: 0; position: absolute; visibility: hidden; z-index: 3; width: auto; display: block; left: -20px;box-shadow: 1px 1px 2px 0 #0000002e; min-width:200px;}
#menu li ul li { display: block; float: none; margin: 0; width: auto; }
#menu li ul:hover {  }
#menu li.active ul:hover { border-top: 0; }
#menu li ul li a { color: var(--main-color); display: block; padding: 10px 20px 10px 20px; text-align: left; }
#menu li ul li a:link, .menu li ul li a:visited { width: auto; }
#menu li ul li a:hover, #menu li ul li a.active { background: none; border-bottom: 0; color: #000; }
#submenu li:nth-last-child(2), #submenu li:nth-last-child(3)  { float: none; }
#menu li ul li:first-child { padding-top: 10px; }

/******************************************************************************/
/* obsah */

#homepage #content { display: none; }
#subpage #content .content { min-height: 500px; padding-top: 0; }

/******************************************************************************/
/* drobečková navigace */

#breadcrumbs { margin-bottom: 1em; }

/******************************************************************************/
/* submenu */

#submenu li a { font-weight: bold; text-decoration: none; }
#submenu li a:hover, #submenu li a.active { color: var(--highlight); transition: background .5s; }
#submenu li.icon { display: none; font-weight: 900; }

/******************************************************************************/
/* aktuality */

.news { background: #f7f7f7; border-right: 3px solid #eee; display: inline-block; margin-bottom: 30px; max-width: 320px; vertical-align: top; }
.news:hover { border-right: 3px solid #ddd; }
.news-image {}
.news-content { padding: 1em 20px; }
.news-perex { color: var(--main-green); font-weight: 400; text-transform: uppercase; }
.news-title { color: #1c1c1c; font-size: 22px; font-weight: 600; margin-bottom: 0.5em; color: #000; text-decoration: none; font-family: Roboto Slab; line-height: 1.25em; }
.news-text { color: var(--grey); line-height: 1.35em; }

@keyframes pulseShadow {
  0%, 100% {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  }
  50% {
    box-shadow: 0 0 16px 8px rgba(235, 35, 50, 0.7);
  }
}

.fixed-order-button {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  appearance: none;

  background: #eb2332;
  color: #fff;
  padding: 8px 20px;
  font-weight: bold;
  transition: opacity 0.3s ease;

  animation: pulseShadow 2s ease-in-out infinite;
  will-change: box-shadow;
}

/******************************************************************************/
/* aktuality */

#news { background-color: #f0f0f0; }

.news-message { width: 22%; margin-bottom: 30px; box-sizing: border-box; display: flex; flex-direction: column; flex-grow: 1; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); transition: box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out; }
.news-message:hover { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); transform: scale(1.02); }
.news-message.fade-in { opacity: 0; animation: fadeIn 0.5s ease-in forwards; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.news-message-content { border: 1px solid #ddd; background-color: #fff; }
.news-message-text-content { padding: 10px 25px; }
.circular-image { width: 100%; height: auto; display: block; margin-bottom: 10px; }
.news-message-perex { color: var(--main-green); font-weight: 400; text-transform: uppercase; }
.news-message-title { color: #1c1c1c; font-size: 28px; font-weight: 600; margin-bottom: .5em; color: #000; text-decoration: none; font-family: Roboto Slab; line-height: 1.25em; }
.news-message-title a { text-decoration: none; color: #000; }
.news-message-title a:hover { text-decoration: none; }
.news-message-text { font-size: 16px; color: var(--grey); margin-bottom: 5px; line-height: 1.35em; }
.page-load-status { text-align: center; padding: 20px 0; }
.page-load-status .loading { display: none; }
.loading-spinner { display: flex; justify-content: space-between; align-items: center; width: 100px; height: 20px; position: relative; left: 50%; transform: translateX(-50%); }
.loading-spinner .circle { width: 15px; height: 15px; border-radius: 50%; background-color: var(--grey); position: absolute; animation: move 1s linear infinite; }
.loading-spinner .circle:nth-child(1) { left: 0; animation-delay: 0s; }
.loading-spinner .circle:nth-child(2) { left: 30px; animation-delay: 0.33s; }
.loading-spinner .circle:nth-child(3) { left: 60px; animation-delay: 0.66s; }
@keyframes move { 0%, 100% { background-color: var(--grey); } 50% { background-color: var(--main-green); } }
.no-text { margin-bottom: 5px; }

.news-grid {display: block;width: 100%;margin: 0 auto;position: relative;}
.grid-sizer, .news-message {width: 19.2%;}
.gutter-sizer:first-of-type {display:none;}
.gutter-sizer {width: 1%;}
.news-message {margin-bottom: 30px;box-sizing: border-box;display: flex;flex-direction: column;flex-grow: 1;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);transition: box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out;}

.hashtag { color: var(--highlight); font-weight: bold; margin: 1em 0 0 0; }

/******************************************************************************/
/* vyhledávání */

.search-news-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.search-news-grid a { text-decoration: none }
.search-news-message { width: 100%; margin-bottom: 0; box-sizing: border-box; display: flex; flex-direction: column; flex-grow: 1; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); transition: box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out; }
.search-news-message:hover { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); transform: scale(1.02); }
.search-news-message-content { border: 1px solid #ddd; background-color: #fff; }
.search-news-message-text-content { padding: 10px 25px; }
.search-circular-image { width: 100%; height: auto; display: block; margin-bottom: 10px; }
.search-news-message-perex { color: var(--main-green); font-weight: 400; text-transform: uppercase; }
.search-news-message-title { font-size: 22px; font-weight: 800; margin-bottom: .5em; color: #000; text-decoration: none; font-family: Roboto Slab; line-height: 1.25em; }
.search-news-message-title a { text-decoration: none; color: #000; }
.search-news-message-title a:hover { text-decoration: none; }
.search-news-message-text { font-size: 16px; color: var(--grey); margin-bottom: 5px; line-height: 1.35em; }
.search-no-text { margin-bottom: 5px; }

.search-container {
    position: relative;
    display: flex;
    align-items: center;
}

#search, #search-mobile {flex-grow: 1;}

#wrap-search #reset-search, #wrap-search-mobile #reset-search-mobile {background: none;border: none;cursor: pointer;color: #000;position: absolute;left: 205px;top: 13px;width: 24px;height: 24px;justify-content: center;align-items: center;display:none;}

#reset-search .fas, #reset-search-mobile .fas {font-size: 24px;}

/******************************************************************************/
/* proč spolupracovat s námi? / o nás */

#why-us, #about-us { background-color: #f0f0f0;}
#why-us .content, #about-us .content {display: flex;justify-content: center;}

.why-us-text-container {width: 600px;text-align: left; color: #000; line-height: 1.65em}
.why-us-title { font-size: 34px; font-family: "Roboto Slab", serif; font-weight: 800; margin-bottom: 20px;  }

.about-us-container {display: flex;flex-wrap: wrap;justify-content: space-around;width: 75%;}
.about-us-stat {text-align: center;margin: 20px;min-width: 125px;flex: 1 1 200px;}
.about-us-number { color: var(--grey); display: block; margin-bottom: 0.25em; font-family: "Roboto Slab", serif; font-size: 34px; font-weight: bold; }
.about-us-description {display: block;font-size: 1em;color: #000;}
.about-us-divider {border-left: 1px solid #C5C5C5;height: 100px;align-self: center;margin: 0;}

/******************************************************************************/
/* postpress podstránka */

.service-container { box-sizing: border-box; padding: 0; width: calc(33.33% - 9px); float: left; background-color: #f0f0f0; height: auto; position: relative; display: flex; flex-direction: column; justify-content: flex-start; }
.service-text-container { padding: 0 40px; flex-grow: 1; display: flex; flex-direction: column; }
.service-title h1 { font-size: 1.5em; margin: 40px 0 20px 0; }
.service-text { font-size: 1em; margin: 10px 0; flex-grow: 1; }
.service-detail-link { display: inline-block; margin-top: auto; background-color: var(--main-green); color: white; text-decoration: none; position: relative; bottom: 0; width: 200px; padding: 5px 0; margin-bottom: 40px; text-align: center; }
.service-detail-link:hover { background-color: #81992C; }
.services-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; width: 1200px; margin: 0 auto; gap: 13px; }
.service-image { display: block; width: 100%; height: 200px; object-fit: cover; }
.service-no-image { display: none; }

.postpress-header-container { padding-bottom: 50px; width: 100%; position: relative; }
.postpress-header-container img {  width: 100%; }
.postpress-header-text { position: absolute; top: 40px; width: 42%; padding: 32px 40px; color: #fff; background-color: hsl(210deg 10% 20% / 75%); }
.postpress-header-detail-link { padding: 5px 50px; background-color: var(--main-green); color: white; text-decoration: none; position: absolute; bottom: -34%; left: 65%; min-width: 105px;}
.postpress-header-detail-link:hover { background-color: #81992C; }

/******************************************************************************/
/* postpress podstránka - služba */

.postpress-wrap1 { clear: both;float: left;position: relative;width: 100%; background-color: #F0F0F0; }
#postpress-content .content { padding: 0; width: 1720px; }

.postpress-parent-page-wrap { justify-content: flex-start; margin-top: 80px; }
.postpress-parent-container { background-color: #fff; width: 70%; margin-right: 1.5%; float: left; height: auto;  }
.postpress-parent-container #breadcrumbs { padding: 20px; margin-bottom: 0;}
.postpress-text, .postpress-text-lower { padding: 0 20px 20px 20px;}

.postpress-content-wrap { box-shadow: 0 0 16px rgba(0, 0, 0, 0.1); }

.new-post-block { background-color: #fff; width: 28.5%; float: left; height: auto; }
.postpress-parent-container, .new-post-block {box-sizing: border-box;}

.slider-wrapper {padding: 20px 20px 0;box-sizing: border-box;background-color: #DDE1E2;}
.postpress-slider .slick-track {display: flex;gap: 7.5px;background-color: #DDE1E2;box-sizing: border-box;}
.postpress-slider .slick-slide {width: auto !important;flex: 0 0 auto;margin-left: 0;margin-right: 10px;}
.postpress-slider .slick-slide img {height: 290px;width: auto;object-fit: cover;display: block;margin: 0 auto;}
.postpress-slider .slick-list {padding: 0;overflow: hidden;box-sizing: border-box;}
.postpress-slider .slick-dotted.slick-slider {margin: 0;}
.postpress-slider { height: 100%; object-fit: cover; }
.slick-dots {display: flex;justify-content: center;align-items: center;margin: 0 auto;padding: 0;list-style: none;gap: 5px;position: relative;left: 50%;bottom: -40px;transform: translateX(-50%);}
.slick-dots li {margin: 0;}
.slick-dots li button {background-color: #a2c037;border: none;width: 8px;height: 8px;border-radius: 50%;padding: 0;cursor: pointer;}
.slick-dots li.slick-active button {background-color: #7a902a;}
.slick-dots-alt {display: none !important;}
.slick-dots-alt li {display: none !important;}
.slick-dots-alt li button {display: none !important;}
.slick-dots li::before {content: none;}
.slick-dots li::after {content: none;}
.slick-dots li button::before {content: none;}
.slick-dots li button::after {content: none;}

.new-post-block {display: flex;flex-direction: column;gap: 20px; background-color: #F0F0F0; }
.latest-news-container {background-color: #fff;padding: 0 15px 15px 15px;display: flex;flex-direction: column;align-items: flex-start; margin-bottom: 20px; box-shadow: 0 0 16px rgba(0, 0, 0, 0.1);}
.latest-news-content {display: flex;flex-direction: column;align-items: flex-start;width: 100%;}
.latest-news-image {width: calc(100% + 30px);margin-left: -15px;margin-right: -15px;max-height: 200px;height: auto;object-fit: cover;}
.latest-news-text {display: flex;flex-direction: column;justify-content: center;width: calc(100% - 40px); padding: 20px; }
.latest-news-text .news-message-title {margin-bottom: 15px; }
.latest-news-text .news-message-text { color: #000; }
.new-post-block a {text-decoration: none;}
.new-post-block a:hover {text-decoration: none;}
.new-post-block-title { text-transform: uppercase; background-color: #fff; width: calc(100% - 20px); margin-bottom: -20px; text-align: center; padding: 20px 10px 5px 10px; box-shadow: 0 0 16px rgba(0, 0, 0, 0.1);}
.news-message-perex, .news-message-title, .news-message-text {text-decoration: none;}

/******************************************************************************/
/* kontaktní formulář */

#contact-form { background: #eee; }
#contact-form .content { }

.contact-form { }
.contact-form .h1 { margin-bottom: 50px; }
.contact-form label { display: block; font-size: .9em; margin-bottom: .5em; color: var(--grey); }
.contact-form input[type="text"], .contact-form input[type="number"], .contact-form textarea { background: #fff; border: 0; border-bottom: 1px solid #ccc; padding: 7px 10px; width: calc(100% - 20px); }
.contact-form textarea { height: 125px; resize: none; }
.contact-form select { border: none; padding: 3px 3%; width: calc(100% - 2px); }

.col { display: inline-block; margin: 0 0 .5em 0; vertical-align: top; width: 50%; }
.col:nth-child(even) { padding-right: 25px; width: calc(50% - 25px); }
.col:nth-child(odd) { padding-left: 25px; width: calc(50% - 25px); }
.col2 { margin: 0 0 1em 0; text-align: left; width: 100%; }

.wrap2 label { margin-bottom: 3px; }
.wrap2 .col:nth-child(even) { padding-right: 10px; width: calc(50% - 10px); }
.wrap2 .col:nth-child(odd) { padding-left: 10px; width: calc(50% - 10px); }

#subpage .why-us-text-container { margin-top: 50px; }
#subpage #about-us .content { padding-bottom: 0; }

/******************************************************************************/
/* fotografie */

#content .wrap-photo { margin: 1em 0; }
#content .photo { display: inline-block; margin: 5px 5px 5px 0; }
#content .photo img { height: 150px; vertical-align: top; width: auto; }

#content.width1 .photo img { height: auto; vertical-align: top; max-width: var(--max-width); width: 100%; }
/*
.width1 #content .wrap-photo.count1 .photo img { height: auto !important; max-width: var(--max-width); width: 100% !important; }
.width1 #content .wrap-photo.count2 .photo img { height: 300px !important; }
*/
/******************************************************************************/
/* hp:newsletter */

#newsletter { background: #fff; }
#newsletter .content { padding: 75px 0 100px 0; }

.newsletter .title { display: inline-block; font-size: 2em; font-weight: bold; font-family: Roboto Slab; vertical-align: middle; width: 550px; }
.newsletter .nl-email { background: transparent; border: 0; border-bottom: 1px solid #444; margin-right: 25px; width: calc(100% - 750px); }
.newsletter .nl-accept-gdpr { margin-top: 2em; }
.newsletter .nl-accept-gdpr label { margin-left: 8px; }
.newsletter .nl-submit { float:right; }

/******************************************************************************/
/* ochrana proti spamu */

.mapsitna { display: none; }

/******************************************************************************/
/* patička */

#foot { background: #2b3033; }
#foot .content { padding-bottom: 100px; }
#foot .content, #foot .content a { color: #fff; }

.foot-logo { display: inline-block; margin-bottom: 5em; vertical-align: top; width: 300px; }
.foot-text { display: inline-block; vertical-align: top; width: calc(100% - 300px); }

.foot-container { display: flex; flex: 1; flex-wrap: wrap; justify-content: space-between; }
.foot-container .fc-col { flex-direction: column; }
.foot-container ul { list-style: none; padding: 0; }

/*****************************************************************************/
/* tlačítka  */

.go-back { display: inline-block; margin-top: 1em; }
.go-back-span { text-decoration:underline;cursor:pointer; }
.go-back-span:hover { text-decoration: none!important; }
