/* 

// Created :: 2025-02-23
// Updated :: 2026-01-15

// // 2026-01-15 :: Drobná změna :: Vyčištění defaultní verze

*/

/* BODY */

* { margin: 0px; padding: 0px; }
body {  }

/* OBECNÉ PRVKY */

img { max-width: 100%; height: auto; }
img.uvod {  }

/* RESPO PRIPRAVA */

#menu_burger_btn { display: none; }

/* LAYOUT */

#content { padding: 0px 0px 0px 0px; }

/* OBECNÉ */

.breaker { clear: both; border: 0px; }

/* ERRORS */

div.error_box, div.success_box, div.info_box, div.warning_box
{ 
  padding: 40px 0px; box-sizing: border-box;
}

div.error_box ul { max-width: 800px; margin: 0px auto; }

/* LISTA */

.breadcrumb ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0px; list-style: none; margin: 0px; padding: 0px; }
.breadcrumb li { display: inline-flex; align-items: center; }
.breadcrumb li:not(:last-child)::after {
    content: "•";
    display: inline-block;
    padding: 0px 12px;
    transform: translateY(1px);
}
.breadcrumb a, .breadcrumb span { white-space: nowrap; }
.breadcrumb span[aria-current="page"] { opacity: 0.8; }
.breadcrumb_admin a { opacity: 0.6; }
.breadcrumb_admin a:hover { opacity: 1; }

/* NADPISY */

h1 { padding: 0px 0px 0px 0px; }

/* ZAHLAVI */

#zahlavi { padding: 25px 0px; box-sizing: }
#zahlavi .in { max-width: 97%; margin: 0 auto; }
#zahlavi .menu_wrap { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: nowrap; }

#zahlavi .logo { flex: 0 0 auto; padding: 0px 0px 0px 0px; }
#zahlavi .logo img { display: block; border: 0px; max-height: 54px; width: auto; vertical-align: middle; }

#zahlavi nav { display: flex; align-items: center; justify-content: flex-end; flex: 1 1 auto; min-width: 0; }

/* MENU */

#menu { margin-left: auto; }
#menu ul { display: flex; gap: 15px; list-style: none; margin: 0px; padding: 0px; align-items: center; justify-content: flex-end; flex-wrap: nowrap; }
#menu ul li { display: flex; align-items: center; }
#menu ul li.button { border-radius: 5px; } 
#menu ul li a { padding: 5px 10px; }

#menu ul li.button a { border-radius: 5px; padding: 11px 16px; transition: all 0.3s ease; }
#menu ul li.button a:hover {  }

/* MENU :: BURGER */

.nav_toggle { display: none; border: 0; padding: 8px; cursor: pointer; }
.nav_toggle_box { display: inline-block; }
.nav_toggle_bar { display: block; width: 24px; height: 2px; margin: 5px 0; transition: transform .2s, opacity .2s; }
.nav_toggle[aria-expanded="true"] .nav_toggle_bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav_toggle[aria-expanded="true"] .nav_toggle_bar:nth-child(2) { opacity: 0; }
.nav_toggle[aria-expanded="true"] .nav_toggle_bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav_drawer { position: fixed; inset: 0; z-index: 999; }
.nav_drawer[hidden] { display: none !important; }
.nav_drawer_inner { position: absolute; right: 0; top: 0; bottom: 0; width: min(86vw, 420px); padding: 18px 22px 40px; 
	box-shadow: -8px 0 24px rgba(0,0,0,.2); overflow-y: auto; transform: translateX(100%); transition: transform .25s ease; }
.nav_drawer.open .nav_drawer_inner { transform: translateX(0); }

.nav_close { border: 0; line-height: 1; position: absolute; right: 12px; top: 8px; cursor: pointer; }

.menu_all { list-style: none; margin: 60px 0 0; padding: 0; }
.menu_all li { }
.menu_all li a { display: block; padding: 14px 6px; }
.menu_all li a:hover { }

body.no_scroll { overflow: hidden; }

/* ZAHLAVI :: OBSAH */

.obsah.obsah_zahlavi { padding: 100px 50px; text-align: center; box-sizing: border-box; }

/* HEADER */

#header.header_hp { padding: 150px 100px 160px 100px; box-sizing: border-box; }
#header.header_hp span {  } 

/* HP :: SERVICES_MAIN */

#services_main { gap: 30px; padding: 0px 100px 0px 100px; display: flex; box-sizing: border-box; }
#services_main > .service_box { min-height: 300px; }

#services_main .service_box { flex: 1; display: flex; flex-direction: column; align-items: left; text-align: left; justify-content: flex-start; }
#services_main .service_box .icon { padding-bottom: 30px; }
#services_main .service_box h3 { padding-bottom: 15px; }
#services_main .service_box p { margin: 0; }

/* HP :: ABOUT US */

#aboutus_hp { padding: 0px 100px 100px 100px; box-sizing: border-box; }
#aboutus_hp .aboutus_wrap { gap: 100px; display: flex; align-items: flex-start; }

#aboutus_hp .aboutus_left img { max-width: 100%; height: auto; object-fit: cover; display: block; border-radius: 8px; }

#aboutus_hp .aboutus_right { padding-top: 200px; flex: 1; }
#aboutus_hp .aboutus_right label { margin-bottom: 20px; display: block; }
#aboutus_hp .aboutus_right h2 { margin: 0 0 30px 0px; }
#aboutus_hp .aboutus_right p { margin-bottom: 90px; }

#aboutus_hp .aboutus_stats { display: flex; gap: 80px; }
#aboutus_hp .aboutus_stats .stat_box { text-align: left; position: relative; }
#aboutus_hp .aboutus_stats .stat_box::before { content: ""; position: absolute; top: 0; left: 0; width: 50%; height: 1px; }
#aboutus_hp .aboutus_stats .stat_label { padding-top: 30px; }
#aboutus_hp .aboutus_stats .stat_number { padding-top: 30px; }

/* GALERIE */

/* Je vždy pod perexem - univerzální galerie mini */

.galerie_mini { gap: 0px; }
.galerie_mini { display: flex; flex-wrap: wrap; align-items: flex-start; }
.galerie_mini a { height: 100px; display: block; flex: 0 0 auto; }
.galerie_mini img { height: 100px; width: auto; display: block; object-fit: cover; }
.galerie_mini a:focus, .galerie_mini a:active, .galerie_mini a:focus-visible { outline: none; box-shadow: none; border: none; }
.galerie_mini img:focus, .galerie_mini img:active, .galerie_mini img:focus-visible { outline: none; box-shadow: none; border: none; }
.galerie_mini a.is-selected { outline: none !important; box-shadow: none !important; }

/* SLOUPEC */

/* CONTAINERS OBSAH UVOD */

.obsah img.uvod {  }

/* CONTAINERS VYPISY */

.obsah_vypis_box img { height: 100px; }
.obsah_vypis_box_hp img { height: 100px; }

/* CONTAINERS DETAILY */

/* PRVKY */

.prvky img.uvod { height: 100px; }
.prvek.prvek_hp_uvod {  }

/* OBSAH */

.obsah.obsah_uvod { padding: 100px 20px 120px 20px; box-sizing: border-box; }
.obsah.obsah_uvod img.uvod { border-radius: 15px; }

.obsah.obsah_uvod .tinymce { max-width: 800px; margin: 0px auto; }
.obsah.obsah_uvod #sitemap { max-width: 800px; margin: 0px auto; }

.obsah.obsah_uvod.blogmag .tinymce { max-width: 1100px; }
.obsah.obsah_uvod.blogmag .tinymce.perex { display: flex; align-items: center; gap: 90px; }
.obsah.obsah_uvod.blogmag .tinymce.perex img.uvod { flex: 0 0 auto; max-width: 420px; height: auto; }
.obsah.obsah_uvod.blogmag .tinymce.perex .perex_text { flex: 1 1 auto; }

.obsah.obsah_detail.blogmag { max-width: 850px; margin: 0px auto; padding: 80px 0px }

/* ARTICLES */

/* ARTICLES :: BLOG :: HP Intro */

.next_articles.blog { padding: 100px 100px 0px 100px; box-sizing: border-box; }
.next_articles:not(.blog_hp) { padding-bottom: 100px; }
.next_articles.blog_hp label { margin-bottom: 20px; display: block; }
.next_articles.blog_hp h2 { margin-bottom: 30px; }
.next_articles.blog_hp p { margin-bottom: 90px; max-width: 600px; }

/* ARTICLES :: BLOG :: LAYOUT */

.next_articles.blog .container { display: flex; flex-wrap: wrap; gap: 20px; width: 100%; box-sizing: border-box; justify-content: space-between; }
.next_articles.blog .vypis_box.blogmag { flex: 0 1 calc(33.333% - 13.34px); max-width: calc(33.333% - 13.34px); box-sizing: border-box; }
.next_articles.blog .blog_box { width: 100%; height: 100%; }
.next_articles.blog .blog_link { display: block; width: 100%; height: 100%; text-decoration: none; }
.next_articles.blog .blog_img { width: 100%; aspect-ratio: 3 / 4; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; overflow: hidden; border-radius: 8px; }
.next_articles.blog .blog_img .overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; box-sizing: border-box; }
.next_articles.blog .blog_img .overlay h3 { margin: 0px; }

/* JINE  */

/* 
#sitemap { margin: 0; padding: 0;  line-height: 125%; }
#sitemap ul { list-style: none; margin: 0; padding-left: 0em; }
#sitemap li { position: relative; margin: .25em 0; padding-left: 0em; }
#sitemap ul.sub { margin-top: .15em; padding-left: 1.1em; }
#sitemap ul > li { padding-left: .1em; }
*/

/* ARTICLES */

/* TINYMCE */

.tinymce p { padding: 0px 0px 30px 0px; }
.tinymce p:last-child { padding-bottom: 0px; }

.tinymce div.obrazek_wide { margin-bottom: 30px; padding-top: 10px; }
.tinymce div.obrazek_wide img { width: 100%; border-radius: 8px; }

.tinymce blockquote { margin-top: 10px; margin-bottom: 30px; border-radius: 8px; padding: 30px 30px 30px 90px; 
  margin-left: 0px; margin-right: 0px; box-sizing: border-box; }

.tinymce blockquote::before {
    content: "“"; position: absolute; top: 40px; left: 30px; line-height: 40px; width: 40px; height: 40px; text-align: center;
    pointer-events: none; /* aby to neblokovalo klikání na text */
}

.tinymce table.reference { width: 100%; margin-top: 30px; table-layout: auto; }
.tinymce table.reference td { padding: 0px 20px 10px 0px; }
.tinymce table.reference td:last-child { width: 1%; white-space: nowrap; }
.tinymce table.reference a { border-radius: 5px; padding: 9px 18px; transition: all 0.3s ease; }

.tinymce.text {  }
.tinymce.text p { padding-left: 50px; padding-right: 50px; padding-bottom: 20px; box-sizing: border-box; }
.tinymce.text h2 { padding: 20px 50px 30px 50px; box-sizing: border-box; }
.tinymce.text blockquote { position: relative; }
.tinymce.text blockquote p { margin-bottom: 0px; padding-bottom: 0px; }
.tinymce.text ul { margin-left: 66px; margin-bottom: 10px; padding-left: 0px; padding-right: 0px; box-sizing: border-box; }
.tinymce.text ul li { padding-left: 10px; margin-left: 0px; margin-bottom: 0px; }
.tinymce.text ul li p { padding-left: 0px; padding-left: 0px; margin: 0px; }

/* PATICKA */

#paticka { padding: 100px 0px 0px 0px; box-sizing: border-box; }
#paticka .paticka_wrap { display: flex; flex-wrap: wrap; gap: 0px; }
#paticka .paticka_left, #paticka .paticka_right { flex: 1 1 50%; box-sizing: border-box; }

#paticka .paticka_left { padding: 100px 100px 100px 100px; border-top-right-radius: 20px; display: flex; flex-direction: column; justify-content: center; }
#paticka .paticka_left label { padding-bottom: 20px; }
#paticka .paticka_left h2 { padding-bottom: 60px; }
#paticka .paticka_left a { border-radius: 5px; display: inline-block; padding: 22px 32px; width: fit-content; max-width: 100%; }

#paticka .paticka_right { padding: 190px 60px 30px 120px; display: flex; flex-direction: column; justify-content: space-between; }

#paticka .columns { display: flex; gap: 30px; }
#paticka .column { flex: 1 1 50%; }
#paticka .column h4 { padding-bottom: 50px; }
#paticka .column ul { margin: 0px 0px 90px 0px; list-style-type: none; }
#paticka .column ul li { padding-bottom: 30px; }

#paticka .copyright span:not(:first-child)::before { content: " • "; }

/* COPYRIGHT */

#copyright { padding: 0px 0px 0px 0px; box-sizing: border-box; }

#copyright span:not(:first-child)::before { content: " • "; }

/* TINYMCE */

/* SITEMAP */

div#sitemap ul.sub li {  }

/* FORM */

#form_control_point { display: none; }

fieldset#zajem { border: 0; padding: 0; margin: 0; }
fieldset#zajem .form_line { margin-bottom: 30px; }
fieldset#zajem .form_line label { display: none; }
.inputdiv, .inputdivokraj { width: 100%;}

fieldset#zajem input[type="text"], input[type="email"], input[type="tel"] {
  width: 100%; padding: 15px 18px; border-radius: 5px; box-sizing: border-box; }

button.btn { padding: 22px 32px; border-radius: 5px; cursor: pointer; transition: all 0.3s ease; }
button.btn:hover {  }

/* FORM :: PATIČKA  */

/* PROFIL */

#content_obsah_profil { width: 75%; float: right; }
#column_left_profil { width: 20%; float: left; }

/* HTML OBSAH :: FAV_SERVICES */

#fav_services { padding: 100px 100px; box-sizing: border-box; text-align: center; }
#fav_services label { margin-bottom: 20px; display: block; }
#fav_services h2 { margin-bottom: 30px; }
#fav_services p { margin-bottom: 90px; max-width: 600px; margin-left: auto; margin-right: auto; }

#fav_services .services_boxy { display: flex; flex-wrap: wrap; gap: 30px; justify-content: flex-start;  }
#fav_services .services_box { padding: 50px 30px; box-sizing: border-box; gap: 30px; flex: 1 1 calc(50% - 15px); display: flex; align-items: flex-start; text-align: left; border-radius: 8px; }

#fav_services .services_box .ikonka { width: 40px; height: 40px; padding: 0px 0px 0px 0px; flex-shrink: 0; }
#fav_services .services_box .ikonka { width: 40px; height: 40px; padding: 0px 0px 0px 0px; flex-shrink: 0; }

#fav_services .services_box h3 { margin-bottom: 20px; }

#fav_services .services_box .text ul { list-style-type: none; }
#fav_services .services_box .text ul li {  }

/* HTML :: ABOUT US */

#aboutus { padding: 0px 100px 0px 100px; box-sizing: border-box; }
#aboutus .aboutus_wrap { gap: 100px; display: flex; align-items: flex-start; }

#aboutus .aboutus_left img { max-width: 100%; height: auto; object-fit: cover; display: block; border-radius: 8px; }

#aboutus .aboutus_right { padding-top: 200px; flex: 1; }
#aboutus .aboutus_right label { margin-bottom: 20px; display: block; }
#aboutus .aboutus_right h2 { margin: 0 0 30px 0px; }
#aboutus .aboutus_right p { margin-bottom: 90px; }

#aboutus .aboutus_stats { display: flex; gap: 80px; }
#aboutus .aboutus_stats .stat_box { text-align: left; position: relative; }
#aboutus .aboutus_stats .stat_box::before { content: ""; position: absolute; top: 0; left: 0; width: 50%; height: 1px; }
#aboutus .aboutus_stats .stat_label { padding-top: 30px; }
#aboutus .aboutus_stats .stat_number { padding-top: 30px; }

/* HTML OBSAH :: Ceník */

#cenik_hlavni { padding: 100px 100px 100px 100px; box-sizing: border-box; text-align: center; }
#cenik_hlavni label { margin-bottom: 20px; display: block; }
#cenik_hlavni h2 { margin-bottom: 30px; }
#cenik_hlavni p { margin-bottom: 90px; }

#cenik_hlavni .cenik_boxy { display: flex; flex-wrap: wrap; gap: 30px; justify-content: center; }
#cenik_hlavni .cenik_box { padding: 60px 30px; flex: 1 1 calc(33.333% - 20px); border-radius: 8px;
  text-align: left; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; }
#cenik_hlavni .cenik_box h3 { margin-bottom: 30px;  align-self: center; }
#cenik_hlavni .cenik_cena { margin-bottom: 60px; align-self: center; }
#cenik_hlavni .cenik_box ul { list-style: none; padding: 0; margin: 0; }
#cenik_hlavni .cenik_box ul li { margin-bottom: 10px; padding-left: 25px; position: relative; }
#cenik_hlavni .cenik_box ul li::before { content: "✔"; position: absolute; left: 0; }

/* HTML OBSAH :: Služby */

#sluzby { padding: 100px 100px 100px 100px; }
#sluzby > .service_box { min-height: 300px; }

#sluzby .container { gap: 30px; display: flex; box-sizing: border-box; flex-wrap: wrap; }

#sluzby label { margin-bottom: 20px; display: block; }
#sluzby h2 { margin-bottom: 60px; }

#sluzby .sluzby_box {
  padding: 60px 40px;
  box-sizing: border-box;
  flex: 1 1 calc(33.333% - 20px); /* 3 sloupce minus část mezery */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  justify-content: flex-start;
  border-radius: 8px;
}
#sluzby .sluzby_box .icon { padding-bottom: 35px; }
#sluzby .sluzby_box .icon svg { width: 50px; height: 50px; }
#sluzby .sluzby_box h3 { padding-bottom: 20px; }
#sluzby .sluzby_box p { margin: 0; }

/* HTML OBSAH :: KONTAKTY */

#html_kontakty { padding: 100px 100px; box-sizing: border-box; text-align: center; }
#html_kontakty label { margin-bottom: 20px; display: block; }
#html_kontakty h2 {margin-bottom: 30px; }
#html_kontakty p { margin-bottom: 90px; max-width: 600px; margin-left: auto; margin-right: auto; }

#html_kontakty .kontakt_boxy { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 30px; }

#html_kontakty .kontakt_box { padding: 50px 30px; box-sizing: border-box; gap: 30px; flex: 1 1 calc(33.333% - 20px); display: flex; align-items: flex-start; text-align: left; border-radius: 8px; }
#html_kontakty .kontakt_box .ikonka { width: 40px; height: 40px; padding: 0px 0px 0px 0px; flex-shrink: 0; }
#html_kontakty .kontakt_box .text h3 { margin: 0px 0 30px 0; }
#html_kontakty .kontakt_box .text ul { list-style-type: none; padding-bottom: 0px; }
#html_kontakty .kontakt_box .text ul li { padding-bottom: 0px; }

/* HTML OBSAH :: KONTAKTY :: Zájem */

#html_kontakty_zajem { padding: 100px 100px 100px 100px; gap: 60px; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; }
#html_kontakty_zajem .container_obsah { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; flex: 0 0 48%; }
#html_kontakty_zajem .container_obrazek { flex: 1; display: flex; justify-content: center; align-items: center; box-sizing: border-box; }
#html_kontakty_zajem .container_obrazek img { max-width: 100%; height: auto; display: block; border-radius: 15px; }
#html_kontakty_zajem h3 { padding-bottom: 30px; }
#html_kontakty_zajem p { padding-bottom: 30px; }
#html_kontakty_zajem p:nth-child(3) { padding-bottom: 40px; }

/* SITEMAP */

#sitemap ul { list-style: none; padding-left: 0; margin: 0; }
#sitemap li { padding-left: 30px; margin-bottom: 15px; position: relative; }
#sitemap > ul > li::before { content: "—"; position: absolute; left: 0; }
#sitemap li li::before { content: none; }
#sitemap > ul > li {  }
#sitemap li li:first-child { padding-top: 15px; }
