* { margin:0; padding:0; }
body, div, span, p, a, img, ul, ol, li, table, th, tr, td, form, fieldset, legend, dl, dt, dd, blockquote, applet, object { border:0; }
body { 
  padding: 0; 
  background: #fff url("../img/bg.jpg") repeat-x; 
  font: 1em/1.5 "arial",sans-serif; 
  color: #354146; 
  text-align: center; 
}

/* obecne odkazy --------------------------------------------------------------- */
a {color:#1666a3;}
a:link {color:#1666a3;}
a:hover {color:#0b4775;}

/* nadpisy --------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 { margin:15px 0 10px 0; }
h1 { font-size:200%; font-family: Georgia;}
h1#logo a{color: #ced1d2; text-decoration: none; display: block;padding: 18px 0 17px; font-weight: normal;}
h1#logo a:hover{color: #fff;}
h2 { font-size:130%; color: #354146;font-weight: bold; padding: 0;margin:0; }
h3 { font-size:120%; }
h4 { font-size:120%; }
h5 { font-size:100%; }

/* layout ---------------------------------------------------------------------- */
#layout { 

  text-align:left; 
}
  #container { 
    clear: both;


  }
  #intro{
    background: #e6e8e9;height: auto;
  }
  #intro-in{
    width:891px; 
    margin:0 auto; 
    padding: 20px 0;
  }

  	/* hlavicka ------------------------------------------------------------------ */
  	#header {width:891px; 
      margin:0 auto; }
  
      
        
    /* horizontalni navigace --------------------------------------------------- */
      #nav {width:891px; 
      margin:0 auto; }
      #nav ul {margin:0; padding:0; list-style:none;height: 35px;}
      	#nav ul li {float:left; display:block; margin:0; padding:0;}
      	#nav ul li a {
          display: block; 
          float: left;
          font-size: 85%;
          color: #fff;
          text-decoration: none;
          padding: 12px 20px 10px;
          text-align: center;

        }
        #nav ul li a:hover {
          color: #ced1d2;
          text-decoration: underline;
        }
      	#nav ul li#active a {
      	color: #101517;
      	border: 1px solid #fff;border-bottom:1px solid #e6e8e9;
        background:#e6e8e9; text-decoration:none;}
  
  
  
    .content {
      padding: 0 0 0 0;
      z-index: 10;
      width:891px; 
      margin:0 auto; 
       
    }
.line {
    margin-left: 5%;
    margin-right: 5%;
}
    .content .in{
      padding: 20px 0 30px;
    }
    p.intro{
      background: url("../img/line.jpg");
      line-height: 23px;
      margin:0 0 0;
    }
    .shadow{
      border-top: 1px solid #dddddd;
      padding: 10px 0;
      background: url("../img/shadow.jpg") no-repeat;
    }
    img.thumb{padding: 3px; background: #fff; border: 1px solid #d1d1d1;}
    
    .columns {list-style: none;margin:10px 0 0 0;padding:0; font-size: 90%;}
    .columns li{
	float: left;
	width: 32%;
	text-align: left;
}
    .columns li.col2{border-left: 1px solid #d7d7d7;border-right: 1px solid #d7d7d7;}
    .columns li h3{padding: 0 10px;color: #2e4650; margin: 0 0 5px;}
    .columns li.col2 h3{padding-left: 20px;}
    .columns li.col3 h3{padding-left: 20px;}
    .columns li p{line-height: 22px;padding: 0 20px 0 10px; margin: 0; color: #3f4345;}
    .columns li.col2 p{
	padding: 0 20px 0 20px;
	font-size: 12pt;
	text-align: center;
	color: #999;
}
    .columns li.col3 p{padding: 0 10px 0 20px;}
    .columns li a.more{display: block;color: #1666a3;padding: 5px 0;}
    .columns li a.more:hover{color: #0b4775; text-decoration: none;}

  
  
  	/* paticka ----------------------------------------------------------------- */
  	#footer {
  	  width:891px; 
      margin:0 auto;
      clear:both;
      font-size: 85%;
      padding-bottom: 70px;
      color: #898989;
    }
    #footer a{color: #898989;}
    #footer a:hover{color: #666666; text-decoration: none;}
      #footer .f-left, #footer .f-right { padding: 0 10px; }




/* odstavce -------------------------------------------------------------------- */
p { margin:15px 0; }

/* tabulky --------------------------------------------------------------------- */
table { margin:15px 0; border-collapse:collapse; border-spacing:0; font-size:100%; }
th { text-align:center; font-weight:bold; }
th, td {
	padding:3px 5px;
	font-size: 100%;
}

/* seznamy --------------------------------------------------------------------- */
ul, ol { display:block; margin:15px 0 15px 40px; }
ul ul, ul ul ul, ol ol, ol ol ol { margin:0; margin-left:20px; }
ol { list-style-type:decimal; }
ol ol { list-style-type:upper-alpha; }
ol ol ol {list-style-type:lower-alpha; }
li { display:list-item; }
ul li a { text-decoration:underline; }

/* definice -------------------------------------------------------------------- */
dl { margin:15px 0; }
dt { font-weight:bold; }
dd { margin-left:30px; }

/* ostatni --------------------------------------------------------------------- */
fieldset { margin:15px 0; padding:10px; border:1px solid #CCC; }
legend { margin-left:10px; font-size:100%; font-weight:bold; color:#000; }
abbr, acronym, .help { border-bottom:1px dotted #CCC; cursor:help; }
blockquote { margin:15px 20px; font-style:italic; }
del, .del { text-decoration:line-through; }
strong, .strong { font-weight:bold; }
cite, em, q, var { font-style:italic; }
code, kbd, samp  {font-family:monospace; font-size:110%; }
hr { display:block; height:1px; margin:10px 0; padding:0; border:0 solid #CCC; background:#CCC; color:#CCC;} 
.f-left {float:left;}
.f-right {float:right;}
.a-left, tr.a-left td {text-align:left;}
.a-center, tr.a-center td {text-align:center;}
.a-right, tr.a-right td {text-align:right;}
.a-justify {text-align:justify;}
.va-top {vertical-align:top;}
.va-middle {vertical-align:middle;}
.va-bottom {vertical-align:bottom;}
.clear { clear:both; }
.box { min-height:1px; }
.box:after { display:block; visibility:hidden; clear:both; line-height:0; font-size:0; content:"."; }
.noscreen { display:none; }
.mleft10 { margin-left: 10px; }
.mright10 { margin-right: 10px; }
.mtop10 { margin-top: 10px; }
.mbottom10 { margin-bottom: 10px; }

/* univerzalni prvky ------------------------------------------------------------ */
input.small{
  width: 50px;
}
input.normal{
  width: 146px;
}
.bigger {font-size:115%;}
.smaller {font-size:85%;}

.high {color:#00F;}
.nonhigh {color:#777;}

.foto{  display: block; border: 3px solid #ddd;}

/* --------------------------------------------------------------------------
   Ajustements mobile ajoutés : lisibilité + mise en page responsive
   -------------------------------------------------------------------------- */
img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  body {
    font-size: 18px;
    line-height: 1.65;
    text-align: left;
    background-size: auto;
  }

  #header,
  #nav,
  #intro-in,
  .content,
  #footer {
    width: auto;
    max-width: 100%;
    margin: 0;
    padding-left: 18px;
    padding-right: 18px;
    box-sizing: border-box;
  }

  #intro-in,
  .content .in {
    padding-top: 24px;
    padding-bottom: 28px;
  }

  h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  h1#logo a {
    font-size: 1.8rem;
    line-height: 1.2;
    padding: 18px 0;
  }

  h2 {
    font-size: 1.45rem;
    line-height: 1.3;
    margin-top: 24px;
  }

  h3,
  h4 {
    font-size: 1.25rem;
    line-height: 1.35;
  }

  p,
  li,
  td,
  th,
  dd,
  dt {
    font-size: 1rem;
  }

  p {
    margin: 18px 0;
  }

  p.intro {
    line-height: 1.6;
    background: none;
  }

  ul,
  ol {
    margin-left: 24px;
  }

  #nav ul {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  #nav ul li {
    float: none;
    width: 100%;
  }

  #nav ul li a {
    float: none;
    display: block;
    font-size: 1rem;
    padding: 14px 12px;
    text-align: left;
  }

  #nav ul li a img {
    max-width: 110px;
    height: auto;
  }

  .columns li,
  .columns li.col2,
  .columns li.col3 {
    float: none;
    width: 100%;
    border-left: 0;
    border-right: 0;
    margin-bottom: 22px;
  }

  .columns li h3,
  .columns li.col2 h3,
  .columns li.col3 h3,
  .columns li p,
  .columns li.col2 p,
  .columns li.col3 p {
    padding-left: 0;
    padding-right: 0;
    font-size: 1rem;
    text-align: left;
  }

  .line {
    margin-left: 0;
    margin-right: 0;
  }

  table {
    width: 100%;
    font-size: 1rem;
  }

  #footer {
    font-size: 0.95rem;
    padding-top: 18px;
    padding-bottom: 40px;
  }

  #footer .f-left,
  #footer .f-right {
    float: none;
    display: block;
    padding: 6px 0;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 19px;
  }

  #header,
  #nav,
  #intro-in,
  .content,
  #footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  h1 {
    font-size: 1.85rem;
  }

  h1#logo a {
    font-size: 1.6rem;
  }

  h2 {
    font-size: 1.35rem;
  }
}


/* --------------------------------------------------------------------------
   Correctif mobile/tablette : empêche les textes et blocs de dépasser
   -------------------------------------------------------------------------- */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

#layout,
#container,
#intro,
main,
article,
section,
header,
footer {
  max-width: 100%;
}

p,
li,
h1,
h2,
h3,
h4,
h5,
h6,
a,
td,
th {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

iframe,
object,
embed,
video {
  max-width: 100%;
}

#container > h1,
#container > h2,
#container > h3,
#container > h4,
#container > p,
#container > ul,
#container > ol,
#container > table {
  max-width: 891px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 920px) {
  #header,
  #nav,
  #intro-in,
  .content,
  #footer,
  #container > h1,
  #container > h2,
  #container > h3,
  #container > h4,
  #container > p,
  #container > ul,
  #container > ol,
  #container > table {
    width: 100%;
    max-width: 100%;
    padding-left: 18px;
    padding-right: 18px;
  }

  #nav ul {
    height: auto;
    display: flex;
    flex-direction: column;
  }

  #nav ul li,
  #nav ul li a {
    float: none;
    width: 100%;
  }
}

@media (max-width: 520px) {
  #header,
  #nav,
  #intro-in,
  .content,
  #footer,
  #container > h1,
  #container > h2,
  #container > h3,
  #container > h4,
  #container > p,
  #container > ul,
  #container > ol,
  #container > table {
    padding-left: 16px;
    padding-right: 16px;
  }

  table {
    display: block;
    overflow-x: auto;
  }
}


/* ==================================================================
   TAILLE DU TEXTE DU PIED DE PAGE, 25/09/2026

   Le pied etait reduit par un pourcentage herite par tout son
   contenu, ce qui le faisait tomber sous le seuil de lisibilite,
   en particulier sur telephone. Il repasse a la taille du corps
   de texte, les liens compris.
   ================================================================== */

#footer {
	font-size: 100%;
}

#footer p,
#footer li,
#footer a,
#footer div,
#footer span,
#footer td,
.footer,
.footer p,
.footer li,
.footer a,
.footer-column,
.footer-column p,
.footer-column li,
.footer-column a,
.pied-3col,
.pied-col,
.pied-ajoute,
.pied-ajoute p,
.pied-ajoute a,
.announce,
.announce p {
	font-size: 16px;
	line-height: 1.55;
}

#footer h2,
#footer h3,
#footer h4,
.footer-column h2,
.footer-column h3,
.footer-column h4 {
	font-size: 18px;
}
