/* CSS temp_01 */
*{
  box-sizing: border-box;
 }
/* Typography */
body {
  font-family: 'Rubik', 'Arial CE', 'Helvetica CE', Arial, helvetica, sans-serif;
  font-size: max(14px, calc(0.4vw + 11px) );
  font-weight: 300;
  color: #333;
  margin: 0;
  text-align: center;
  background: #eee url(/img/bg_body.jpg) repeat ;
  background-size: 100% auto;
  background-attachment: fixed;

}

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, address, blockquote, table, .separ, hr
{
margin: 1.5em 0;
}


/* Headings
-------------------------------------------------------------- */

h1,h2,h3,h4,h5,h6 {  position: relative; margin: 1.5em 0 1em 0;  font-weight: 500; }

h1 { font-size: 2.8em;  letter-spacing: -1px; /* border-bottom: 1px solid #666 ; */  margin: .75em 0;  text-transform: uppercase;  }
h2 { font-size: 1.9em; letter-spacing: -1px; clear: both; margin: 1em 0; /* border-bottom: 1px solid #999 ;  padding: 0 0 10px 0 ; */ }
h3 { font-size: 1.5em; letter-spacing: -1px;  clear: both; /* border-bottom: 1px solid #ccc ; padding: 0 0 10px 0 ;*/  }
h4 { font-size: 1.15em;  margin-bottom: 0px; font-weight: 400;}
h5 { font-size: 1em;}
h6 { font-size: 1em;}


/* Text elements
-------------------------------------------------------------- */

p           {line-height: 1.5;  /* max-width: 50%;*/ }
h4 + p      { margin-top: 1em;      }

a           {text-decoration: none; color: #eb690b; transition: all ease .3s;  }
a:visited   {color: #eb690b;}
a:hover     {text-decoration: none; color: #000; }

blockquote  { margin: 1.5em; color: #666; font-style: italic; }
strong      { font-weight: 500; }
sup, sub    { line-height: 0; }
big         {font-size: 1.2em;}
small       {font-size: 0.8em;}

/* Lists
-------------------------------------------------------------- */

ul, ol      {padding:0; margin-left:35px; line-height:20px;}
li          {margin:0; padding:0; list-style: square ; line-height: 160%;  }

ul.extra    {list-style:none;position:relative;}
ul.extra li {background: url(../img/li_extra.jpg) no-repeat 0 6px;padding:0 0 0 20px;}

ul.mapa    {list-style:none;position:relative;}
ul.mapa li {background: url(../img/li_extra.jpg) no-repeat 0 6px;padding:0 0 0 20px;font-weight:bold;font-size:1.1em;}
ul.mapa ul li{font-size:0.9em;}
ul.mapa ul li a{color:#929294;}
ul.mapa ul ul li{font-weight:normal;}
ul.mapa ul ul li a{color:#929294;}

ul          { list-style-type: disc; }
ol          { list-style-type: decimal; }

/* Tables
-------------------------------------------------------------- */
table{ width: 100%; /* border: 2px solid #999; */  border-collapse:collapse; font-size:1em;}
table th{ padding: .75em 0 ; text-align: left; background:none; color: #FF9900; font-size:1em; font-weight:500; border-bottom:1px solid #999;}
table td{padding: .75em 0  ; border-bottom:1px solid #ddd;}
table td.nowrap{
white-space: nowrap;
}
table td p{ margin: 0; padding: 0 ;
          }

/* Misc classes
-------------------------------------------------------------- */

.hide       { display: none; }
.noborder   {border:none;}
.bold       {font-weight:bold;}

/* Body Elements
-------------------------------------------------------------- */

img{border: 0; max-width:100%; }
hr { border-top: 1px solid #ccc; height: 0;}

.foto{
}

/* Form fields
-------------------------------------------------------------- */

fieldset{ border: none; padding: 0 ; margin: 0 ;}

div.formular{width:548px;margin:20px 0; padding: 0 10px 10px 10px; border: none;background:#eee;}
table.form{margin:0;}

ul.form{margin:0;padding:0 0 0 20px;list-style:none;}
ul.form li{padding:5px 20px 0 0;float:left;width:242px;}
ul.form li.textarea, ul.form li.submit{width:505px;}

h3.form_nazev{margin:0;font-size:1.1em;font-weight:bold;position:relative;top:-10px;left:20px;color:black;}
h3.form_nazev span{border:1px solid #BDBBB7; background: #fff url(../img/bg_inputs.gif) no-repeat;padding:3px 20px;}

input, textarea, select{background: #fff url(../img/bg_inputs.gif) no-repeat;border:1px solid #BDBBB7;padding:3px 5px;}
label{font-weight:bold;}
input{font-size:1.0em;width:232px;}
textarea{font-size:1.0em; font-family:'Arial CE', 'Helvetica CE', Arial, helvetica, sans-serif;; width:230px;}
select{font-size:1.0em;width:242px;}

input.submit{width:95px;font-weight:bold; padding:4px 2px; position:relative;background:#FF9900; color:white;border:none;font-family:'Arial CE', 'Helvetica CE', Arial, helvetica, sans-serif;  font-size:1.1em;}

label.check{float:left;margin:0px 15px 0px 0;font-weight:normal}
input.check{background:none;border:none;display:inline;margin:0 4px 2px 0;vertical-align:middle;width:auto;}

label.radio{float:left;margin:0px 15px 0px 0;font-weight:normal}
input.radio{background:none;border:none;display:inline;margin:0 4px 2px 0;vertical-align:middle;width:auto;}


/*  ID  */
#page{
  text-align:left;
  max-width: 1980px;
  margin: 0vw auto 0 auto;
  padding: 0 0 0 0  ;
  position:relative;
  
}
#page.index{

}

#header{
  height: 160px;
  position: relative;
  z-index: 550;
  /*background: #eee;*/


}
#header h1{
  width: auto;
  height: auto;
  float: none;
  margin: 0 ;
  padding: 0 ;
  border:none;
  font-size:1em;
  letter-spacing: -1px;
  }
#header h1 a{
  display: block;
  text-decoration: none;
  width: 250px;
  line-height: 100px;
  height: 100px;
  text-align: center;
  position: absolute;
  top: 30px;
  left: 5vw;
  z-index: 550;
  color: #eee;
  text-indent: -999999px;
}
#header h1 a span{
  display: block;
  width: 100% ;
  height: 100% ;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
  background: url(/img/c2pecap_logo.svg) center center no-repeat;
}
#header h1 a:hover{
  transition: all ease .3s;
  opacity: .8;
}

.toggle{
	position: absolute;
	right: 5vw;
	top: 35px;
	display: block;
	width: 80px;
	height: 30px;
	/* background: #999; */
	display: flex;
	align-items: center;
	justify-content: end;
	font-size: 1.1rem;
}

/*  navigation */
#navigation{
  position: absolute;
  top: 100px;
  right: 5vw;
  z-index: 10000;


  display: none;
  transition: all 0.3s ease;
  text-align: center;
 }
 


#navigation ul {
  margin: 0 15px 0 0 ;
  padding: 0;
  list-style: none;  
}
#navigation li {
  list-style: none ;
  font-size: 1em;
  float: left;
}

#navigation ul a {
  display: block;
  /* text-transform:uppercase;   */
  line-height: 100px ;
  height: 100px;
  font-size:.9em;
  font-weight: 400;
  text-decoration: none;
  padding: 0em 0em ;
  margin: 0em 1em ;
  
  text-align: center;
  transition: all ease .3s;
  
  border-bottom: 1px solid transparent ;
}



#navigation ul ul {
}
#navigation ul ul li {
}
#navigation ul ul a {
}


#navigation ul a:hover{
  color: #000;
  border-bottom: 1px solid #333 ;
}
#navigation ul ul a:hover{
  color: #FF9900;
  background-color: #fff;
}

#navigation a.on {
  color: #999;
  ackground-color: #ddd;
  border-top: 1px solid #ddd ;
}


#navigation.active{
	display: block;
	background: #fff;
	width: 100%;
	left: 0;
	right: 0;
	box-shadow: 0 50px 50px rgba( 0,0,0, 0.4);
	padding-bottom: 20px;
 }
#navigation.active ul{
	float: none;
	padding: 20px 10px;
 }
#navigation.active li{
	float: none;
	border-bottom: 1px solid #eee;
 }
 #navigation.active li a{
	line-height: 1.3;
	height: auto;
	padding: 20px 0;
	text-transform: uppercase;
	font-size: 1.1rem;
 }
 #navigation.active a.on{
	border: none;
 }

.socicon{
	display: inline-block;
	padding-right: .5rem;
	transition: all ease .25s;
}
.socicon:hover{
	opacity: .7;
}


/* content */
#content{
  padding: 2vw 5vw ;
  margin: 0;
  position: relative;
  z-index: 10;
  min-height: 60vh;
  
  background: rgba(255, 255, 255, .8);  
  }
  
#content.section{
 }  
  
#intro{
}


.maincontent{
  padding:0 ;
  position: relative;
}

p.extra{
  font-size:1.3em;
  font-weight:bold;
  line-height:150%;
  position:relative;
  z-index:110;
}
p strong{
  color: #000;
}
.perex{
  font-size: 1.25em;
  line-height: 1.6;
  font-weight: 400;
      }
      
.page-uvod .first, 
.page-uvod .breadcrumbs
{
  display: none;
            } 
                 
      
/**/
.rozcestnik{
  display: flex;
  flex-wrap: wrap
           }
.rozcestnik-item{
  flex: 1 520px;
  display: flex;
  align-items: center;
  justify-content: center;  
  background: #000;
  /*background: #eb690b;*/
   margin-bottom: 1em;
           }           
.rozcestnik-item a{
  display: flex;
  align-items: flex-end;
  justify-content: start;
  width: 100%;
  min-height: 45vh;

  color: #fff;
  font-size: 2em;
  font-weight: 500;
  text-decoration: none;
  transition: all ease .3s;
  border-bottom: 3px solid #eb690b ;
  text-transform: uppercase;
    
           }   
.rozcestnik-item a span{
  background: rgb(235, 105, 11, .9);  
  padding: 1em 1.5em;
  transition: all ease .2s;
           }             
           
.rozcestnik-item a.projekce{
  background:  url(/img/roz_projekce-doprav.jpg) no-repeat center center;
  background-size: cover ;
           }               
.rozcestnik-item a.dozor{
  background:  url(/img/roz_technicky-dozor.jpg) no-repeat center center;
  background-size: cover ;
           }        
               
               
.rozcestnik-item a:hover{
  opacity: 0.9;
           }             
.rozcestnik-item a:hover span{
  background: rgba( 0,0,0, 0.5);
  
           }                 
              
                 
           

/**/
.clanky{
  /*
  display: flex;
  flex-wrap: wrap;
  */
  	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
       }
    

.clanky-item{
  flex: 1 ;
  /*max-width: 650px;*/
       }
.clanky-item a:hover{
  opacity: .8;
       }       
       
.clanky-item p{
  max-width: 90%;
       }
       
       
.clanky-item .thumbnail img:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100;
    height: 100%;
    background: #000;
        }        
       
.clanky-item .thumbnail img{
  border-bottom: 3px solid #eb690b ;
  transition: all ease .3s;
  display: block;
  position: relative;
        } 
        
.clanky-item .thumbnail:hover img{
  opacity: 0.7;
        }         
                


 
                     
.clanek-detail p{

                    }                         
       
       
/**/           
.tym{
  display: flex;
  flex-wrap: wrap;
  clear: both;
  padding-top: 2em;
       }

.tym-item{
  flex: 1 300px; 
       }
.tym-item p{
	max-width: 90%;
	   }	   
       
       
.spoluprace{
  display: flex;
  flex-wrap: wrap;
  margin-top: 2em;
           }       
.spoluprace .col{
  flex: 1;
           }                
.spoluprace .col-2{
  flex: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
           }  
.spoluprace .col-2 .logo{
  margin-right: 1em;
  margin-bottom: 1em;
  text-align: center;
  background: #fff;
  padding: .75em 0 ;
  min-width: 250px;
           }  
            
.spoluprace .col-2 .logo img{
  object-fit: contain;
  mix-blend-mode: multiply;
  display: block;
  max-width: 150px;
  margin: auto;  
           }   
                     
.spoluprace h2, .spoluprace h3{
  margin-top: 0;
           }            
                         
                 
                 
              
/**/           
.reference{
  /*display: flex;
  flex-wrap: wrap;*/
  
  display: grid ;
  grid-template-columns: 1fr 1fr ;
  gap: 1rem;
    }
    

.reference-item{
  /*flex: 1 ;*/
  /*max-width: 650px;*/
      }       

.reference-item a:hover{
    opacity: .8;
      }   

.reference-item:hover a{
	color: #000;
	}   
			
.reference-item a{
	display: block;
	}   		  
.reference-item .thumbnail{
 margin-bottom: -10px;
 display: block;
        }       
.reference-item .thumbnail img{
  border-bottom: 3px solid #eb690b ;
  display: block;
        } 
 .reference-item .thumbnail:hover img{
  border-bottom: 3px solid #000 ;
        }            
		
.reference-item p{
	max-width: 93%;
	margin-top: .75rem;
  }    
			 

       
.reference-listing{
  display: flex;  
  margin: 4em 0 2em 0;
  width: 100%;
                 }      
.reference-listing .listing{
  flex: 1 50%;
  border: 1px solid #ddd;
  text-align: left;
  padding: 1em ;
  content: "";
  
                 }  
.reference-listing .listing:nth-of-type(2){
  text-align: center;
                 } 
.reference-listing .listing:nth-of-type(3){
  text-align: right;
                 }                                        
           
           
.reference-detail .galerie-nadpis{
  display: none;
                 } 

.reference-gallery{
  margin-bottom: 2em;
}  
.reference-gallery:after{
  content: "";
  display: block;
  clear: both;
}            
                 

                 
                            
           
/**/
.galerie{
  max-width: 800px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4px;
        }           
           
.galerie .thumbnail{
    display: block;
    /*float: left;*/
    position: relative;
    z-index: 99;
        } 
.galerie .thumbnail:before{
    content: "";
    display: block;
    position: absolute;
    z-index: 90;
    width: 100%;
    height: 100%;
    background: #eb690b;
    
        }         
                  
.galerie .thumbnail img{
  position: relative;
  z-index: 99;
  vertical-align: top;
 transition: all ease .3s;     
  
  width: 266px;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;

        }   
.galerie .thumbnail img:hover{
  opacity: .5;
        }            

           
           

/* footer */
#footer{
  clear: both;
	color:#666666;
	margin: 0;
  padding: 3vw 5vw 2vw 5vw;
  position: relative;
  
  background:  url(/img/c2pecap_logo.svg) 5vw  3vw no-repeat;
  background-size: 250px;
    
	  }
#footer:after{
  content: "";
  clear: both;
  display: block;
	  }    
#footer p{
  margin: 80px 0 20px 0;
  float:left;
  max-width: 80%;
}
#footer a{
  color:#000;
}
#footer .creactive{
  float: right;
  opacity: .5;
  font-size: 1rem;
  }

/*  class   */
.noscreen{display: none;}
.separ {border-bottom: 1px dotted #ccc ; line-height: 1px; font-size: 1px; height: 1px; 
margin: 20px 100px 30px 0;}
.break {clear: both; line-height: 0px; font-size: 1px; height: 0px; margin: 0 ;}
.left { text-align: left;}
.right { text-align: right;}
.center { text-align: center;}
.justify {text-align: justify;}
.fl { float: left; position: relative;}
.fr { float: right; position: relative;}
.loud{}
.silent{color:#929294;}
.bg_silent{background:#eef6fa;}
.bg_loud{}
.colborder{border:1px solid #BDBBB7; }
.partneri{margin:5px 7px;float:left;}

.button{
	border: 1px solid orange; 
	display: inline-block; 
	padding: .3em 1.5em; 
	margin-bottom:2rem;
}


/*  Katalog   */
.breadcrumbs{
  font-size:1em;
  margin: 0;
  padding-top: 1em;
  color:#aaa;
 /* border-top: 1px solid #ddd ;*/
}
.breadcrumbs a{
  text-decoration: none;

}




/* Tisknout a nahoru  */
.c2a{
  background-color: #eee;
  padding: 1px 20px ;
}
.meta{
  text-align: right;
  padding-top: 1em;
  margin: 0 0 5vw 0 ;
  /*border-top:1px dotted #ccc;*/
}
.meta a{
padding: 2px 0px 5px 22px ;
color:#666666;
font-size:0.9em;
}
.meta a:hover{
color:#cd0000;
}

/*  ico  */
.ico{
	padding-left: 22px;
  background-position: 5px 5px;
  background-repeat: no-repeat;
}
.up{background-image: url(../img/ico/go_home.gif);}
.print{background-image: url(../img/ico/printer.gif);}




/*  RESPONSIVE  */
@media only screen and (max-width:990px){
	#header {
		height: 100px;
	}
	#header h1 a{
		width: 150px;
		top: 0;
	}
}

@media only screen and (min-width:990px){

	.toggle{
		display: none;
	}

	#navigation{
		top: 30px;
		display: flex;
        align-items: center;
	}	
	.reference{
	/*display: flex;
	flex-wrap: wrap;*/
	
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 5rem;
		}

  .reference-detail{
    display: flex;
    flex-wrap: wrap;
                   } 
  .reference-detail .col{
    width: 50%;
   } 
  .reference-detail .col:nth-of-type(2){
    padding-left: 2em;
   }     
                   
                   
  .reference-detail {
  
                 } 
  .reference-detail p {
   max-width: 100%;
                 }                  
  .reference-detail .col > h3{
    margin-top: 0;
                   }      
				   
.paging:empty{
	display: none;
}				   

  .clanky{
		grid-template-columns: 1fr 1fr 1fr 1fr;
		gap: 5rem;
			}				   
  .clanek-detail p{
    max-width: 100%;
                  }
                  
.clanek-detail .foto{
  float: left;
  margin-right: 2vw;
                    }  

.clanek-detail .obsah{
  float: left;
  width: 50%;
  margin-top: -1.5em;
                    }                    

.map{
	float: right;
	width: 66.667%;
}

}


@media only screen and (min-width:1600px){
  
  p { 
    max-width: 50%; 
    }
         
  .reference-detail{
    display: flex;
    flex-wrap: wrap;
                   } 
  .reference-detail .col{
    width: 50%;
                   } 
  .reference-detail {
  
                 } 
  .reference-detail p {
   max-width: 100%;
                 }                  
  .reference-detail .col > h3{
    margin-top: 0;
                   }                                    

  .clanek-detail p{
    max-width: 100%;
                  }

}
