h2, h3, h4, h5, h6 { color: #547B97; }

/* Layout - Calendar */

a.cc-event:link,
a.cc-event:visited { background-color: #975459; }
a.cc-event:hover { background-color: #6A3333; }

a.cc-own:link,
a.cc-own:visited { background-color: #8BB243; }
a.cc-own:hover { background-color: #5F8024; }

a.cc-single:link,
a.cc-single:visited { background-color: #808D96; }
a.cc-single:hover { background-color: #4C5359; }

a.cc-multiple:link,
a.cc-multiple:visited { background-color: #547B97; }
a.cc-multiple:hover { background-color: #334F6A; }

a.cc-conflict:link,
a.cc-conflict:visited { background-color: #334F6A; }
a.cc-conflict:hover { background-color: #334F6A; }

/* Layout - Alternate Calendar */

.cc-range-member a {
    border-color: #547B97 !important;
    background-color: #547B97 !important;
}

/* General Purpose - Classes */

.my-highlight { color: #5F8024; }

.badge { background-color: #547B97; }
.badge-label { color: #547B97; }

/* Links */



.light-gray { color: #FFFFFF; }
#branding { color: #FFFFFF; }
#branding a:link, #branding a:visited { color: #FFFFFF; text-decoration: none; border: none !important; }
#footer, #footer a:visited {color: #FFFFFF !important;}

#footer a:hover {
  border: none;
}


/* Handy-Optimierung: weißer Hintergrund hinter Tabellen und weniger Platzverbrauch (Padding)*/
 @media (max-width: 768px) {
	body {
		padding: 3px;
		width: 100%;
		max-width: 100%;
	}

	#calendar {
		padding: 3px 5px 3px 3px;
		width: 100vw;
	}
	
	/* .calendar-table td,
	.calendar-table th {
	  	box-sizing: border-box;
	} */
	
	.calendar-date-col, .calendar-time-col {
		padding-left: 1px !important;
		vertical-align: top;
	}
	
	tr.calendar-core-row td {
	  height: 30px !important;
	  min-height: 30px !important;
	  max-height: 30px !important;
	  padding: 1px !important;
	}
	
	tr.calendar-square-row td {
	  height: 40px !important;
	  min-height: 40px !important;
	  max-height: 40px !important;
	  padding: 1px !important;
	  box-sizing: border-box;
	}
	
	tr.calendar-square-row td > * {
    		height: 100%;
	}
	
	tr.calendar-date-row td {
	  height: 50px !important;
	  min-height: 50px !important;
	  max-height: 50px !important;
	  padding: 1px !important;
	  line-height: unset !important;
	}

	.calendar-time-table {
		height: 100% !important;
		width: 100% !important;
	}
	
	.calendar-time-col {
		width: 72px !important;
		min-width: 72px !important;
    		max-width: 72px !important;
  		vertical-align: top;
  		height: 100% !important;
	} 
	
	table.calendar-time-table tr.calendar-core-row td {
		width: 70px !important;
		min-width: 70px !important;
    		max-width: 70px !important;
	}

	.calendar-table {
		display: block;
		table-layout: fixed !important;
		max-width: 100vw;
		width: 100%;
		height: 100% !important;
	}

	#content,
	.content-panel,
	.panel {
		width: auto;
		max-width: none !important;
	}

	#calendar > table {
		table-layout: fixed;
		width: 100%;
	}
	
	#calendar-toolbar-userpanel
	{
		width: auto !important;
	}
	
	.table {
    		overflow-x: hidden;
	}
	
	.calendar-date-col {
  		width: 100% !important;
  		height: 1px;
  	}
  	
  	.calendar-time-table td, .calendar-date-table td, .calendar-square-table td
  	{
  		padding: 1px !important;
  	}
  	
  	.square-label {
		  height: 100%;
		  display: flex;
		  align-items: center;
		  justify-content: center;
		  text-align: center;
	}
	
	/* td:has(.symbolic-user) {
  		display: none;
	} */
	
	  .panel:has(form[action="/backend/booking/edit"]) {
	    position: absolute !important;
	    top: 50vh;
	    left: 0 !important;
	    right: auto !important;
	    transform: translateY(-50%) !important;

	    width: max-content;      /* wächst nach rechts */
	    min-width: 100vw;        /* mindestens Bildschirmbreite */

	    max-width: none;         /* keine Begrenzung */

	    overflow: visible;
	    padding: 2px !important;
	  }
	  
	  .panel:has(form[action="/backend/booking/edit"]) .padded
	  {
	  	padding: 0px !important;
	  }
	  
	  .panel:has(form[action="/backend/booking/edit"]) .centered-text
	  {
	  	text-align: left !important;
	  	padding: 5px 0 10px 30px;
	  }
	  .panel:has(form[action="/backend/booking/edit"]) .sandbox
	  {
	  	padding: 3px;
	  	margin: 0px;
	  }
	  
	  .panel:has(form[action="/backend/booking/edit"]) td
	  {
	  	padding: 2px;
	  }
	  
	  #squarebox-overlay {
	  	position: fixed !important;
		  top: 0 !important;
		  left: 0 !important;
		width: 200vw !important;
  		height: 200vh !important;
	  }
	  
	  /* td:has(.default-form-notes)
	  {
	  	display: none !important;
	  } */
	  
}

.calendar-table td:nth-child(4),
.calendar-table th:nth-child(4) {
  border-right: 2px solid #888;
} 

.content-panel, .centered-panel, #calendar, #content
{
	overflow-x: auto !important;
}

#calendar {
	display: inline-block !important;
	max-width: 100% !important;
	width:100% !important;
}

table {
    max-width: 100% !important;
}

.cc-label {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

#header, #footer {
  border: none !important;
}

#topbar-separator
{
	display: none !important;
}

#wrapper, #page, #main, .container {
  background: none !important;
}


