/*@font-face {
    font-family: time;
    src: url(fonts/digital-7.ttf);
} */

* {
  font-family: Tahoma,Verdana,Segoe,sans-serif;
}

body {
  overflow-x: hidden;
}

a{
  text-decoration: none;
  font-size: 10pt;    
}

a:hover{
  text-decoration: underline;
}

p {
  font-size: 10pt;
  margin: 0;
}

img {
  margin-top: 10px;
}

time {
  background-color: white;
  color: black;
  font-size: 8pt;
  padding: 0 2px;
  margin-right: 4px;
 /* border: 1px solid black; */
  border-bottom: none;
  
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}

hr{
  border-color: lightcyan;
}

fieldset, .expand-wrapper {
  border:1px solid cornflowerblue;
  background-color: white;  
  margin-top: 5px;
  font-size: 9pt;
  line-height: 190%;
  overflow: hidden;
  padding: 3px 9px 7px 9px;
    -webkit-margin-start: 2px;
    -webkit-margin-end: 2px;
    -webkit-padding-before: 3px;
    -webkit-padding-start: 9px;
    -webkit-padding-end: 9px;
    -webkit-padding-after: 7px;
}

fieldset:first-of-type, .expand-wrapper.first{
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

fieldset:last-of-type, .expand-wrapper.last{
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

fieldset > div{
  display: -webkit-flex; /* Safari */
  display: flex;
}

fieldset > div > div{
  -webkit-flex: 2;  /* Safari 6.1+ */
  -ms-flex: 2;  /* IE 10 */    
  flex: 2;
}

fieldset > div > div:first-child{
  font-weight: bold;
  
  -webkit-flex: 1;  /* Safari 6.1+ */
  -ms-flex: 1;  /* IE 10 */    
  flex: 1;
}

fieldset > div > div.one-one{
  font-weight: bold;

  -webkit-flex: 1;  /* Safari 6.1+ */
  -ms-flex: 1;  /* IE 10 */    
  flex: 1;
}

fieldset > h2{
  margin: 0;
  font-size: 11pt;
}

fieldset > h2 + p{
  display: block;
  height: 0;
}

fieldset > h2:hover + p{
  -webkit-transition: height 0.5s ease-in-out; /* Safari */
  transition: height 0.5s ease-in-out;
  height: initial;
}

/* expanding hidden content */

.expand-label{
  position: relative;
  margin: -3px -9px -7px -9px;
  padding: 9px;
  display: block;
  font-weight: bold;
}


.expand-label:hover, .expand-input:checked + .expand-label{ background: #e9e9e9;}
.expand-label::before{
  position: absolute;
  right: 15px;
  top: 20px;
  display: block;
  content: "\1f893"; 
  font-size: 30pt; 
  transition: transform .3s;
  transform-origin: top;
}

.expand-input{display: none;}
.expand-content{
  max-height: 0;
  display: none;
  overflow: hidden;
  padding: 0;
  transition: max-height .3s;
}

/* CHECKED SELECTORS */

.expand-input:checked + .expand-label::before{
  transform: rotate(180deg);
  transition: transform .3s;
}
.expand-input:checked ~ .expand-content{
  padding: 10px 10px 0 10px;
  max-height: unset;
  display: block;
}

/* ----------------- */

textarea {
  font-size: 10pt;
}

input[type="number"] {
  margin-top: 1px;
  width: 60px;
}

legend {
  padding: 1px 4px;
  background-color: cornflowerblue;
  color: white;
  font-size:70%;
  text-align:right;
}

label {
  font-size: 9pt;
  display: block;
  margin-top: 5px;
}

	/***************************** TABLEs **********************************/ 	 	
table { 
  border-collapse: collapse;  
} 
	 
table.mySQLtable{ 	 	
  border-collapse: collapse; 	 	
  text-align: center; 	 	  	 	
}

.wide {
  overflow-x: scroll;
}

.wide > table.mySQLtable{ 	 	
  min-width: 650px;  	 	
}

.wide > table.mySQLtable td:first-child{ 	 	
  position: absolute;
  top: auto;
  font-weight: bold;
  color: white;
  background-color: rgba(150, 150, 150, 0.9);	 	
}  

table th, table td {  font-size: 10pt; text-align: center;} 	
 	 	
table.mySQLtable td, table.mySQLtable th{ 	 	
  border: 1px solid lightgrey; 	 	
  padding: 0 3px;
}

table.mySQLtable td{
  font-size: 9pt;
}

table.mySQLtable td:first-child {
  text-align: left;
}

table.mySQLtable tr:nth-child(odd){
  background-color: #F5F5F5;
}

table.mySQLtable tr:last-child{
  font-weight: bold;
  background-color: white;
} 	 	 

col.today{
  border-left: 4px solid darkgreen;
  border-right: 4px solid darkgreen;
  border-bottom: 3px solid darkgreen;
}

td#today{
  background-color: darkgreen;
  color: white;
  padding-top: 3px;
}

td.weekend{
  background-color: #f2f2f2;
}

.main tr:first-child td{
  text-align: center;
  border-top: none;
}

.main tr:first-child td:first-child {
  border: none !important;
  font-weight: normal;
  position: fixed;
  background-color: rgba(255,255,255,0.9);
  z-index: 9999;
}


.main tr:hover{
  background-color: #FFFFB1;
}

.main tr:first-child{
  background-color: white !important;
}

.main td{
  vertical-align: top;
  border-right: 1px dashed darkgrey;
  border-top: 1px dashed darkgrey;
  min-width: 40px;
  font-size: 10pt;
  white-space: nowrap;
  height: 35px;
}

.main td:first-child{
  position:absolute; 
  width:110px; 
  min-width: 110px;
  left:10px;
  top: auto;
  margin-top: 1px;
  font-size: 9pt;
  font-weight: bold;
  border-top: 1px dashed darkgrey;
  border-right: none;
}

.main td:first-child a{
  font-size: 8pt;
  margin: 0;
  color: black;
}

.main td:first-child a:visited{
  color: black;
}

.main td:first-child a:hover{
  color: darkgrey;
}

.poznamky td{
  padding: 0 10px 0 5px;
}

td .ucet{
  float: left;
  font-weight: normal;
  font-size: 8pt;
}

.occupied, .arrival, .departure, .unavailable{
  width: 100%;
  height: 16px;
  padding: 0;
  margin: 0;
  padding: 2px 3px 3px 3px;  
  position: relative;
}

.occupied {
  background-color: #339999;
}

.arrival {
  color: white;
  padding-left: 6px;
  margin: 0 4px;
  text-align: left !important;

  -webkit-border-top-left-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  -moz-border-radius-topleft: 10px;
  -moz-border-radius-bottomleft: 10px;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.departure {
  text-align: right;
  
  -webkit-border-top-right-radius: 10px;
  -webkit-border-bottom-right-radius: 10px;
  -moz-border-radius-topright: 10px;
  -moz-border-radius-bottomright: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

.arrival.departure:not(.unavailable) {
  /*overflow: hidden;*/
  min-width: 160px;
}

.arrival.departure.occupied {
  background-color: cornflowerblue;
}

.arrival.departure:after {
  float: right;
}

.bookingcom
{
  background-color: rebeccapurple;
}

.other
{
  background-color: #bf9b30;
}

.departure:not(.unavailable).bookingcom:after
{
  content: url('icons/booking_icon.png');
}

.departure:not(.unavailable).airbnb:after
{
  content: url('icons/airbnb_icon.png');
}

.departure:not(.unavailable):not(.bookingcom):not(.other):after
{
  content: url('icons/airbnb_icon.png');
}

.departure:not(.unavailable).other:after
{
  content: url('icons/pr_icon.png');
}

.new
{
  background-color: yellowgreen !important;
  color: black;
}

.unavailable {
  background-color: #C0C0C0 !important;
  color: grey !important;
}

.event {
  position: relative;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: red transparent transparent transparent;
}

.event:after
{
  content: '';
  position: absolute;
  display: block;  
  border-style: solid;
  border-width: 0 10px 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 6px 0 6px;
  border-color: #fff transparent transparent transparent;
  left: -6px;
  top: -9px;
}

.event .bubble 
{
  white-space: normal;
  cursor: pointer;
  position: absolute;
  right: -151px;
  top: 10px;
  z-index: 999;
  width: 150px;
  min-height: 40px;
  padding: 5px 10px;
  background-color: rgba(255, 255, 255, 0.90);
  color: #000;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  border: red solid 1px;
  text-align: left;
  display: none;
}

.event:hover .bubble 
{
  display: block;
}

.event .bubble:after 
{
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 0 10px 10px;
  border-color: rgba(255, 255, 255, 0.90) transparent;
  display: block;
  width: 0;
  top: -10px;
  left: 10px;
}

.event .bubble:before 
{
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 0 10px 12px;
  border-color: #ff676b transparent;
  display: block;
  width: 0;
  top: -13px;
  left: 10px;
}

td .column-date {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  width: 100px;
  height: 50px;
  background-color: rgba(0,0,0,0.8);
  color: white;
  font-size: 14pt;
  z-index: 1;
}

td:hover .column-date {
  display: block;
}

.filter {
  width: 98%;
  padding: 2px;
  position: fixed;
  background-color: lightgreen;
  opacity: 0.8;
  color: darkgreen;
  text-align: center;
  z-index: 2;
  font-size: 12pt;
  font-weight: bold; 
  border: 1px solid green;
}

.inactive{
  color: black;
  border-color: black;  
  background-color: lightgrey;
  position: relative;
  opacity: 0.5;
}

.filter a {
  font-weight: normal;   
}

.filter a:first-child {
  margin-left: 15px;  
}

.wrapper{ 
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column wrap;
  -moz-flex-flow: column wrap;
  flex-flow: column wrap;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  overflow-x:scroll; 
  overflow-y:visible; 
  margin-left:110px;
  padding-bottom: 50px;  
}

#menu_wrapper{  
  position: fixed;
  right: 0;
  bottom: 0;
  height: 56px;  
  width: 66px;
  background-color: rgba(0,0,0,0.9);
  z-index: 99999;   
  opacity: 100;  
  -webkit-transition: height 0.5s ease-in-out; /* Safari */
  transition: height 0.5s ease-in-out;    
}

#menu_wrapper:before{
  content: "";
  opacity: 100;
  position: absolute;
  left: 16px;
  top: 16px;
  height: 24px;
  width: 34px;
  background: linear-gradient(
    to bottom, 
    white, white 15%, 
    black 15%, black 42.5%, 
    white 42.5%, white 57.5%, 
    black 57.5%, black 85%, 
    white 85%, white 100%
  );      
}

#menu_wrapper:hover{
  height: 340px;
}

#menu_wrapper:hover:before{
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out; /* Safari */
  transition: opacity 0.3s ease-in-out;
}

#menu_wrapper:hover > #menu{
  opacity: 100;
  -webkit-transition-property: opacity;
  -webkit-transition-duration: 0.5s;
  -webkit-transition-delay: 0.3s;
  -webkit-transition-timing-function: ease-in-out;
  transition-property: opacity;
  transition-duration: 0.5s;
  transition-delay: 0.3s;
  transition-timing-function: ease-in-out;
}  

#menu{
  position: absolute;
  opacity: 0;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  color: white;
}

#menu_wrapper:hover > #menu > #menu_buttons{
  left: 0;
  -webkit-transition-property: left;
  -webkit-transition-duration: 0.4s;
  -webkit-transition-delay: 0.3s;
  -webkit-transition-timing-function: linear;
  transition-property: left;
  transition-duration: 0.4s;
  transition-delay: 0.3s;
  transition-timing-function: linear;
} 

#menu > #menu_buttons{
  position: relative;
  left: 66px;
}

#menu > #menu_buttons > a:first-child{
  margin-top: 9px;
}

#menu > #menu_buttons > a{
 display: block;
 cursor: pointer;
 padding: 0 9px;
 margin: 5px 0;
}

#menu > #menu_buttons > a > img{
 margin: 0;
}

.uvitani, .uzivatel{
  height:13px;
  font-size: 9pt;
  padding-bottom: 2px;
  text-align: center;
  margin-left: 14px;
  background-color: lightgrey;
  color: white;
  cursor: pointer;    

  -webkit-border-bottom-left-radius: 9px;
  -webkit-border-bottom-right-radius: 9px;
  -moz-border-radius-bottomleft: 9px;
  -moz-border-radius-bottomright: 9px;
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}

.uzivatel{
  -webkit-border-top-left-radius: 9px;
  -webkit-border-top-right-radius: 9px;
  -moz-border-radius-topleft: 9px;
  -moz-border-radius-topright: 9px;
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
  
  border-top: 1px solid white;
  padding: 0 8px;
}

.skew.right {
  margin-right: -8px;
  -webkit-border-top-right-radius: 0;
  -moz-border-radius-topright: 0;
  border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  -moz-border-radius-bottomright: 0;
  border-top-right-radius: 0;
}

.skew.left {
  -webkit-border-top-left-radius: 0;
  -moz-border-radius-topleft: 0;
  border-top-left-radius: 0;
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius-bottomleft: 0;
  border-top-left-radius: 0;
}

td a{
  margin-left: 5px;
}

.uklid {
  display: inline-block;
  float: right;
  margin: 5px 4px 0 4px;
  width: 7px;
  height: 7px;
  background-color: limegreen;
  
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

    .objednat{
      background-color: red;
    } 
    
.neinformovan{
  background-color: lightgrey !important;
  color: black !important;

  border-color: darkgrey;
  border-style: solid;
  border-width: 0 5px;
}

/*************************** POPUP ******************************/

#popup {
  display: none;
  position: absolute;
  top: 10%;
  left: calc(50% - 200px);
  width: 400px;
  height: auto;
  background-color: aliceblue;
  z-index: 999;
  
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;

  -moz-box-shadow: 0px 0px 10px 0px #333333;
  -webkit-box-shadow: 0px 0px 10px 0px #333333;
  box-shadow: 0px 0px 10px 0px #333333;
}

#popup > #caption{
  width: 100%;
  background-color: lightskyblue;
  padding: 0 0 5px 0;
  font-size: 11pt;
  border-bottom: 1px solid cornflowerblue;
  
  -webkit-border-top-left-radius: 8px;
  -moz-border-radius-topleft: 8px;
  border-top-left-radius: 8px;

  -webkit-border-top-right-radius: 8px;
  -moz-border-radius-topright: 8px;
  border-top-right-radius: 8px;
}

.close-button{
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  width: 0.75em;
  height: 0.75em;
  position: relative;
  top: -10px;
  left: 380px;
  border: none;
  -webkit-border-radius: 1em;
  border-radius: 1em;
  font: normal 2.6em/normal Arial, Helvetica, sans-serif;
  -o-text-overflow: clip;
  text-overflow: clip;
  background: black;
  cursor: pointer;
}

.close-button:hover {
  background-color: white;  
}

.close-button:hover::before, .close-button:hover::after{
  background-color: black;  
}

.close-button::before {
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  width: 0.45em;
  height: 0.1em;
  position: absolute;
  content: "";
  top: 0.33em;
  left: 0.155em;
  border: none;
  font: normal 100%/normal Arial, Helvetica, sans-serif;
  color: black;
  -o-text-overflow: clip;
  text-overflow: clip;
  background-color: white;
  text-shadow: none;
  -webkit-transform: rotateZ(45deg)   ;
  transform: rotateZ(45deg)   ;
}

.close-button::after {
  display: inline-block;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  width: 0.45em;
  height: 0.1em;
  position: absolute;
  content: "";
  top: 0.33em;
  left: 0.155em;
  border: none;
  font: normal 100%/normal Arial, Helvetica, sans-serif;
  color: rgba(0,0,0,1);
  -o-text-overflow: clip;
  text-overflow: clip;
  background: #ffffff;
  text-shadow: none;
  -webkit-transform: rotateZ(-45deg)   ;
  transform: rotateZ(-45deg)   ;
}

.buttons
{
  float: right;
  cursor: pointer;
  display: inline-block;
  background-color: white;
  border: 1px solid cornflowerblue;
  padding: 5px 15px;
  margin: 8px 2px 10px 0;
  font-size: 11pt;
  font-weight: bold;
  text-decoration: none;
  color: #333;
  border-radius: .2em;
  position: relative;
  border-left: 30px solid cornflowerblue;
}

.buttons:hover
{
  background-color: cornflowerblue;
  border-color: white;
}

.buttons:before
{
  position: absolute;
  float: left;
  width: 1em;
  text-align: center;
  font-size: 100%;
  top: -5px;
  left: -30px;
  padding: 5px;
  pointer-events: none;
}

.add:before, .edit:before, .save:before, .delete:before, .email:before, .cross:before{
  font-size: 16pt;
  font-weight: normal;
  color: black;
}

/*Forms*/
.add:before    { content: "\271A"; }
.edit:before   { content: "\270E"; }
.delete:before { content: "\2718";}
.save:before   { content: "\2714";}
.email:before  { content: "\2709";}
.cross:before  { content: "\2716"; }

/* Smartphones */
@media only screen and (max-width : 480px) {

  #popup {
    left: 2%;
    width: 95%;
  }
  
  .close-button {
    left: 97%;
  }
  
  table.mySQLtable td{ 	 	
    font-size: 8pt; 	 	
  }
}

.arrival {
  position: relative;
  cursor: default;
}
.arrival .cena {
  position: absolute;
  min-width: 40px;
  background: #000;
  color: #fff;
  height: 20px;
  line-height: 20px;
  text-align: center;
  visibility: hidden;
  border-radius: 4px;
  padding: 0 4px;
}

.arrival.unavailable > .cena {
  display: none;
}

.arrival .cena:after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  width: 0; height: 0;
  border-top: 5px solid #000000;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}
.arrival:hover .cena {
  visibility: visible;
  opacity: 0.8;
  bottom: 23px;
  left: 100px;
  margin-left: -76px;
  z-index: 999;
}

#loader{
    display:    none;
    position:   fixed;
    z-index:    9999;
    top:        0;
    left:       0;
    height:     100%;
    width:      100%;
    background: rgba( 255, 255, 255, .8 ) 
                url('ajax-loader.gif') 
                50% 50% 
                no-repeat;
}
/* When the body has the loading class, we turn
   the scrollbar off with overflow:hidden */
body.loading {
    overflow-x: hidden;   
}
body.loading #loader {
  display: block;
}

/* =====================================================
   1) ÚPRAVY PRO “EXPAND” SEKCI – NEPLATNÉ REZERVACE
   ===================================================== */

.expand-label {
  position: relative;
  margin: -3px -9px -7px -9px;
  padding: 9px;
  display: block;
  font-weight: bold;
}

.expand-label:hover,
.expand-input:checked + .expand-label {
  background: #e9e9e9;
}

.expand-label::before {
  position: absolute;
  right: 15px;
  top: 20px;
  display: block;
  content: "\1f893";  /* šipka dolů/horečka  */
  font-size: 30pt;
  transition: transform .3s;
  transform-origin: top;
}

.expand-input:checked + .expand-label::before {
  transform: rotate(180deg);
  transition: transform .3s;
}

/* Kontejner s tabulkou neplatných rezervací */
.invalid-reservations {
  background-color: #FDEDEC;      /* jemné růžovo-červené */
  border: 1px solid #E6B0AA;      /* jemný červenavý rámeček */
  border-top: none;               /* spojené s .invalid-label */
  border-radius: 0 0 5px 5px;     /* zaoblené dolní rohy */
  padding: 15px;
  margin: 0 10px 10px 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  max-width: 660px;
}

/* Úprava tabulky uvnitř .invalid-reservations */
.invalid-reservations table.mySQLtable {
  width: 100%;
  border: 1px solid #D5D8DC;
  border-radius: 4px;
  overflow: hidden;
}

/* Hlavička tabulky */
.invalid-reservations table.mySQLtable thead th {
  background-color: #CD6155;  /* tmavší červená */
  color: white;
  padding: 8px;
  font-size: 10pt;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 2px solid #A93226;
}

/* Buňky tabulky */
.invalid-reservations table.mySQLtable tbody td {
  padding: 6px 8px;
  font-size: 9pt;
  border-bottom: 1px solid #D5D8DC;
}

/* Střídavé řádky pro lepší čitelnost */
.invalid-reservations table.mySQLtable tbody tr:nth-child(odd) {
  background-color: #FEF2F2; /* velmi světlá růžová */
}

/* Hover efekt nad řádkem */
.invalid-reservations table.mySQLtable tbody tr:hover {
  background-color: #FDEDEC; /* jemné zvýraznění */
}

/* Schování (nebo odlišení) posledního prázdného řádku */
.invalid-reservations table.mySQLtable tbody tr:last-child {
  display: none;
}

/* =========================
   2) RESPONSIVITA
   ========================= */

@media only screen and (max-width: 600px) {
  .invalid-reservations {
    padding: 8px;
    margin: 0 5px 5px 5px;
  }
  .invalid-reservations table.mySQLtable {
    font-size: 8pt;
  }
  .invalid-reservations table.mySQLtable thead th {
    padding: 6px;
    font-size: 9pt;
  }
  .invalid-reservations table.mySQLtable tbody td {
    padding: 4px 6px;
  }
  .invalid-label {
    font-size: 10pt;
    padding: 6px 10px;
  }
}
