html {
	width: 100%;
	height: 100%;
}
body {
	width: 100%;
	height: 100%;
	background: #fff;
	line-height: 1.6;
}
body,
a,
table,
input,
button,
select,
textarea {
	color: #484848;
	font-weight: normal;
	font-size: 15px;
	font-family: 'Open Sans', sans-serif;
	line-height: 1.7;
}
h1 {
	margin-bottom: 25px;
	font-weight: 600;
	font-size: 177%;
	letter-spacing: 1px;
	line-height: 1.2;
}
h2 {
	font-weight: 300;
	font-size: 20px;
	letter-spacing: 1px;
	color: #b3b3b3;
}
a {
	color: #100d9d;
}
table {
	width: 100%;
}
td {
	width: 60px;
}
td,
th {
	text-align: left;
	vertical-align: top;
	padding: 2px 10px 0 0;
}
sup {
	font-size: 80%;
}
img.left {
	float: left;
	margin-right: 8px;
	margin-bottom: 8px;
}
img.right {
	float: right;
	margin-right: 8px;
	margin-bottom: 8px;
}
ol{
	list-style-type: lower-alpha;
}
label {
	cursor: pointer;
}
input[type='text'],
input[type='number'],
input[type='email'],
input[type='tel'],
select {
	margin: 0px;
	max-width: 90%;
	width: 350px;
	padding: 4px 12px;
	border: solid 1px #b1b1b1;
	border-radius: 3px;
	box-sizing: border-box;
	vertical-align: middle;
}
input[type='number'] {
	width: 50px;
}
input[disabled='disabled'], input[readonly='readonly'] {
	background: #fff;
	border: none;
	font-style: italic;
}
input.button,
input.submit {
	padding: 5px 10px;
	border-radius: 2px;
	background: #000;
	border: none;
	font-size: 15px;
	color: #fff;
	line-height: 22px;
	text-decoration: none;
}
textarea {
	width: 100%;
	height: 50px;
	border: solid 1px #b1b1b1;
	line-height: 1.1;
	border-radius: 3px;
	padding: 4px 12px;
}
.button,
button {
	position: relative;
	display: inline-block;
	padding: 0 29px;
	height: 50px;
	border: none;
	background: #ed145a;
	vertical-align: middle;
	line-height: 50px;
	text-decoration: none;
	font-size: 21px;
	font-weight: 300;
	cursor: pointer;
	color: #fff;
}
.button:hover,
button:hover {
	background: #ed145a;
}
button:disabled{
	background: #CCC;
	border-color:#BBB;
	cursor:not-allowed;
}
.phone-number{
	display:flex;
	gap:6px;
	width:350px;
	max-width: 90%;
}
	.phone-number input[type=tel]{
		width:100%;
	}
.row_2 {
	overflow: hidden;
}
.row + .row {
	margin-top: 50px;
}
.row_2 .column {
	float: left;
	width: 49%;
}
.row_2 .column + .column {
	margin-left: 2%;
}
.block {
	padding: 40px;
	background: #fff;
	border-bottom-right-radius: 1.5em;
	box-shadow: 1px 1px 9px rgba(0, 0, 0, 0.1);
}
.block a {
	color: #999;
	text-decoration: none;
}
.block a:hover {
	color: #000;
}
.google_maps {
	padding: 0;
	min-height: 400px;
	overflow: hidden;
}
.introduce + .introduce {
	margin-top: 24px;
}
.form_block + .form_block {
	margin-top: 10px;
}
.form_block b {
	display: block;
	font-weight: 600;
	font-size: 61%;
	text-transform: uppercase;
	color: #b3b3b3;
}
label {
	position: relative;
}
label.checkbox {
}
label.checkbox input {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.01;
}
label.checkbox span {
	display: inline-block;
	position: relative;
	padding-left: 38px;
	line-height: 30px;
}
label.checkbox span:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 28px;
	height: 28px;
	border-radius: 4px;
	background: #fff;
	border: solid 1px #c2c2c2;
}
label.checkbox span:after {
	content: '';
	position: absolute;
	top: 6px;
	left: 5px;
	width: 14px;
	height: 6px;
	border-left: solid 5px #eee;
	border-bottom: solid 5px #eee;
	transform: rotate(-45deg);
}
label.checkbox:hover span:before,
label.checkbox input:focus ~ span:before {
	border-color: #333;
}
label.checkbox:hover span:after,
label.checkbox input:focus ~ span:after {
	border-color: #ddd;
}
label.checkbox input:checked ~ span:after {
	border-color: #ed145a;
}
label.radio {
	display: inline-block;
}
br + label.radio {
	margin-top: 5px;
}
label.radio input {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.01;
}
label.radio span {
	display: inline-block;
	position: relative;
	padding-left: 38px;
	line-height: 30px;
}
label.radio span:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
	border: solid 2px #c2c2c2;
}
label.radio span:after {
	content: '';
	position: absolute;
	top: 8px;
	left: 8px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #eee;
}
label.radio:hover span:before,
label.radio input:focus ~ span:before {
	border-color: #333;
}
label.radio:hover span:after,
label.radio input:focus ~ span:after {
	background: #ddd;
}
label.radio input:checked ~ span:after {
	background:#ed145a;
}
label.radio input[disabled] ~ span:before,
label.checkbox input[disabled] ~ span:before {
	border-color: #c2c2c2;
}
label.radio input[disabled] ~ span:after,
label.checkbox input[disabled] ~ span:after {
	background: #ddd;
}
label.radio input[disabled]:checked ~ span:after,
label.checkbox input[disabled]:checked ~ span:after {
	background: #999;
}
label.radio input[disabled] ~ span,
label.checkbox input[disabled] ~ span {
	opacity: 0.5;
	cursor: default;
}
.packages{

}
	.packages__package{
		display:block;
		position: relative;
		overflow: hidden;
	}
	.packages__package + .packages__package{
		margin-top:32px;
	}
		.packages__package input{
			position: absolute;
			top:0;
			left:0;
			opacity: .01;
		}
		.packages__package__content{
			padding:16px;
			border:solid 1px #ed145a;
			border-radius: 4px;
			overflow: hidden;
		}
		.packages__package input:checked ~ .packages__package__content{
			background: #d7e5fc;
		}

		.packages__package__title{
			display: block;
			font-size:120%;
		}
		.packages__package img{
			float:left;
			margin:0 24px 24px 0;
			width:30%;
		}
.dates {
}
.date {
	margin-top: 20px;
}
.date > b,
.date > label b {
	display: block;
	margin-bottom: 10px;
	font-weight: bold;
	color: #000;
	clear: both;
}
.date > label {
	margin-bottom: 10px;
}
.date > div {
	flex-wrap: wrap;
    display: grid;
	gap: 20px;
    grid-template-columns: repeat(3, 1fr);
}
.date > div > * {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	float: left;
	position: relative;
	border-radius: 4px;
	box-sizing: border-box;
	background-color: #f7f5f3;
    color: #ed145a;
	font-weight: bold;
	text-align: center;
}
.date > div > div {
	opacity: 0.5;
	background: transparent;
	border: dashed 1px #f7f5f3;
	color: #DDD;
	font-size: 77%;
}
.date > div label:hover {
	background-color: #ed145a;
	color: #fff;
}
.date > div > div > div::before {
	display: block;
	content: 'Vol';
	font-size: 128%;
}
.date > div > *:nth-child(3n + 1) {
	margin-left: 0;
}
.date > div label input {
	position: absolute;
	opacity: 0;
}
.date > div > * div {
	position: relative;
	width: 100%;
	padding: 32px 10px;
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.date > div > div div {
	padding: 16px 10px;
}
.date > div label input:checked ~ div {
	background: #ed145a;
    color: #fff;
	border-radius: 4px;
}
.date > div label input:checked ~ div::before {
	content: '';
	position: absolute;
	top: -6px;
	left: -6px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: #ed145a;
}
/*
			.dates label div span{
				position:absolute;
				left:0;
				bottom:0;
				height:5px;
				background:#00cc00;
			}
			*/

.dates--workshops > div > * {
    grid-template-columns: repeat(2, 1fr);
}

.clear {
	clear: both;
}
.msg {
	margin-bottom: 20px;
	padding: 10px 20px;
	background-color: #f0796e;
	color:#FFF;
}
.error {
	margin-bottom: 20px;
	padding: 10px 20px;
	border-radius: 0 18px 18px 18px;
	background: #9e005d;
	color: #FFF;
}
.mobile {
	display: none;
}
.clear {
	clear: both;
}
#header {
	position: relative;
	left: 0;
	background: no-repeat top center #EEE;
	background-size: cover;
	overflow: hidden;
	transition: 0.5s;
}
@media all and (max-width: 1099px) {
	#header {
		position: relative;
		max-height: 50%;
		background-position: center top;
	}
}
@media all and (max-width: 700px) {
	#header {
		max-height: none;
	}
}
@media all and (min-width: 1100px) {
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 40%;
		height: 100%;
		background-position: center bottom;
	}
}
@media all and (min-width: 1400px) {
	#header {
		width: 50%;
	}
}
.faq #header {
	left: 50vw;
}
#header:before {
	content: '';
	display: block;
	margin-top: 40%;
}
.faq-button {
	position: absolute;
	left: 30px;
	bottom: 30px;
	width: 50px;
	padding: 25px;
	border-radius: 50%;
	background: #ed145a;
}
.faq-button img {
	display: block;
	width: 50px;
}
#header-text {
	position: absolute;
	left: 20%;
	bottom: 20%;
	width: 60%;
	color: #fff;
	font-size: 21px;
	line-height: 1.2;
	font-weight: 300;
	z-index: 2;
}
#header-text.spaarne-gasthuis-header-text {
	left: 0%;
	bottom: 5%;
	width: 100%;
	text-align: center;
}
.header-text-placeholder {
	display: inline-block;
	margin-bottom: 10px;
	padding: 0 20px;
	background: #000099;
	color: #fff;
	line-height: 36px;
	font-weight: bold;
	font-size: 16px;
}
#header-text i {
	display: block;
	font-weight: bold;
	font-style: normal;
}
#header-text b {
	display: block;
	margin-bottom: 10px;
	font-size: 300%;
	font-weight: 300;
}
#header-text span {
	display: block;
	margin-top: 10px;
	padding-left: 36px;
	background-position: left center;
	background-repeat: no-repeat;
	line-height: 34px;
}
.header-text-location {
	background-image: url(/images/ossbernheze/location.png);
}
.header-text-time {
	background-image: url(/images/ossbernheze/time.png);
}
#text {
	position: relative;
	left: 0vw;
}
.text {
	min-height: 100%;
	padding: 20px 20px 170px;
	box-sizing: border-box;
	background: #fff;
	transition: 0.5s;
}
@media all and (min-width: 1100px) {
	.text {
		width: 60%;
		padding: 50px 50px 170px;
	}
}
@media all and (min-width: 1400px) {
	.text {
		width: 50%;
		padding: 120px;
		padding-top: 60px;
	}
}
.faq #text {
	left: 50vw;
}
.languages {
	margin-bottom: 20px;
}
.languages a {
	display: inline-block;
	text-decoration: none;
}
.languages a + a {
	margin-left: 5px;
}
.languages img {
	max-width: 32px;
}
.logo {
	margin:0 auto 20px;
	width:100%;
	max-width:300px;
}
@media all and (min-width: 1400px) {
	.logo {
		right: 120px;
	}
}
	.logo img {
		display: block;
		width:100%;
	}
.language-link {
	text-decoration: none;
}
.language-link img {
	display: inline-block;
	margin-right: 10px;
	width: 32px;
	vertical-align: middle;
}
#back {
	position: absolute;
	top: 25px;
	left: 50px;
	padding-left: 30px;
	line-height: 20px;
	background: #fff;
	text-decoration: none;
}
#back:before {
	content: '';
	position: absolute;
	top: 0;
	left: 5px;
	width: 15px;
	height: 15px;
	border-top: solid 2px #000099;
	border-left: solid 2px #000099;
	transform: rotate(-45deg);
}
#text h1 {
	padding-right: 250px;
}
.event-logo{
	position: absolute;
	right: 50%;
	bottom: 30px;
	margin-right:-60px;
	width:120px;
}
@media all and (min-width: 600px) {
	.event-logo{
		right: 30px;
		bottom:20px;
		margin-right:0;
	}
}
#footer {
	position: absolute;
	left: 50%;
	bottom: 10px;
	margin-left: -95px;
	text-align: center;
}
#footer a {
	font-size:12px;
	color: #484848;
}
#faq {
	position: absolute;
	top: 0;
	left: -50vw;
}
.faq #faq {
	left: 0vw;
}
.faq-content {
	position: relative;
}
#faq-button {
	position: absolute;
	top: 0;
	right: 0;
	width: 32px;
	height: 32px;
}
#faq-button::before,
#faq-button::after {
	content: '';
	position: absolute;
	top: 14px;
	left: 5px;
	width: 30px;
	height: 4px;
	background: #000;
	transform: rotate(45deg);
}
#faq-button::after {
	transform: rotate(-45deg);
}
#home-container {
	background: url(/images/ossbernheze/header.jpg) no-repeat center 111px;
	padding-bottom: 40px;
}
#home-header {
	position: relative;
	margin-bottom: 85px;
	height: 111px;
	background: #fff;
}
#home-menu {
	position: absolute;
	top: 80px;
	right: 8%;
	height: 31px;
	padding-right: 115px;
	box-sizing: border-box;
	line-height: 29px;
}
#home-menu a {
	float: left;
	margin-left: 25px;
	text-decoration: none;
	line-height: 29px;
	font-size: 18px;
}
#home-menu a:hover {
	opacity: 0.8;
}
#home-menu a.current {
	border-bottom: solid 2px #000099;
}
#home-logo {
	float: left;
	position: relative;
	left: 8%;
	margin-left: -15px;
	max-width: 50%;
}
#home-rabobank-logo {
	position: absolute;
	top: 0;
	right: 8%;
}
#home-center {
	margin: 0 auto;
	width: 84%;
}
#home-title {
	padding: 70px 0;
	font-size: 48px;
	color: #fff;
	line-height: 1;
}
#home-title b {
	display: block;
}
#home-vc {
	display: block;
	position: relative;
	top: 20px;
	margin: 0 auto;
	width: 189px;
}
#home-intro {
	margin-bottom: 30px;
	padding: 40px;
	border-bottom-right-radius: 1.5em;
	box-shadow: 1px 1px 9px rgba(0, 0, 0, 0.1);
	background: #fff;
	line-height: 1.2;
}
#home-intro h1 {
	margin-bottom: 20px;
	color: #ff8113;
	font-size: 36px;
}
#events {
	display: flex;
	flex-wrap: wrap;
}
#events a {
	float: left;
	position: relative;
	margin-left: 2%;
	width: 32%;
	background: #fff;
	border-bottom-right-radius: 1.5em;
	box-shadow: 1px 1px 9px rgba(0, 0, 0, 0.1);
	align-self: stretch;
	transition: all 0.25s;
	color: #000;
	text-decoration: none;
}
#events a:hover {
	transform: scale(1.05);
	box-shadow: 4px 4px 9px rgba(0, 0, 0, 0.2);
}
#events a:nth-child(3n + 1) {
	margin-left: 0;
}
#events a:nth-child(n + 4) {
	margin-top: 30px;
}
#events a:after {
	content: '';
	position: absolute;
	right: 25px;
	bottom: 25px;
	width: 15px;
	height: 15px;
	border-right: solid 2px #000099;
	border-bottom: solid 2px #000099;
	transform: rotate(-45deg);
}
.event-image {
	display: block;
	position: relative;
	background: no-repeat center;
	background-size: cover;
	overflow: hidden;
}
.event-image:before {
	content: '';
	display: block;
	margin-top: 65%;
}
.event-image:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 60%;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
	z-index: 1;
}
.event-image-text {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 40px;
	box-sizing: border-box;
	color: #fff;
	font-size: 21px;
	line-height: 1.3;
	z-index: 2;
}
.event-image-text b {
	display: block;
	font-size: 36px;
	font-weight: 300;
}
.event-image-text i {
	display: block;
	font-weight: bold;
	font-style: normal;
}
.event-placeholder {
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -20px;
	padding: 0 20px;
	background: #000099;
	color: #fff;
	line-height: 40px;
	transform: translateX(50%) rotate(90deg);
	font-weight: bold;
	font-size: 16px;
	z-index: 2;
}
.event-intro {
	display: block;
	padding: 40px;
}
@media all and (max-width: 1200px) {
	#events a {
		margin-left: 2%;
		width: 49%;
	}
	#events a:nth-child(3n + 1) {
		margin-left: 2%;
	}
	#events a:nth-child(2n + 1) {
		margin-left: 0;
	}
	#events a:nth-child(n + 3) {
		margin-top: 30px;
	}
}
@media all and (max-width: 1099px) {
	.faq #header {
		left: 0;
	}
	#header-text {
		left: 50px;
		bottom: 50px;
		font-size: 15px;
	}
	#faq {
		top: 50%;
		left: -100vw;
		width: 100%;
	}
	.faq #text {
		left: 100%;
	}
	#text h1 {
		padding-right: 0;
	}
}
@media all and (max-width: 1000px) {
	.event-image span {
		padding: 20px;
		font-size: 16px;
	}
	.event-image span b {
		display: block;
		font-size: 25px;
		font-weight: 300;
	}
	.event-intro {
		padding: 20px;
	}
	.row_2.responsive .column {
		float: none;
		margin: 0;
		width: 100%;
	}
	.row_2.responsive .column + .column {
		margin-top: 20px;
	}
}
@media all and (max-width: 700px) {
	h1 {
		margin-bottom: 20px;
		font-size: 35px;
	}
	#home-center {
		width: 92%;
	}
	#home-title {
		padding: 35px 0;
		font-size: 36px;
	}
	#home-menu {
		position: absolute;
		top: 111px;
		padding-right: 0;
	}
	#home-menu a {
		font-size: 90%;
		color: #fff;
	}
	#home-menu a.current {
		border-color: #fff;
	}
	#header-text {
		position: relative;
		left: 0;
		bottom: 0;
		width: auto;
	}
	#faq {
		top: 220px;
	}
}
@media all and (max-width: 650px) {
	#home-intro {
		display: none;
	}
	#events a {
		margin-left: 0%;
		width: 100%;
	}
	#events a:nth-child(3n + 1) {
		margin-left: 0%;
	}
	#events a:nth-child(n + 2) {
		margin-top: 30px;
	}
	.date > div {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media all and (max-width: 400px) {
	table,
	tbody,
	tr,
	th,
	td {
		display: block;
		width: auto;
		padding: 0;
	}
	thead {
		display: none;
	}

	.mobile {
		display: block;
		margin-top: 10px;
	}

	.date > div {
		grid-template-columns: repeat(1, 1fr);
	}

}
@media all and (min-width: 1100px) {
	body,
	a,
	table,
	input,
	select,
	textarea {
		font-weight: 300;
	}
	#faq {
		left: -60vw;
	}
	#text {
		float: right;
	}
}
@media all and (min-width: 1400px) {
	#faq {
		left: -50vw;
	}
	#text h1 {
		padding-right: 175px;
	}
	#back {
		top: 50px;
		left: 120px;
	}
}

.seat div span {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	height: 5px;
	background-color: #87bd44;
	border-radius: 4px;
}

div.seat div span {
	background-color: #ed145a;
}
@media all and (max-width: 620px) {
	form > h1 {
		margin-top: 50px;
	}

	.button span,
	button span {
		display: block;
		padding: 0 21px 0 5px;
	}
	.previous span {
		display: none;
	}
}
.page.transition-up {
	transition: top 0.4s linear;
	overflow: hidden;
	top: -100%;
}
.page.transition-down {
	transition: top 0.4s linear;
	overflow: hidden;
	top: 100%;
}
.page.transition-show {
	transition: top 0.4s linear;
	top: 0;
}
#add-introduce {
	cursor: pointer;
	background: #ed145a;
	padding: 5px;
	color: white;
	border-radius: 3px;
}