/* 

// Created :: 2025-02-23
// Updated :: 2025-08-04

*/

/* BODY */

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

/* OBECNÉ PRVKY */

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

/* RESPO PRIPRAVA */

#menu_burger_btn { display: none; }

/* LAYOUT */

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

.container_standard { max-width: 1000px; margin: 0px auto; padding: 100px 100px 100px 100px; box-sizing: border-box; }

/* OBECNÉ */

.breaker { clear: both; border: 0px; }
/* .space_down { padding-bottom: 80px important!; }

/* ERRORS */

.error_box { margin: 30px auto; padding: 20px; box-sizing: border-box; }
.error_box ul { padding: 30px; max-width: 1000px; margin: 0 auto; box-sizing: border-box; border-radius: 8px; }
.error_box li { list-style-type: none; }

/* LISTA */

.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; padding: 0px 0px 0px 0px; }
.dot-separator { display: inline-block; transform: translateY(1px); user-select: none; padding: 0px 15px; }

/* NADPISY */

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

/* ZAHLAVI */

#zahlavi { padding: 5px 20px 0px 20px; box-sizing: border-box; }
#zahlavi .menu_wrap { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }

#zahlavi .logo { padding: 0px 0px 0px 0px; }
#zahlavi .logo img { vertical-align: middle; display: block; border: 0px; }

/* MENU */

#menu ul { display: flex; gap: 15px; list-style: none; margin: 25px 0 0 0; padding: 0; align-items: center; }
#menu ul li { display: flex; align-items: center; }
#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 {  }

/* HEADER */

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

/* HEADER :: SUB */

#header_zahlavi_sub { padding: 100px 100px 100px 100px; text-align: center; box-sizing: border-box; }

/* 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; }

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

/* HP :: ABOUT US */

#aboutus_hp { padding: 0px 100px 100px 100px; box-sizing: border-box; }
/* 
#aboutus_hp.no-bottom-space { padding-bottom: 20px; }
*/
.aboutus_wrap { gap: 100px; display: flex; align-items: flex-start; }

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

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

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

/* 

/* GALERIE */

/* 
.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_uvod { max-width: 1000px; margin: 0px auto; padding: 100px 100px 100px 100px; box-sizing: border-box; }
.obsah_uvod_blogmag { max-width: 100%; margin: 0px auto; padding: 100px 190px 100px 190px; box-sizing: border-box; }
.obsah_uvod_reference { max-width: 100%; margin: 0px auto; padding: 100px 190px 100px 190px; box-sizing: border-box; }

/* CONTAINERS VYPISY */

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

/* CONTAINERS VYPISY :: BLOG */

.blogs_vypis { padding: 100px 100px 100px 100px; box-sizing: border-box; }
.blogs_vypis label { margin-bottom: 20px; display: block; }
.blogs_vypis h2 { margin-bottom: 30px; }
.blogs_vypis p { margin-bottom: 90px; max-width: 600px; }

.blogs_vypis .container { display: flex; flex-wrap: wrap; justify-content: center;
  gap: 20px; width: 100%; margin: 0 auto; box-sizing: border-box; justify-content: space-between; }

.obsah_vypis_box_hp.obsah_vypis_box_galerie_blogmag_hp {
  flex: 0 1 calc(33.333% - 20px); max-width: calc(33.333% - 20px);
  box-sizing: border-box; position: relative; display: block; }
.obsah_vypis_box.obsah_vypis_box_galerie_blogmag {
  flex: 0 1 calc(33.333% - 20px); max-width: calc(33.333% - 20px);
  box-sizing: border-box; position: relative; display: block; }
  /* flex: 0 1 calc(33.333% - 13.33px); max-width: calc(33.333% - 13.33px); */

.blogs_vypis .blog_box { width: 100%; height: 100%; }
.blogs_vypis .blog_link { display: block; width: 100%; height: 100%; }

.blogs_vypis .blog_img { background-size: cover; background-position: center; background-repeat: no-repeat;
  aspect-ratio: 3 / 4; position: relative; overflow: hidden; width: 100%; border-radius: 8px; height: 100%; }
.blog_img .overlay { padding: 20px; top: 0; left: 0; right: 0; bottom: 0; transform: translateZ(0); position: absolute;
  display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; text-align: left; height: 100%; }
.blog_img h3 { margin: 0 0 10px 0; }

/* CONTAINERS VYPISY :: REFERENCE */

.references_vypis { padding: 100px 100px 100px 100px; box-sizing: border-box; }
.references_vypis label { margin-bottom: 20px; display: block; }
.references_vypis h2 { margin-bottom: 30px; }
.references_vypis p { margin-bottom: 90px; max-width: 600px; }

.references_vypis .container { display: flex; flex-wrap: wrap; justify-content: center;
  gap: 20px; width: 100%; margin: 0 auto; box-sizing: border-box; justify-content: space-between; }

.x_obsah_vypis_box_hp.obsah_vypis_box_galerie_blogmag_hp {
  flex: 0 1 calc(33.333% - 20px); max-width: calc(33.333% - 20px);
  box-sizing: border-box; position: relative; display: block; }
.obsah_vypis_box.obsah_vypis_box_galerie_reference {
  flex: 0 1 calc(33.333% - 20px); max-width: calc(33.333% - 20px);
  box-sizing: border-box; position: relative; display: block; }
  /* flex: 0 1 calc(33.333% - 13.33px); max-width: calc(33.333% - 13.33px); */

.references_vypis .blog_box { width: 100%; height: 100%; }
.references_vypis .blog_link { display: block; width: 100%; height: 100%; }

.references_vypis .reference_img { background-size: cover; background-position: center; background-repeat: no-repeat;
  aspect-ratio: 3 / 4; position: relative; overflow: hidden; width: 100%; border-radius: 8px; height: 100%; }
.reference_img .overlay { padding: 20px; top: 0; left: 0; right: 0; bottom: 0; transform: translateZ(0); position: absolute;
  display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; text-align: left; height: 100%; }
.reference_img h3 { margin: 0 0 10px 0; }

/* CONTAINERS DETAILY */

#blogmag_detail_perex { display: flex; flex-wrap: nowrap; gap: 90px; align-items: center; margin-bottom: 60px; 
padding-left: 50px; padding-right: 50px; box-sizing: border-box; }
#blogmag_detail_perex .left { flex: 0 1 40%; max-width: 40%; }
#blogmag_detail_perex .right { flex: 1 1 60%; max-width: 60%; }
#blogmag_detail_perex .left img.uvod { width: 100%; border-radius: 8px; }

/* CONTAINERS DETAILY */

#reference_detail_perex { display: flex; flex-wrap: nowrap; gap: 90px; align-items: center; margin-bottom: 60px; }
#reference_detail_perex .left { flex: 0 1 40%; max-width: 40%; }
#reference_detail_perex .right { flex: 1 1 60%; max-width: 60%; }
#reference_detail_perex .left img.uvod { width: 100%; border-radius: 8px; }

/* PRVKY */

/* ARTICLES */

/* PRVKY */

/* 
.prvky img.uvod { height: 100px; }

/* ARTICLES */

/* TINYMCE */

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

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

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

.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: 50px; margin-right: 50px; box-sizing: border-box; }

.tinymce.blogmag 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 */
}

/* PATICKA */

/* 
#layout_footer_space { height: 100px; }
*/

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

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

.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; }

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

/* TINYMCE */

/* 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; }

/* 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"] {
  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 :: 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; }

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

.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; }
.kontakt_box .ikonka { width: 40px; height: 40px; padding: 0px 0px 0px 0px; flex-shrink: 0; }
.kontakt_box .text h3 { margin: 0px 0 30px 0; }
.kontakt_box .text ul { list-style-type: none; padding-bottom: 0px; }
.kontakt_box .text ul li { padding-bottom: 0px; }

/* 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 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; }
/* #html_kontakty_zajem.no-bottom-space { padding-bottom: 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; }
