.main{
	width: 1000px;
	max-width: 100%;
	box-sizing: border-box;
}

#calendar-layout{
	display: grid;
	grid-template-columns: minmax(205px, 230px) minmax(0, 1fr) minmax(180px, 215px);
	align-items: start;
	gap: 12px;
	margin-top: 8px;
}

.calendar-sidebar,
.calendar-content,
.calendar-aside{
	min-width: 0;
}

.calendar-content .groupbox{
	margin: 0 0 12px;
	padding: 14px 16px;
	border-radius: 5px;
	background: #fff;
	text-align: left;
	box-shadow: 0 1px 3px rgba(31, 41, 55, .08);
}

.calendar-content .groupboxheader{
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #e7e5e4;
}

.calendar-content .groupboxheader h3{
	margin: 0;
	color: #242a32;
	font-size: 18px;
	line-height: 1.35;
}

.calendar-content .groupbox p,
.calendar-content .groupbox > div:not(.groupboxheader){
	line-height: 1.65;
}

.calendar-date-summary .groupbox{
	border-top: 4px solid #a43a3a;
	padding-top: 12px;
}

.calendar-date-summary .groupboxheader h3{
	font-size: 22px;
}

.calendar-date-facts{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
}

.calendar-date-facts > div{
	min-width: 0;
	padding: 9px 11px;
	border: 1px solid #e7e5e4;
	border-radius: 4px;
	background: #fafaf9;
}

.calendar-date-facts dt{
	margin-bottom: 3px;
	color: #666b73;
	font-size: 12px;
	font-weight: 600;
}

.calendar-date-facts dd{
	margin: 0;
	color: #242a32;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.calendar-date-facts > div:first-child dd{
	color: #a43a3a;
	font-size: 20px;
}

.calendar-date-nav{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #e7e5e4;
}

.calendar-date-nav a{
	display: inline-flex;
	min-height: 36px;
	align-items: center;
	justify-content: center;
	padding: 0 11px;
	border: 1px solid #d6d3d1;
	border-radius: 4px;
	background: #fff;
	color: #394150;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
}

.calendar-date-nav a:hover{
	border-color: #a43a3a;
	background: #fff7f7;
}

.calendar-date-nav .calendar-today{
	border-color: #a43a3a;
	background: #a43a3a;
	color: #fff;
	font-weight: 600;
}

.calendar-sidebar .groupbox,
.calendar-aside .groupbox{
	margin: 0 0 10px;
	padding: 12px;
	border-radius: 5px;
	background: #fff;
	text-align: left;
	box-shadow: 0 1px 3px rgba(31, 41, 55, .07);
}

.calendar-sidebar .groupboxheader,
.calendar-aside .groupboxheader{
	margin-bottom: 9px;
	padding-bottom: 7px;
	border-bottom: 1px solid #e7e5e4;
}

.calendar-sidebar .groupboxheader h3,
.calendar-aside .groupboxheader h3{
	margin: 0;
	color: #303640;
	font-size: 15px;
}

.calendar-sidebar .leftmenulist,
.calendar-sidebar .pure-menu ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.calendar-sidebar .leftmenulist li,
.calendar-sidebar .pure-menu li{
	margin: 0;
	padding: 0;
	list-style: none;
}

.calendar-sidebar .leftmenulist a,
.calendar-sidebar .pure-menu a{
	display: block;
	padding: 7px 8px;
	border-radius: 3px;
	color: #394150;
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none;
}

.calendar-sidebar .leftmenulist a:hover,
.calendar-sidebar .pure-menu a:hover{
	background: #f5f1ed;
	color: #8c2d2d;
}

.calendar-date-picker{
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.calendar-date-picker label{
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	align-items: center;
	gap: 7px;
	color: #4b5563;
	font-size: 13px;
}

.calendar-date-picker select{
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	padding: 7px 8px;
	border: 1px solid #cbc7c2;
	border-radius: 4px;
	background: #fff;
	font: inherit;
}

.calendar-date-picker button{
	min-height: 38px;
	width: 100%;
	margin: 2px 0 0;
	border: 1px solid #8e3030;
	border-radius: 4px;
	background: #a43a3a;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.calendar-date-picker button:hover{
	background: #872e2e;
}

#searchlocationform input[type="text"]{
	width: 100%;
	box-sizing: border-box;
	margin: 5px 0;
	padding: 8px;
	border-radius: 4px;
}

#searchlocationform input[type="submit"]{
	width: auto !important;
	min-width: 80px;
	min-height: 36px;
	margin: 2px 0;
}

#searchlocationform a{
	display: inline-block;
	padding: 5px 0;
}

@media (max-width: 1050px){
	.main{
		width: calc(100% - 20px);
	}

	#calendar-layout{
		grid-template-columns: minmax(185px, 220px) minmax(0, 1fr);
	}

	.calendar-aside{
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px){
	.main{
		width: calc(100% - 16px);
	}

	.tophormenu{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 6px;
	}

	.tophormenu #langmenu,
	.tophormenu #usermenu,
	#logo-title-left,
	#logo-title-right,
	#mainmenuleft{
		float: none !important;
	}

	.tophormenu ul,
	#mainmenuleft ul{
		display: flex;
		flex-wrap: wrap;
		margin: 0;
		padding: 0;
	}

	.bar li{
		float: none;
	}

	#logo-title-right{
		margin-top: 3px;
	}

	#calendar-layout{
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.calendar-content{
		grid-row: 1;
	}

	.calendar-sidebar{
		grid-row: 2;
	}

	.calendar-aside{
		grid-row: 3;
	}

	.calendar-date-facts{
		grid-template-columns: minmax(0, 1fr);
	}

	.calendar-date-facts > div:first-child dd{
		font-size: 18px;
	}

	.calendar-date-nav{
		gap: 5px;
	}

	.calendar-date-nav a{
		flex: 1 1 0;
		padding: 0 5px;
		font-size: 12px;
	}

	.calendar-content .groupbox,
	.calendar-sidebar .groupbox,
	.calendar-aside .groupbox{
		padding: 11px;
	}
}
