/* Website template by freewebsitetemplates.com */
body {
    background-color: #e2e2e2;
    /* min-width: 960px;*/
    margin: 0;
}
img {
    display: block;
    border: 0;
}
/** box-shadow **/
.box {
    background-color: #e7e7e7; /* Needed for IE */
    display: inline-block;
    -moz-box-shadow: 0 0 1px 3px rgba(207, 207, 207, 0.6);
    -webkit-box-shadow: 0 0 1px 3px rgba(207, 207, 207, 0.6);
    box-shadow: 0 0 1px 3px rgba(207, 207, 207, 0.6);
    /* For IE 5.5 - 7 */
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=3, MakeShdow=true, ShadowOpacity=0.80);
    /* For IE 8 */
    -ms-filter:"progid:DXImageTransform.Microsoft.Blur(PixelRadius=3,MakeShadow=true,ShadowOpacity=0.30)";
    zoom: 1;
}
.box > img {
    display: block;
    position: relative; /* This protects the inner element from being blurred */
}
.clearfix {
    max-width:960px;
    margin:0 auto;
    padding:0 16px;          /* trocha vnitřního okraje pro malé displeje */
    box-sizing:border-box;
}
.clearfix:after {
    clear:both;
    content:"";
    display:block;
    line-height:0;
    height:1%;
    visibility:hidden;
}
.clearfix div.subheader{
    color: #626262;
    font: 14px/24px Arial, Helvetica, sans-serif;
    font-weight:bold;
    margin: -15px 0 24px;
}


/*------------ Sprites ------------*/
.more, .subscribe, input[type='submit'] {
    background: url(../images/interface.png) no-repeat;
}
.phone, .mail, .home, .fax, #footnote .connect a {
    background: url(../images/icons.png) no-repeat;
}
.frame1, .frame2, .frame3, .frame4, .frame5, .news > li {
    background: url(../images/frames.png) no-repeat;
}
.more, .subscribe, input[type='submit'] {
    background-position: -107px 0;
    color: #fff;
    display: inline-block;
    font: 12px/28px Arial, Helvetica, sans-serif;
    height: 28px;
    width: 97px;
    text-align: center;
    text-decoration: none;
    text-shadow: 1px 1px rgba(0, 0, 0, 0.3);
    text-transform: uppercase;
}
.more:hover {
    background-position: 0 0;
}
.subscribe, input[type='submit'] {
    background-position: -222px -38px;
    height: 38px;
    line-height: 38px;
    width: 212px;
}
.subscribe:hover, input[type='submit']:hover {
    background-position: 0 -38px;
}
.home, .phone, .mail, .fax {
    background-position: 0 1px;
    padding-left: 24px;
}
.phone {
    background-position: 0 -26px;
}
.fax {
    background-position: 0 -54px;
}
.mail {
    background-position: 0 -82px;
}
.frame1 {
    background-position: -117px 0;
    height: 150px;
    width: 203px;
    margin: 0 auto 6px;
    padding: 8px 7px 0;
    text-align: center;
}
.frame2 {
    background-position: 0 -517px;
    height: 316px;
    max-width: 924px;
    margin: 0 auto 18px;
    padding: 6px 7px 0;
    text-align: center;
}
.frame3 {
    background-position: -344px 0;
    height: 221px;
    max-width: 586px;
    margin: 0 auto 6px;
    padding: 7px 7px 0;
    text-align: center;
}
.frame4 {
    background-position: 0 0;
    height: 108px;
    width: 93px;
    padding: 7px 7px 0;
    text-align: center;
}
.frame5 {
    background-position: -610px -238px;
    height: 220px;
    width: 268px;
    padding: 7px 6px 0;
    text-align: center;
}
/*------------ HEADER ------------*/
#header {
    background: #4e5944 url(../images/logo.jpg) repeat-x left bottom;
    padding: 40px 0 46px;
}
/** logo **/
.logo {
    float: left;
    display: inline-block;
}
/** navigation **/
.navigation {
    float: right;
    list-style: none;
    margin: 28px 50px 0;
    padding: 0;
}
.navigation li {
    float: left;
    margin-left: 30px;
    position: relative;
}
.navigation li > a {
    color: #b8c6ac;
    font: bold 16px/24px Times, "Times New Roman", serif;
    text-decoration: none;
    text-shadow: 1px 1px #000;
    text-transform: uppercase;
    text-decoration: underline;
}
.navigation li.active > a, .navigation li > a:hover {
    color: #fff;
    text-decoration: underline;
}
.navigation li > div {
    background-color: #888888;
    display: none;
    width: 110px;
    position: absolute;
    left: 0px;
    top: 24px;
}
.navigation li:hover > div {
    display: block;
}
.navigation li > div a {
    color: #b8c6ac;
    font: bold 13px/24px "Times New Roman", Times, serif;
    display: block;
    text-align: center;
    text-decoration: none;
    text-shadow: none;
    text-decoration: underline;
}
.navigation li > div a:hover {
    color: #fff;
    text-decoration: underline;
}
/*------------ CONTENTS ------------*/
#contents {
    padding-bottom: 24px;
}
#contents > div.clearfix:first-child {
    max-width:940px;
    padding:30px 16px 0;
}
#contents img {
    border: 1px solid rgba(231, 231, 231, 0.8);
}
h1 {
    color: #57614e;
    font: 29px/30px "Times New Roman", Times, serif;
    margin: 0 0 12px;
    text-transform: uppercase;
}
h2 {
    color: #626262;
    font: 19px/24px "Times New Roman", Times, serif;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}
p {
    color: #626262;
    font: 14px/24px Arial, Helvetica, sans-serif;
    margin: 0 0 24px;
}
p a {
    color: #626262;
}
p a:hover {
    color: #333333;
}
/** Adbox **/
#adbox {
    background: url(../images/bg-adbox.png) no-repeat center bottom;
    border-bottom: 1px solid #fff;
    padding-top: 15px;
}
#adbox > div {
    max-width:958px;
    margin:0 auto;
    padding-left:16px;
    padding-right:16px;
    box-sizing:border-box;
}
#adbox > div img {
    float: right;
}
#adbox .detail {
    font-family: Times, "Times New Roman", serif;
    height: 185px;
    line-height: 48px;
    width: 308px;
    text-align: center;
    position: absolute;
    left: 54px;
    top: 90px;
}
#adbox .detail h1 {
    color: #4e5944;
    font-size: 30px;
    font-weight: normal;
    line-height: 48px;
    margin: 0;
    text-transform: none;
}
#adbox .detail p {
    color: #4e5944;
    font: 25px/48px "Times New Roman", Times, serif;
    margin: 0;
}
.highlight {
    background: #eee url(../images/bg-highlight.jpg) repeat-x left bottom;
    border-bottom: 1px solid #fff;
}
.highlight .clearfix {
    max-width: 940px;
    padding: 0 10px;
}
.highlight h1 {
    font-size: 32px;
    line-height: 36px;
    padding: 12px 0 12px;
    text-transform: none;
}
.highlight h2 {
    color: #57614e;
    margin-bottom: 24px;
}
.testimonial, .main, .sidebar > div h2, .sidebar ul li, .main > .section {
    background-image: url(../images/border.png);
    background-position: left top;
    background-repeat: repeat-y;
}
.testimonial {
    float: right;
    width: 260px;
    margin-left: 20px;
    padding: 24px 20px;
}
.testimonial > span {
    color: #626262;
    display: block;
    font: 14px/24px Arial, Helvetica, sans-serif;
    text-align: right;
}
.featured {
    padding: 30px 0;
}
.featured > h2 {
    color: #728063;
    max-width: 940px;
    margin: 0 auto 24px;
    padding: 0 10px;
}
/*
.featured ul {
        list-style: none;
        padding: 0;
}
.featured li {
        float: left;
        margin: 0 10px;
}
.featured li p {
        padding-left: 4px;
}
.featured li p b {
        display: block;
        text-transform: uppercase;
}
.featured li .more {
        margin-left: 4px;
}*/
.main {
    float: left;
    min-height: 960px;
    max-width: 600px;
    padding: 0 0 0 32px;
}
.main h1 {
    margin-bottom: 18px;
}
.main h2 {
    margin-bottom: 12px;
}
.main h1 + h2 {
    margin: 0;
}
.main h1 + div.frame3 {
    margin-top: 36px;
}
.main > .section {
    background-position: left bottom;
    background-repeat: repeat-x;
    max-width: 600px;
    margin-bottom: 16px;
    margin-left: -28px;
    padding-left: 30px;
}
.main > .last-child, .sidebar ul li.last-child {
    background: none;
}
.main > .section ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.main > .section ul li {
    display: inline-block;
    margin: 0 0 24px;
}
.main > .section ul li .frame4 {
    float: left;
    margin-bottom: 1px;
    margin-right: 20px;
}
.main > .section ul li p {
    margin: 6px 0 0;
}
.main > .section ul li p b {
    display: block;
    text-transform: uppercase;
}
.practices {
    list-style: none;
    display: inline-block;
    max-width: 640px;
    margin: 0 0 0 -20px;
    padding: 0;
}
.practices li {
    float: left;
    margin: 0 20px 36px;
    position: relative;
}
.practices li a {
    text-decoration: none;
}
.practices li a span {
    background-color: #696969;
    color: #e2e2e2;
    display: block;
    font: 19px/46px "Times New Roman", Times, serif;
    height: 46px;
    width: 265px;
    text-transform: uppercase;
    position: absolute;
    bottom: 21px;
    left: 8px;
    *left: 6px;
}
.practices li a:hover span {
    background-color: #393939;
}
.sidebar {
    float: left;
    width: 290px;
    padding-right: 18px;
}
.sidebar > div {
    margin: 0 0 30px;
}
.sidebar > div h2 {
    background-position: left bottom;
    background-repeat: repeat-x;
    margin: 0 0 6px;
    padding-bottom: 18px;
}
.sidebar > div:first-child h2 {
    margin-bottom: 0;
    margin-top: 6px;
}
.sidebar > div p {
    margin: 0;
    padding-bottom: 24px;
    padding-right: 30px;
}
.sidebar > div p span {
    display: block;
    text-align: right;
}
.sidebar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sidebar ul li {
    background-position: left bottom;
    background-repeat: repeat-x;
    display: inline-block;
    min-height: 36px;
    width: 280px;
    padding: 6px 0 10px 10px;
}
.sidebar ul li > a span.box {
    float: left;
    margin-right: 20px;
}
.sidebar ul li a {
    color: #755c02;
    font: 13px/24px Arial, Helvetica, sans-serif;
    text-decoration: none;
}
.sidebar ul li a:hover {
    color: #728063;
}
.sidebar ul li img.box {
    float: left;
    margin: 4px 20px 12px 0;
}
.sidebar .contact li {
    background: none;
    padding-left: 0;
}
.sidebar .contact li p {
    padding: 0  0 0 30px;
}
.sidebar .contact li p span.home {
    float: left;
    display: inline-block;
    height: 18px;
    width: 18px;
    margin-left: -30px;
    padding: 0;
}
.sidebar .contact li p em {
    display: block;
    font-size: 19px;
    font-style: normal;
}
.news {
    list-style: none;
    margin: 0;
    padding: 0;
}
.news > li {
    background-position: 0 -238px;
    display: inline-block;
    height: 269px;
    max-width: 578px;
    margin-bottom: 12px;
    padding: 6px 22px 0 6px;
}
.news > li .box {
    float: left;
    margin-right: 20px;
}
.news > li p.info, .details p.info {
    font-size: 11px;
    margin: 0;
    padding-top: 24px;
}
.author {
    color: #755c02;
}
.news > li h2, .details h2 {
    color: #728063;
    letter-spacing: 0;
    margin-bottom: 24px;
}
.news > li .more {
    float: right;
}
.images {
    float: left;
    width: 210px;
    margin-right: 20px;
    padding-right: 10px;
}
#contents .images img.box {
    border: 5px solid #fff;
}
.details {
    float: left;
    width: 360px;
}
.details p.info {
    padding-top: 0;
}
.message label {
    color: #626262;
    display: block;
    font: 13px/24px Arial, Helvetica, sans-serif;
}
.message input[type='text'] {
    height: 24px;
    width: 100%;
    margin: 0 0 18px;
    padding: 0 4px;
}
.message textarea {
    height: 110px;
    width: 100%;
    margin: 0 0 18px;
    padding: 0 4px;
    overflow: auto;
    resize: none;
}
.message input[type='submit'] {
    cursor: pointer;
    border: none;
}
/*------------ FOOTER ------------*/
#footer {
    background: #d9d9d9 url(../images/bg-footer.png) repeat-x left top;
    border-top: 2px solid #fff;
}
#footer .section {
    float: left;
    min-height: 146px;
    width: 259px;
    border-left: 1px solid #c2c2c2;
    padding: 30px;
}
#footer .section h4 {
    color: #626262;
    font: bold 12px/24px Arial, Helvetica, sans-serif;
    margin: 0;
    text-transform: uppercase;
}
#footer .section p {
    font-size: 12px;
    margin: 0;
}
#footer .section:first-child {
    border: 0;
}
#footer .contact p span {
    text-transform: uppercase;
}
#footnote {
    background: url(../images/bg-footnote.jpg) repeat-x left top;
    border-top: 1px solid #fff;
    padding: 6px 0 3px;
}
#footnote p {
    color: #b5c1aa;
    font: 11px/30px Arial, Helvetica, sans-serif;
    margin: 0;
    padding-right: 10px;
    text-align: right;
    text-transform: uppercase;
}
#footnote .connect {
    float: left;
    display: inline-block;
    margin: 0 10px;
    padding: 6px 0;
}
#footnote .connect a {
    display: inline-block;
    height: 18px;
    width: 18px;
    margin-right: 6px;
}
#footnote .connect a.facebook {
    background-position: 0 -112px;
}
#footnote .connect a.twitter {
    background-position: 0 -140px;
}
#footnote .connect a.googleplus {
    background-position: 0 -168px;
}
#footnote .connect a.pinterest {
    background-position: 0 -196px;
}

/* Obrázky a vložené obrázky ať se zmenší do šířky obrazovky */
img, .frame1 > img, .frame2 > img, .frame3 > img, .frame4 > img, .frame5 > img {
    max-width:100%;
    height:auto;
}

/* Fix for custom indented lists */
ul.list-with-indents {
    list-style: disc outside !important;   /* restore bullets */
    padding-left: 1.5em !important;        /* room for bullets */

    margin: -10px 0 0 0;
    box-sizing: border-box;

    display: block !important;
    float: none !important;
    width: 100% !important;

    color: #626262;
    font: 14px/24px Arial, Helvetica, sans-serif;
}

ul.list-with-indents li {
    display: list-item !important;          /* stack vertically */
    float: none !important;

}

.list-with-indents a{
    color: #626262;
}


/* === ChatGPT - Mobilní režim === */
@media (max-width: 768px) {

    /* Header a navigace */
    #header {
        padding: 16px 0 20px;
    }

    .navigation {
        float:none;
        margin: 12px 0 0;
        padding: 0;
        display:flex;
        flex-wrap:wrap;
        gap: 8px 12px;
        justify-content:flex-start;
    }
    .navigation li {
        float:none;
        margin:0;
    }
    .navigation li > a {
        display:block;
        padding:8px 0;
        text-decoration:underline; /* jak máš v šabloně */
    }

    /* Dvěkolonový obsah -> jednokolona */
    .main, .sidebar {
        float:none;
        width:100%;
        padding:0;
        min-height:auto;
    }
    .sidebar > div, .main > .section {
        width:100%;
        margin-left:0;
        padding-left:0;
        background:none; /* odstranění okrasných border spriteů, které dělají horizontální scroll */
    }

    /* Široké boxy v novinkách/adboxu nechť netlačí layout */
    .news > li, .details, .images {
        float:none;
        width:100%;
        height:auto;
        padding:0;
        margin:0 0 16px 0;
        background:none;    /* vypnout pevné rámečky se sprite pozadím */
    }

    /* Textové prvky */
    h1 {
        font-size:24px;
        line-height:28px;
    }
    h2 {
        font-size:18px;
        line-height:22px;
        letter-spacing:1px;
    }

    /* Formuláře */
    .message input[type='text'],
    .message textarea {
        width:100%;
        box-sizing:border-box;
    }

    /* Paticka sekce na 100% šířky */
    #footer .section {
        float:none;
        width:100%;
        border-left:none;
        padding:16px 0;
    }

    /* Odrážkové seznamy – ať se nelámou špatně */
    ul.list-with-indents {
        padding-left:1.25em !important;
        margin-left:0;
    }
}

/*ChatGPT v2*/
/* ZÁKLAD – povolit mobilní škálování textu */
html {
    -webkit-text-size-adjust: 100%;
}

/* ZRUŠIT pevnou minimální šířku stránky a nahradit fluidním kontejnerem */
body {
    margin: 0;
    /* pokud tu máš min-width: 960px; tak ji SMAŽ nebo přepiš: */
    min-width: 0 !important;
}

/* Obecný wrapper: místo width:960px použij max-width a vnitřní odsazení */
.clearfix,
.container,
.wrapper,
#header > .clearfix,
#contents > .clearfix,
#adbox > div {
    max-width: 960px;
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
}

/* Obrázky a iframe se zmenší do šířky obrazovky */
img, video, iframe {
    max-width: 100%;
    height: auto;
}

/* Když něco přetéká (dlouhé URL, technické názvy), ať se může lámat */
body {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Dočasná pojistka proti horizontálnímu scrollu, než dočistíš pevné šířky */
html, body {
    overflow-x: hidden;
}

/* MOBILNÍ MEDIA QUERY */
@media (max-width: 768px) {
    /* Navigace – zrušit floaty a nechat je zalomit do řádků */
    .navigation {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 12px;
        padding: 0;
        margin: 12px 0 0;
        float: none;
    }
    .navigation li {
        float:none;
        margin:0;
    }
    .navigation a {
        display:block;
        padding:8px 0;
    }

    /* Dvě sloupce -> jeden */
    .main, .sidebar {
        float: none !important;
        width: 100% !important;
        min-height: auto;
        padding: 0;
    }

    /* Formuláře – žádné fixní šířky */
    input[type="text"], input[type="email"], textarea, select {
        width: 100% !important;
        box-sizing: border-box;
    }

    /* Titulky trochu menší, aby se vešly */
    h1 {
        font-size: 24px;
        line-height: 28px;
    }
    h2 {
        font-size: 18px;
        line-height: 22px;
        letter-spacing: 0.5px;
    }
}

/*
* { outline: 1px dashed rgba(255,0,0,.25); }*/

/***************************************************/
/***************************************************/
/*****************plovoucí menu*******************/

:root{
  --toc-bg:#ffffff;
  --toc-border:#e3e7e0;
  --toc-accent:#2e7d32;     /* přírodní zelená */
  --toc-accent-weak:#a5d6a7;/* světlejší zelená */
  --toc-text:#243024;
  --toc-muted:#6b7a6b;
  --shadow:0 10px 25px rgba(0,0,0,.08);
}

/* Plynulé skrolování na kotvy */
html { scroll-behavior: smooth; }

/* Rezerva nad nadpisy, aby nebyly schované pod fixed prvky (hlavička apod.) */
main h2, main h3 { scroll-margin-top: 90px; }

#toc{
  position: fixed;
  top: 90px;            /* uprav dle výšky headeru */
  left: 10px;
  width: 260px;
  max-height: calc(100vh - 120px);
  background: var(--toc-bg);
  border: 1px solid var(--toc-border);
  border-radius: 14px;
  box-shadow: var(--shadow);
  padding: 8px 8px 8px;
  z-index: 9999;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

#toc .toc-toggle{
  display: block;
  width: 100%;
  background: linear-gradient(180deg, var(--toc-accent), #215c24);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 12px;
  font-weight: 600;
  letter-spacing: .2px;
  cursor: pointer;
}

#toc .toc-list{
  margin-top: 8px;
  padding: 8px 6px;
  overflow: auto;
  max-height: calc(100vh - 170px);
}

#toc .toc-list ul{ 
  list-style: none; 
  margin: 0; 
  padding: 0 4px 6px; 
}

#toc .toc-list li{
  margin: 4px 0;
}

#toc .toc-link{
  display: block;
  text-decoration: none;
  color: var(--toc-text);
  padding: 6px 10px;
  border-radius: 8px;
  line-height: 1.25;
  border: 1px solid transparent;
}

#toc .toc-link:hover{
  background: #f6faf6;
  border-color: var(--toc-accent-weak);
}

#toc .toc-link.active{
  background: #f1fbf1;
  border-color: var(--toc-accent);
  color: #1b5520;
  box-shadow: inset 0 0 0 1px rgba(46,125,50,.15);
}

/* Odsazení položek h3 vůči h2 */
#toc .is-h3 .toc-link{
  padding-left: 22px;
  font-size: 0.95em;
  color: var(--toc-muted);
}

/* Mobilní úpravy: menu se změní na „button“ a panel bude posuvný přes obsah */
@media (max-width: 1500px){
  #toc{
    top: auto;
    bottom: 20px;
    left: 20px;
    right: 20px;
    width: auto;
    max-height: 70vh;
    padding: 8px;
  }
  #toc .toc-list{
    display: none;            /* skryté, dokud neotevřeš tlačítkem */
    background: var(--toc-bg);
    border: 1px solid var(--toc-border);
    border-radius: 12px;
    padding: 10px;
    margin-top: 8px;
    max-height: 60vh;
  }
  #toc[aria-expanded="true"] .toc-list{ display:block; }
  #toc .toc-toggle{
    position: relative;
  }
}

/* Preferovaná redukce animací */
@media (prefers-reduced-motion: reduce){
  html { scroll-behavior: auto; }
}

/* --- TOC úpravy --- */

/* méně sytá zelená pro tlačítko "Obsah" + jemnější hover */
:root{
  --toc-accent: #5a8f66;      /* jemnější, méně sytá zelená */
  --toc-accent-weak: #cfe8d3; /* světlejší ohraničení/hover */
}

/* plošná, ne tak křiklavá výplň tlačítka */
#toc .toc-toggle{
  background: var(--toc-accent);
}

/* bezpatkové písmo + menší velikost v rámci celého panelu TOC */
#toc, #toc *{
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 14px;   /* menší základ */
  line-height: 1.35;
}

/* odkazy v seznamu ještě o chloupek menší */
#toc .toc-link{ 
  font-size: 13.5px;
  padding: 5px 9px;
}

#toc .is-h3 .toc-link{
  font-size: 13px;
  padding-left: 20px;
}

/* Zobraz seznam jen když je TOC opravdu otevřený */
#toc.toc-ready[aria-expanded="true"] .toc-list { display: block; }

@media (max-width: 1500px){
  #toc .toc-list{ display: none; }
  #toc[aria-expanded="true"] .toc-list{ display:block; }
}