/* =================================================
  === CALENDAR
  ================================================= */
table.bookingcalendar {
	width:100%;
	border: none;
	border-collapse: collapse;
}

table.bookingcalendar td.bookincalendar {
	border:solid 1px #afafaf;
	width:100%;
	padding: 0;
}

table.bookingcalendar td.bookingdateselector {
	line-height:30px;
	height:40px;
	text-align:center;
	border:solid 1px #afafaf;
	width:100%;
	padding: 0;
}




/* =================================================
  === CAPTIONS
  ================================================= */


table.calendar {
	width: 100%;
	border: none;
	border-collapse: collapse;
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
}
table.calendar td.caption, table.calendar td.captionkw {
	background-color: rgba(150,150,150,0.3);
	border-right:  solid 1px #aeaeae;
	border-bottom:  solid 1px #aeaeae;
	vertical-align:middle;
	text-align: center;
	font-weight:normal;
	font-size:12px;
	white-space:nowrap;
	padding:2px 4px;
	color: #4b5962;
}

table.calendar td.captionkw {
	font-weight: bold;
}

table.calendar td.captiontime, table.calendar td.captiontimefinal, table.calendar td.kw {
	background-color: white;
	padding: 2px 4px;
}

table.calendar td.caption:hover {
	background-color: rgba(150,150,150,0.3);
}

table.calendar td.kw:hover, table.calendar td.captiontime:hover, table.calendar td.captiontimefinal:hover {
	background-color: white;
}



table.calendar .caption.ov {

	color:#dfdfdf;
	background-color:#555;

}

table.calendar .caption_date {
	display: block;
	text-align: center;
}

table.calendar .caption_date .weekday {
	display: block;
	font-weight: bold;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	padding-right: 4px;
}

body.xs table.calendar .caption_date .dd-mmm {
	display: block;
	text-align: center;
}

body.xs table.calendar .caption_date .yyyy {
	display: none;
}


table.calendar td.tme {
		font-size: 1px !important;
		max-width: 0 !important;
		min-width: 0 !important;
		border: 0px solid #555 !important;
		border-right: 0px double #555 !important;
}



/* =================================================
  === ZEITRASTER WOCHENKALENDER
  ================================================= */

table.calendar {
	width:100%;
	list-style-type: none;
    padding: 0;
    margin: 0;
    border-collapse: collapse;
    width: 100%
	/*display: inline-block;*/
	zoom: 1;
}



table.calendar {
	* display: inline;  /* IE7 Hack */ 
}

table.calendar a {
	color:#555;
}

table.calendar td {
	background-color:#dfdfdf;
	border:solid 1px #efefef;
	border-bottom:none;
	text-align:left;
	vertical-align:top;
	line-height: 20px;
}

/* td leer even */
table.weeklycalendar td.e {
	background-color:#dfdfdf;
	border:solid 1px #e9e9e9;
	border-bottom:none;
	text-align:left;
	vertical-align:top;    
}

/* td leer odd */
table.weeklycalendar td.o {
	background-color:#e5e5e5;
	border:dotted 1px #f6f6f6;
	text-align:left;
	vertical-align:top;    
}

/* td leer even over */
table.weeklycalendar.intern td.e.ov {
	background-color:#f7f8dd;
	border:solid 1px #FFE377;
	text-align:left;
	vertical-align:top;    
	cursor:pointer;
}

table.weeklycalendar.extern td.e.ov {
	background-color:#ffd433;
	border:solid 1px #FFE377;
	text-align:left;
	vertical-align:top;
	cursor:pointer;
}

/* td leer odd over */
table.weeklycalendar.intern td.o.ov {
	background-color:#f7f8dd ;
	border:solid 1px #ffd433 ;
	border-bottom:none;
	text-align:left;
	vertical-align:top;    
	cursor:pointer;
}

table.weeklycalendar.extern td.o.ov {
	background-color:#FFCF11 ;
	border:solid 1px #ffd433 ;
	border-bottom:none;
	text-align:left;
	vertical-align:top;
	cursor:pointer;
}

/* td besetzt even */
table.weeklycalendar td.na.e {
	background-color:#c62f44;
	border:double 1px #ad3a3a;
	border-right:solid 1px #ad3a3a;
}

/* td besetzt odd */
table.weeklycalendar td.na.o {
	background-color:#b52131 ;
	border:double 1px #a03636 ;
	border-right:solid 1px #a03636;
}

/* td besetzt even over */
table.weeklycalendar td.na.e.ov {
	/*background-color:#af1c28 ;
	border:double 1px #8a2e2e ;
	border-right:solid 1px #8a2e2e ;*/
	background-color:#c62f44;
	border:double 1px #ad3a3a;
	border-right:solid 1px #ad3a3a;
	cursor:pointer;
}

/* td besetzt odd over */
table.weeklycalendar td.na.o.ov {
	/*background-color:#97131d ;
	border:double 1px #7d2a2a ;
	border-right:solid 1px #7d2a2a ;*/
	background-color:#b52131 ;
	border:double 1px #a03636 ;
	border-right:solid 1px #a03636;
	cursor:pointer;
}

/* td gesperrt even */
table.weeklycalendar td.no.e {
	background-color:#7f7f7f;
	border:double 1px #909090;
	border-right:solid 1px #909090;
	cursor:default;
}

/* td gesperrt odd */
table.weeklycalendar td.no.o {
	background-color:#7f7f7f ;
	border:double 1px #909090 ;
	border-right:solid 1px #909090 ;
	cursor:default;
}

/* td gesperrt even over */
table.weeklycalendar td.no.e.ov {
	background-color:#7f7f7f ;
	border:double 1px #909090 ;
	border-right:solid 1px #909090 ;
	cursor:default;
}

/* td gesperrt odd over */
table.weeklycalendar td.no.o.ov {
	background-color:#7f7f7f ;
	border:double 1px #909090 ;
	border-right:solid 1px #909090 ;
	cursor:default;
}

/* td time */ 
table.weeklycalendar td.tme {
	border:solid 1px #555;
	border-right:double 1px #555;
	text-align:right;
	vertical-align:top;
	font-weight:normal;
	font-size:11px;
	white-space:nowrap;
	background-color:#fff;
	max-width:10px;
	line-height:1px;
}

/* td timeover */ 
table.weeklycalendar .tme.ov {
	border:solid 1px #555;
	border-right:double 1px #555;
	text-align:right;
	vertical-align:top;
	font-weight:normal;
	font-size:11px;
	white-space:nowrap;
	color:#dfdfdf;
	background-color:#e19e0e !important;
	line-height:1px;
	max-width:20px;
}

/* td timeover 2 */ 
table.weeklycalendar .tme.ov2 {
	border:solid 1px #555;
	border-right:double 1px #555;
	text-align:right;
	vertical-align:top;
	font-weight:normal;
	font-size:11px;
	white-space:nowrap;
	background-color:#767676;
	line-height:1px;
}


/* =================================================
  === Datums und Navigationsanzeiger, Wochen und Monatsanzeiger
  ================================================= */

table.bookingdatenavigator {
	width:100%;
	height:100%;
	border: 0px;
	border-collapse: collapse;
}


table.bookingdatenavigator td {
	background-color: #efefef;
	vertical-align: middle;
	border: 0px;
	padding: 10px 0px;
}

table.bookingdatenavigator td a {
	cursor: pointer;
}

table.bookingdatenavigator td.bookingarrowleft {
	text-align:right;
}

table.bookingdatenavigator td.bookingarrowright {
	text-align:left;
}

table.bookingdatenavigator td.bookingarrowcenter {
	text-align:center;
	vertical-align:middle;
	white-space:nowrap;
	padding:0px 15px;
	min-width: 180px;
}

table.bookingdatenavigator td.iconleft {
	width:50%;
	text-align:left;
}

table.bookingdatenavigator td.iconright {
	width:50%;
	text-align:right;
}



table.bookingdatenavigator div.calendarweekinactive, table.bookingdatenavigator a.calendarweekinactive {
	background:url(/cm_res/images/booking_calendar/icons_calendar_week_inactive.svg) no-repeat  20px center;
	background-size: 28px 22px;
	width:65px;
	height:32px;
	display: block;
	float:left;
}


table.bookingdatenavigator a.calendarweekactive {
	background:url(/cm_res/images/booking_calendar/icons_calendar_week.svg) no-repeat 20px center;
	background-size: 28px 22px;
	width:65px;
	height:32px;
	display: block;
	float:left;
}


table.bookingdatenavigator a.calendarweekactive:hover {
	background:url(/cm_res/images/booking_calendar/icons_calendar_week_over.svg) no-repeat 20px center;
	background-size: 28px 22px;

}

table.bookingdatenavigator div.calendarmonthinactive, table.bookingdatenavigator a.calendarmonthinactive {
	background:url(/cm_res/images/booking_calendar/icons_calendar_month_inactive.svg) no-repeat 20px center;
	background-size: 28px 22px;
	width:65px;
	height:32px;
	display: block;
	float:right;
	padding-right: 5px;
}

table.bookingdatenavigator a.calendarmonthactive {
	background:url(/cm_res/images/booking_calendar/icons_calendar_month.svg) no-repeat  20px center;
	background-size: 28px 22px;
	width:65px;
	height:32px;
	display: block;
	float:right;
	padding-right: 5px;
}

table.bookingdatenavigator a.calendarmonthactive:hover {
	background:url(/cm_res/images/booking_calendar/icons_calendar_month_over.svg) no-repeat 20px center;
	background-size: 28px 22px;

}


a.calendarweekactive, a.calendarmonthactive {
	cursor: pointer;
}

div.calendarweekinactive span, a.calendarweekinactive span, a.calendarweekactive span, div.calendarmonthinactive span, a.calendarmonthinactive span, a.calendarmonthactive span {
	display: none;
}

table.bookingdatenavigator a.bookingarrowleft {
	background:url(/cm_res/images/booking_calendar/icon_arrow_left_invert.gif) no-repeat left center;
	width:30px;
	height:30px;
	display: block;
	float:right;
}

table.bookingdatenavigator a.bookingarrowleft:hover {
	background:url(/cm_res/images/booking_calendar/icon_arrow_left_invert_over.gif) no-repeat left center;

}

table.bookingdatenavigator a.bookingarrowright {
	background:url(/cm_res/images/booking_calendar/icon_arrow_right_invert.gif) no-repeat left center;
	width:30px;
	height:30px;
	display: block;
	float:left;
}

table.bookingdatenavigator a.bookingarrowright:hover {
	background:url(/cm_res/images/booking_calendar/icon_arrow_right_invert_over.gif) no-repeat left center;

}

table.bookingdatenavigator div.bookingdoublearrowleft {
	background:url(/cm_res/images/booking_calendar/icon_arrow_left2.gif) no-repeat right center;
	width:30px;
	height:30px;
	cursor:pointer;
}

table.bookingdatenavigator div.bookingdoublearrowright {
	background:url(/cm_res/images/booking_calendar/icon_arrow_right2.gif) no-repeat left center;
	width:30px;
	height:30px;
	cursor:pointer;
}

table.bookingdatenavigator a.bookingarrowleft span
, table.bookingdatenavigator a.bookingarrowright span
, table.bookingdatenavigator div.bookingdoublearrowleft span
, table.bookingdatenavigator div.bookingdoublearrowright span {
	display:none;
}

/*  END Datums und Navigationsanzeiger */



/*  Monatsselektor */
/*div.monthselector {
	height:200px;
	overflow:auto;
	width:180px;
	background-color:white;
	border:solid 1px black;
	padding:5px;
	position:absolute;
	-webkit-box-shadow:  2px 2px 20px 2px rgba(0, 0, 0, 0.5);
	box-shadow:  2px 2px 20px 2px rgba(0, 0, 0, 0.5);
	margin-top:0px;
	display: none;
	margin-left:-60px;
}

div.monthselector ul {
  	width:160px;
}

div.monthselector li {
	font-size:12px;
	line-height:10px;
	text-align:left;
}

div.monthselector li a {
	text-decoration:none;
	line-height:18px;
	padding-left:5px;
	display:block;
}

div.monthselector li:hover {
  	background-color:#efefef;
}

div.monthselector li.group {
	font-size:12px;
	font-weight:bold;
	display:block;
	color:white;
	background-color:#555;
	margin:10px 0px 3px 0px;
	padding:4px 1px 2px 5px;
}

div.monthselector li.group:hover {
	background-color:#555;
}*/

/*damit nachfolgende Elemente mit korrektem Abstand angezeigt werden*/
.spacer {
	clear: left;
	}


/*  END Monatsselektor */















/* ======== Monatskalender ========== */




/*table.calendar td:nth-child(7n), table.calendar td:nth-child(8n),table.calendar th:nth-child(7n), table.calendar th:nth-child(8n) {
    background-color: #aeaeae;
}*/



table.calendar th {
  border-bottom: solid 1px #aeaeae;
  border-right: solid 1px #aeaeae;
  height: 15px;
  text-align: center;
  width: 13%;
  font-size: 12px;
  font-weight: bold;

}


table.calendar td.day {
    width: 13%;
    min-width: 40px;
    min-height: 100px;
    border-bottom: solid 1px #aeaeae;
    border-right: solid 1px #aeaeae;
    text-align: center;
    height: 70px;
    background-color: #f2f2f2;
    cursor: pointer;
}


table.calendar td.setlocked{
  background-color: #7f7f7f;
  color: #dfdfdf;
}

table.calendar td.setbooked{
    background-color: #c62f44;
    color: #f4e0e2;
}


table.calendar.intern td:hover {
    background-color: #f7f8dd;
}

table.calendar.extern td:hover {
    background-color: #ffd433;
}

table.calendar.extern td.top:hover {
    background-color: #555 !important;
    color:#dfdfdf;
}

table.calendar.extern td.kw:hover {
    background-color: #fff !important;
    color:#4b5962;
}


table.calendar td.setlocked:hover, table.calendar td.ov.setlocked {
    background-color: #7f7f7f;
}

table.calendar td.setbooked:hover, table.calendar td.ov.setbooked {
    background-color: #c62f44 !important;
    color: #f4e0e2;
}



table.calendar td.eased {
    color: #aaa;
}

table.calendar.intern td.eased:hover, table.calendar.intern td.dow:hover {
   background-color: #f7f8dd;
}

table.calendar.extern td.dow:hover {
   background-color: #ffd433;
}

table.calendar.extern td.eased:hover{
   background-color: #f2f2f2;
}

table.calendar.extern td.eased.setlocked:hover{
   background-color: #7f7f7f;
}

table.calendar td.eased.setbooked, table.calendar td.eased li.setbooked  {
    background-color: #dfdfdf;
    color: #aaa;
}

table.calendar td.eased.setlocked, table.calendar td.eased li.setlocked  {
    background-color: #7f7f7f;
    color: #aaa;
}


table.calendar td.dow, table.calendar th.dow {
    width: 1%;
    padding: 5px;
    text-align: center;
}

table.calendar td.kw {
    height:100% !important;
    vertical-align : middle !important;
    text-align:center !important;
    font-weight:bold !important;
    background-color: white;
}

table.calendar td.caption.top:last-child {
    border-right: none;

}

table.calendar tr:last-child td.caption.kw,
table.calendar tr:last-child td.day,
table.calendar td.captiontimefinal {
    border-bottom: none;

}

table.calendar td.day:last-child {
    border-right: none;

}





ul.bookings{
  list-style-type: none;
  padding: 0;
  margin: 0;
  font-size: 11px;
  margin-top: 5px;
    margin-bottom: 10px;
    padding: 3px;

    overflow-y: hidden;
    overflow-x: hidden;
}

ul.bookings li:first-child {
  text-align: center;
    margin-bottom: 5px;
}

ul.bookings li.blocked {
    border-radius: 2px;
    margin-bottom: 2px;
    padding: 2px;
}

ul.bookings li.setlocked {
    background-color: #7f7f7f;
    color: #dfdfdf;    
}

ul.bookings li.setbooked {
    background-color: #c62f44;
    color: #f4e0e2;
}

/* changed from 0.8 to 1 in order to have NO stripes anymore */
/* changed from 0.8 to 1 in order to have NO stripes anymore */

table.calendar td.na.double.e, table.calendar td.na.double.o{
  background-color: rgba(255, 128, 0, 0.3) !important;
  border: solid 1px rgba(204, 102, 0, 0.3);
}

table.calendar td.double.e.ov, table.calendar td.double.o.ov{
  background-color: rgba(255, 128, 0, 0.3) !important;
  border: solid 1px rgba(204, 102, 0,  0.3) !important;
}

table.calendar td.na.double.day{
  background-color: rgba(255, 128, 0, 0.3) !important;
  border: solid 1px rgba(204, 102, 0, 0.3);
}

table.calendar td.na.double.day:hover{
  background-color: rgba(255, 128, 0,  0.3) !important;
  /*border: solid 1px rgba(204, 102, 0, 1);*/
}




/*  * Raumplanung Styles aus Kunden CSS */

#bookingadm h3 {
  margin-bottom: 0;
}


#bookingadm input.dlginput {
  width: 100% !important;
}

#bookingadm input.ad_date, #bookingadm input.ad_time,
#bookingadm input.ad-input-time, #bookingadm input.ad_integer,
#bookingadm input.ad-input-number {
    width: 120px !important;
}

#bookingform div > H3 {
  margin-bottom: 0;
}

#bookingform div > div.fielditem.checkbox {
  padding-top: 0;
}

#bookingform div > div.fielditem.checkbox > label {
  margin-top: 0;
}

#bookingform #accordion label {
  width: 100%;
}

#bookingform input[type="radio"], input[type="checkbox"] {
    margin: 1px 10px 0 0;
}


div.fieldbutton *.dlgbutton {
  padding: 3px 12px !important;
}

.address.roomdetails {
  margin-top: 9px;
}


