body{
	font-family: 'montserrat',Helvetica,Arial,sans-serif;
	font-size:16px;
	color:#7D7D7D;
	background: #dadada;
}
h1{
	margin:0 0 24px;
	font-weight: 300;
	font-size: 150%;
	color:#d60000;
}
h2{
	margin:0 0 8px;
	font-weight: 300;
	font-size: 125%;
	color:#d60000;
}
img{
	max-width:100%;
}
a{
	color:#333;
	text-decoration: underline;
}
table td + td{
	padding-left:10px;
}
table tr + tr td{
	padding-top:5px;
}
.btn{
	display:inline-block;
	height:auto;
	padding:15px 32px;
	padding-bottom: 13px;
	border-radius: 4px;
	line-height: 1;
	background-color: #d60000;
	color:#FFF;
	text-decoration: none;
	border:none;

}
.btn-yellow{
	background:#d60000;
}
.btn-arrow{
	position:relative;
	padding-right:52px;
}
	.btn-arrow svg {
		position:absolute;
		top:50%;
		right:22px;
		margin-top:-7px;
		width:16px;
		height: 16px;
		fill:#FFF;
		opacity:.5;
	}
	.btn-arrow:hover svg{
		opacity: .7;
	}
.circle-badge{
	display:inline-block;
	width:26px;
	height:26px;
	border-radius: 50%;
	background: #cb99c1;
	color:#FFF;
	text-align: center;
	line-height: 26px;
}
.info-label{
	position:relative;
	display:block;
	margin-top:16px;
	position: relative;
	padding-left:34px;
}
	.info-label svg{
		position:absolute;
		top:0;
		left:0;
		width:22px;
		height: 22px;
		fill:#7D7D7D;
	}
.input-field{

}
.input-field + .input-field{
	margin-top:32px;
}
	.input-field > b{
		display:block;
		margin-bottom:4px;
		font-weight:500;
	}
input[type=text],input[type=email],input[type=date],input[type=number],input[type=tel],textarea, select{
	width:350px;
	max-width: 100%;
	height:35px;
	padding:0 10px;
	border: solid 1px #BDBDBD;
	border-radius: 3px;
	box-sizing: border-box;
}
input[type=date]{
	width:auto;
}
select[disabled]{
	background:#EEE;
}
option[disabled]{
	background:#EEE;
	color:#999;
}
label.radio, label.checkbox{
	position:relative;
	display:inline-block;
	cursor:pointer;
}
label.radio + label.radio{
	margin-left:10px;
}
br + label.radio{
	margin-top:5px;
}
	label.radio input[type=radio],
	label.checkbox input[type=checkbox]{
		position:absolute;
		top:0;
		left:0;
		opacity:.01;
	}
	label.radio span,
	label.checkbox span{
		display:inline-block;
		position:relative;
		padding-left:38px;
		line-height:30px;
	}
	label.radio span:before{
		content:"";
		position:absolute;
		top:1px;
		left:0;
		width:20px;
		height:20px;
		border-radius:50%;
		background:#FFF;
		border:solid 2px #C2C2C2;
	}
	label.radio span:after{
		content:"";
		position:absolute;
		top:8px;
		left:7px;
		width:10px;
		height:10px;
		border-radius:50%;
	}
	label.checkbox span:before{
		content:"";
		position:absolute;
		top:1px;
		left:0;
		width:20px;
		height:20px;
		border-radius:3px;
		background:#FFF;
		border:solid 2px #C2C2C2;
	}
	label.checkbox span:after{
		content:"";
		position:absolute;
		top:3px;
		left:7px;
		width:5px;
		height:10px;
		border-right:solid 5px transparent;
		border-bottom:solid 5px transparent;
		transform:rotate(45deg);
	}
	label.radio:hover span:before, label.radio input:focus ~ span:before,
	label.checkbox:hover span:before, label.checkbox input:focus ~ span:before{
		border-color:#333;
	}
	label.radio input:checked ~ span:after{
		background:#d60000;
	}
	label.checkbox input:checked ~ span:after{
		border-color:#d60000;
	}
	label.radio input[disabled] ~ span:before, label.checkbox input[disabled] ~ span:before{
		border-color:#C2C2C2;
	}
	label.radio input[disabled] ~ span:after{
		background:#DDD;
	}
	label.checkbox input[disabled] ~ span:after{
		border-color:#DDD;
	}
	label.radio input[disabled]:checked ~ span:after{
		background:#999;
	}
	label.checkbox input[disabled]:checked ~ span:after{
		border-color:#999;
	}
	label.radio input[disabled] ~ span, label.checkbox input[disabled] ~ span{
		opacity:.5;
		cursor:default;
	}
.phone-number{
	display:flex;
	gap:6px;
	width:350px;
	max-width: 100%;
}
	.phone-number input[type=tel]{
		width:100%;
	}
.msg{
	margin-bottom:32px;
	padding:32px;
	border-radius: 4px;
	background:#d60000;
	color:#FFF;
}
.error{
	margin-bottom:32px;
	padding:32px;
	border-radius: 4px;
	background:#d60000;
	color:#FFF;
}
	.error ul{
		margin:0;
	}
.center{
	position: relative;
	margin:0 auto;
	max-width:1280px;
	box-sizing:border-box;
}
.header{
	position:relative;
	padding:60px 0;
}
	.logo{
		display:block;
		width: 100%;
		max-width: 514px;
	}
	.header h1{
		margin:70px 0 50px;
		font-weight: 500;
		font-size: 205%;
		color:#d60000;
	}
	.header-intro{
		opacity:.7;
	}
	.header-back{
		display:inline-block;
		margin-top:40px;
		position: relative;
		padding-left:20px;
		color:#cb99c1;
		opacity:.5;
		text-decoration: none;
	}
	.header-back:hover{
		opacity:.7;
	}
		.header-back svg{
			position:absolute;
			top:50%;
			left:0;
			margin-top:-8px;
			width:16px;
			height: 16px;
			fill:#cb99c1;
			transform:rotate(180deg);
		}
		@media screen and (max-width: 48em) {
			.header-back {
				margin-top:20px;
				margin-bottom:0px;
			}
		}
.content{
	margin:auto;
	max-width: 1600px;
	background:#FFF;
}
.overview-events-counter{
	color:#cb99c1;
	font-size:112%;
}
.practice{
	display: inline-block;
	margin:5px 0;
	text-decoration: none;
	padding:10px 15px;
	background: #FFF;
	box-shadow: 2px 2px 5px rgba(0,0,0,.25);
}
.event{
	display:block;
	text-decoration: none;
}
	.event-image{
		display:block;
		margin-bottom:24px;
		width:100%;
		border-radius: 5px;
		box-shadow: 0 12px 34px -13px rgba(0,0,0,0.25);
		background:no-repeat center;
		background-size:cover;
	}
		.event-image::before{
			content:"";
			display: block;
			padding-top:70%;
		}
	.event b{
		display:block;
		color:#d60000;
		font-weight: 500;
		font-size:131%;
	}
	.event-date{
		display:block;
		margin:4px 0 24px;
		padding-bottom:4px;
		border-bottom:solid 1px rgba(0,0,0,0.1);
	}
.event-details-image{
	display:block;
	width:100%;
	border-radius: 5px;
	box-shadow: 0 12px 34px -13px rgba(0,0,0,0.25);
}
.event-details-text{
}
.event-details-right{

}
.event-details-right + .event-details-right{
	margin-top:100px;
}
	.event-details-right > h2{
		margin-bottom:24px;
		padding-bottom:16px;
		border-bottom: solid 1px rgba(0,0,0,0.1);
	}
	.event-details-right .btn{
		margin-top:32px;
	}
.subscribe-date{
	display:block;
	height:100%;
	padding:40px;
	box-sizing: border-box;
	border: 1px solid #BDBDBD;
	border-radius: 3px;
	text-decoration: none;
}
.subscribe-date.selected {
	background: rgba(0,0,0,0.06);
	border-color: #F5821F;
}
.subscribe-date:hover{
	background:rgba(0,0,0,.04);
}
.subscribe-buttons{
	/* text-align: right; */
}
.introduce{
	margin-top:32px;
}
	.introduce > b{
		display:block;
		padding-bottom:16px;
		margin-bottom:16px;
		border-bottom:solid 1px rgba(0,0,0,0.1);
	}
.footer {
	text-align: center;
	padding: 20px;
}

@media screen and (max-width: 80em) {
	.center {
		max-width: 60em;
	}
}
@media screen and (max-width: 64em) {
	.center {
		max-width: 45em;
	}
}
@media screen and (max-width: 48em) {
	.content {
		padding-bottom: 60px;
	}
	.header {
		padding-top: 70px;
	}
		.header h1 {
			font-size: 200%;
			margin:20px 0 10px
		}
	.center {
		max-width: 32em;
	}
}
@media screen and (max-width: 35.5em) {
	.content {
		padding-bottom: 40px;
	}
	.header {
		padding: 32px 0;
	}
	.center {
		max-width: 22em;
	}
}
@media screen and (max-width: 25em) {
	.logo svg {
		max-width: 150px;
	}
	.center {
		max-width: 15em;
	}
	.subscribe-date {
		padding: 20px;
	}
	.event-details-image {
		margin: 0 -61px;
		width: calc(100% + 122px);
		max-width:none;
		border-radius: 0;
	}
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.btn {
		padding-bottom: 9px;
	}
	.header-back svg {
		margin-top: -11px;
	}
}