:root {
	--vhsooe-global-black: #1A2529;
	--vhsooe-global-red: #E20612;
	--vhsooe-global-salmon: #FCEDE6;
	--vhsooe-global-gray: #D0D0D0;
	--vhsooe-global-lightblue: #AAB5D5;
	--vhsooe-global-orange: #FF965A;

	--vhsooe-menu-mobile-animation-duration: 300ms;
	color-scheme: light;
}

@font-face { 
	font-family: "Obviously"; 
	font-weight: normal; 
	font-style: normal; 
	src: url("fonts/Obviously-Regular.woff2") format("woff2"),
		 url("fonts/Obviously-Regular.woff") format("woff"); 
}
@font-face { 
	font-family: "Obviously"; 
	font-weight: bold; 
	font-style: normal; 
	src: url("fonts/Obviously-Bold.woff2") format("woff2"),
		 url("fonts/Obviously-Bold.woff") format("woff"); 
}
@font-face { 
	font-family: "Atkinson"; 
	font-weight: normal; 
	font-style: normal; 
	src: url("fonts/AtkinsonHyperlegible-Regular.woff2") format("woff2"),
		 url("fonts/AtkinsonHyperlegible-Regular.woff") format("woff"); 
}
@font-face { 
	font-family: "Atkinson"; 
	font-weight: bold; 
	font-style: normal; 
	src: url("fonts/AtkinsonHyperlegible-Bold.woff2") format("woff2"),
		 url("fonts/AtkinsonHyperlegible-Bold.woff") format("woff"); 
}
@font-face { 
	font-family: "Atkinson"; 
	font-weight: normal; 
	font-style: italic; 
	src: url("fonts/AtkinsonHyperlegible-Italic.woff2") format("woff2"),
		 url("fonts/AtkinsonHyperlegible-Italic.woff") format("woff"); 
}
@font-face { 
	font-family: "Atkinson"; 
	font-weight: bold; 
	font-style: italic; 
	src: url("fonts/AtkinsonHyperlegible-BoldItalic.woff2") format("woff2"),
		 url("fonts/AtkinsonHyperlegible-BoldItalic.woff") format("woff"); 
}

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?m4konu');
  src:  url('fonts/icomoon.eot?m4konu#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?m4konu') format('truetype'),
    url('fonts/icomoon.woff?m4konu') format('woff'),
    url('fonts/icomoon.svg?m4konu#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-drucker:before {
  content: "\e910";
}
.icon-menu:before {
  content: "\e908";
}
.icon-facebook:before {
  content: "\e900";
}
.icon-herz:before {
  content: "\e901";
}
.icon-instagram:before {
  content: "\e902";
}
.icon-kalender:before {
  content: "\e903";
}
.icon-kuvert:before {
  content: "\e904";
}
.icon-login:before {
  content: "\e905";
}
.icon-lupe:before {
  content: "\e906";
}
.icon-map:before {
  content: "\e907";
}
.icon-telefon:before {
  content: "\e909";
}
.icon-pfeil_links:before {
  content: "\e90a";
}
.icon-pfeil_oben:before {
  content: "\e90b";
}
.icon-pfeil_rechts:before {
  content: "\e90c";
}
.icon-pfeil_unten:before {
  content: "\e90d";
}
.icon-vhs_pfeil:before {
  content: "\e90e";
  color: #e30613;
}
.icon-warenkorb:before {
  content: "\e90f";
}


* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}

body {
	font-family: "Atkinson", Arial, Helvetica, sans-serif;
	color: var(--vhsooe-global-black);
}

input, button, select, option {
	font-family: "Atkinson", Arial, Helvetica, sans-serif;
	color: var(--vhsooe-global-black);
	min-width: 0px;
}

input:focus, select:focus {
	outline: none;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator {
  display: none !important;
  -webkit-appearance: none !important;
}

input[type="date"] {
  -moz-appearance: textfield;
  position: relative;
  z-index: 2;
  background: transparent;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
}

button {
	cursor: pointer;
}

input[id^="esraSearchInput_"] {
	background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
	width: 100%;
}

div[id^="esraSearchInputOptions"] {

	background-color: #ffffff;
	border: 1px solid #BBB;
	border-radius: 10px;
	position: absolute;
	z-index: 1;
	left: 0px;
	right: 0px;
	top: 42px;
	max-height: 300px;
	overflow: auto;
	display: none;
	font-size: 16px;
}

div[id^="esraSearchInputOptions"] div{

	padding: 5px 15px;
	cursor: pointer;
}

div[id^="esraSearchInputOptions"] div:hover{

	background-color: var(--vhsooe-global-salmon);
}

.green_circle {
	background-color: #62C130;
}

.yellow_circle {
	background-color: #F7E03D;
}

.orange_circle {
	background-color: #ED9C61;
}

.red_circle {
	background-color: #C82C22;
}

.lightblue_bg {
	background-color: var(--vhsooe-global-lightblue);
}

.orange_bg {
	background-color: var(--vhsooe-global-orange);
}

.standard_button {
	height: 40px;
	border: 0px;
	border-radius: 20px;
	padding: 5px 10px;
	font-size: 20px;
	letter-spacing: 1px;
	background-color: var(--vhsooe-global-black);
	color: #FFFFFF;
	text-transform: uppercase;
	text-align: center;
}

.standard_button:hover {
	background-color: #35393b !important;
}

.secondary_button {
	height: 40px;
	border: 0px;
	border-radius: 20px;
	padding: 5px 10px;
	font-size: 20px;
	letter-spacing: 1px;
	background-color: #B4B4B4;
	color: var(--vhsooe-global-black);
	text-transform: uppercase;
	text-align: center;
}

.secondary_button:hover {
	background-color: #BBB !important;
}

/* General classes */
section.dyncontent {
	box-sizing: border-box;
	padding: 0;
}
.content_container {
	padding: 0 20px;
	margin: 20px 0px;
}
.content_container h1 {
	margin: 0px 0px 20px 0px;
	font-size: 30px;
}
.content_container h2 {
margin:10px 0;
font-size: 2em;
font-weight: 600;
line-height: 1.1em;
color: var(--bfivbg-global-blue);
}
.content_container p {
margin:0;
}

@media only screen and (min-width: 576px) {

	.content_container {
		padding: 0 25px;
	}

	.content_container h1 {
		font-size: 36px;
	}

}

@media only screen and (min-width: 622px) {

	.content_container {
		padding: 0 25px;
	}

	.content_container h1 {
		margin: 10px 0px 25px 0px;
		font-size: 30px;
	}

	.standard_button, .secondary_button {
		font-size: 14px;
		height: 30px;
		border-radius: 15px;
	}
}

@media only screen and (min-width: 900px) {

	div[id^="esraSearchInputOptions"] {

		border-radius: 10px;
		top: 32px;
		font-size: 16px;
	}
}

.align-right {
	text-align: right;
}


div.main-container {
	position: relative;
	max-width: 1500px;
	margin: 0 auto;
}

.start_topgrid_container {

}

.topgrid {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	gap: 10px;
}

.topgrid > * {
	border-radius: 25px;
	overflow: hidden;
}

[class^=topgrid_item] {
	width: 280px;
}

.topgrid > div > :is(img, video) {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.topgrid_search {
	grid-column: 1 / span 1;
	grid-row: 1 / span 1;
	background-color: var(--vhsooe-global-red);
	padding: 20px 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 15px;
	position: relative;
}

.topgrid_search div.headline {
	font-family: "Obviously", Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 30px;
	color: #FFFFFF;
	text-align: left;
	line-height: 1.2;
}

.topgrid_search div.search_form {
	display: grid;
	grid-template-columns: minmax(100px, 300px);
	gap: 15px;
}

.topgrid_search input {
	height: 40px;
	border: 0px;
	border-radius: 20px;
	padding: 5px 15px;
	font-size: 18px;
}

.topgrid_search .search_course_container {
	grid-column: 1 / span 1;
	grid-row: 1 / span 1;
	position: relative;
}

.topgrid_search .search_course_container .icon-lupe {
	position: absolute;
	left: 12px;
	top: 9px;
	font-size: 20px;
}

.topgrid_search input.search_course {
	width: 100%;
	padding-left: 40px;
}

.topgrid_search input.search_zip {
	grid-column: 1 / span 1;
	grid-row: 2 / span 1;
}

.topgrid_search .standard_button {
	grid-column: 1 / span 1;
	grid-row: 3 / span 1;
}

.topgrid_search input::placeholder {
	color: #666666;
}

.topgrid_item1, .topgrid_item2, .topgrid_item3, .topgrid_item4, .topgrid_item5 {
	display: none;
}

.topgrid_search .triangle {
	display: none;
	position: absolute;
	bottom: -63px;
	left: 50px;
	width: 74px;
	height: 64px;
}

.topgrid_search .triangle_small {
	position: absolute;
	bottom: -50px;
	left: 30px;
	width: 60px;
	height: 51px;
}

.topgrid_search :is(.triangle, .triangle_small) polygon {
    fill: var(--vhsooe-global-red);
}

@media only screen and (min-width: 576px) {

	.topgrid_search {
		padding: 70px 90px 70px 70px;
		gap: 25px;
	}

	.topgrid_search div.headline {
		font-size: 34px;
	}

	.topgrid_search div.search_form {
		grid-template-columns: 5fr minmax(120px, 2fr);
		gap: 15px;
	}

	.topgrid_search input {
		font-size: 14px;
		height: 30px;
		border-radius: 13px;
	}

	.topgrid_search .search_course_container .icon-lupe {
		left: 10px;
		top: 7px;
		font-size: 16px;
	}

	.topgrid_search input.search_course {
		padding-left: 30px;
	}

	.topgrid_search input.search_zip {
		grid-column: 2 / span 1;
		grid-row: 1 / span 1;
	}

	.topgrid_search .standard_button {
		grid-row: 2 / span 1;
		font-size: 14px;
		height: 30px;
		border-radius: 13px;
	}

	.topgrid_search .triangle {
		display: block;
	}

	.topgrid_search .triangle_small {
		display: none;
	}
}


@media only screen and (min-width: 900px) {

	.topgrid {
		grid-template-columns: 280px 1fr;
		grid-template-rows: 148px 35px 203px;
	}

	.topgrid_search {
		grid-column: 2 / span 1;
		grid-row: 1 / span 3;
	}

	.topgrid_item3 {
		display: block;
		position: relative;
		height: 406px;
		grid-column: 1 / span 1;
		grid-row: 1 / span 3;
	}
}

@media only screen and (min-width: 1200px) {

	.topgrid {
		grid-template-columns: repeat(2, 280px) 1fr;
	}

	.topgrid_search {
		grid-column: 3 / span 1;
	}

	.topgrid_item1 {
		display: block;
		grid-column: 1 / span 1;
		grid-row: 1 / span 1;
	}

	.topgrid_item2 {
		display: block;
		grid-column: 1 / span 1;
		grid-row: 2 / span 2;
	}

	.topgrid_item3 {
		grid-column: 2 / span 1;
	}
}

@media only screen and (min-width: 1500px) {

	.topgrid {
		grid-template-columns: repeat(3, 280px) 1fr;
	}

	.topgrid_search {
		grid-column: 4 / span 1;
	}

	.topgrid_item4 {
		display: block;
		grid-column: 3 / span 1;
		grid-row: 1 / span 2;
	}

	.topgrid_item5 {
		display: block;
		grid-column: 3 / span 1;
		grid-row: 3 / span 1;
	}
}

.start_categorygrid_container {
	background-color: var(--vhsooe-global-salmon);
	padding: 40px 20px 30px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: "Obviously", Arial, Helvetica, sans-serif;
}

.start_categorygrid_container h1 {
	font-size: 20px;
	text-transform: uppercase;
	text-align: center;
	margin: 0px;
}

.start_categorygrid_container h2 {
	font-size: 28px;
	color: var(--vhsooe-global-red);
	text-align: center;
	margin-bottom: 20px;
}

.start_categorygrid {
	width: 100%;
	display: grid;
	justify-content: center;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	gap: 10px;
	margin: 0px auto;
	font-size: 16px;
}

.start_categorygrid > * {
	border-radius: 25px;
	padding: 15px 20px;
	text-transform: uppercase;
	font-weight: bold;
	color: var(--vhsooe-global-black);
	text-decoration: none;
}

.start_categorygrid a {
	position: relative;
	padding-right: 50px;
}


.start_categorygrid a .icon-pfeil_rechts {
	position: absolute;
	bottom: 19px;
	right: 20px;
}

.categorygrid_break {
	display: none;
}

.categorygrid_item1 {
	background-color: #FF965A;
	grid-column: 1 / span 1;
	grid-row: 1 / span 1;
}

.categorygrid_item2 {
	background-color: #6FC7EB;
	grid-column: 1 / span 1;
	grid-row: 2 / span 1;
}

.categorygrid_item3 {
	background-color: #AAB5D5;
	grid-column: 1 / span 1;
	grid-row: 3 / span 1;
}

.categorygrid_item4 {
	background-color: #F6B6DB;
	grid-column: 1 / span 1;
	grid-row: 4 / span 1;
}

.categorygrid_item5 {
	background-color: #9CD880;
	grid-column: 1 / span 1;
	grid-row: 5 / span 1;
}

.categorygrid_item6 {
	background-color: #FFD213;
	grid-column: 1 / span 1;
	grid-row: 6 / span 1;
}

.categorygrid_item7 {
	background-color: #FFFFFF;
	grid-column: 1 / span 1;
	grid-row: 7 / span 1;
}

@media only screen and (min-width: 576px) {

	.start_categorygrid_container {
		padding: 40px 25px 30px 25px;
	}

	.start_categorygrid {
		font-size: 22px;
	}
}

@media only screen and (min-width: 622px) {

	.start_categorygrid_container {
		border-radius: 40px;
		margin: 0px 25px;
		padding: 60px 80px;
	}

	.start_categorygrid_container h1 {
		font-size: 16px;
	}

	.start_categorygrid_container h2 {
		font-size: 38px;
		margin-bottom: 30px;
	}

	.start_categorygrid {
		grid-template-columns: repeat(2, minmax(183px, 400px));
		grid-template-rows: 140px 140px 140px auto;
		gap: 16px;
		font-size: 16px;
	}

	.start_categorygrid a {
		padding-right: 20px;
	}

	.start_categorygrid a .icon-pfeil_rechts {
		font-size: 20px;
	}

	.categorygrid_break {
		display: block;
	}

	.categorygrid_slash, .categorygrid_h1_break {
		display: none;
	}

	.categorygrid_item1 {
		grid-column: 1 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item2 {
		grid-column: 2 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item3 {
		grid-column: 1 / span 1;
		grid-row: 2 / span 1;
	}

	.categorygrid_item4 {
		grid-column: 2 / span 1;
		grid-row: 2 / span 1;
	}

	.categorygrid_item5 {
		grid-column: 1 / span 1;
		grid-row: 3 / span 1;
	}

	.categorygrid_item6 {
		grid-column: 2 / span 1;
		grid-row: 3 / span 1;
	}

	.categorygrid_item7 {
		grid-column: 1 / span 2;
		grid-row: 4 / span 1;
	}
}

@media only screen and (min-width: 820px) {

	.start_categorygrid {
		grid-template-columns: repeat(3, minmax(183px, 400px));
		grid-template-rows: 140px 140px auto;
	}

	.categorygrid_item1 {
		grid-column: 1 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item2 {
		grid-column: 2 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item3 {
		grid-column: 3 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item4 {
		grid-column: 1 / span 1;
		grid-row: 2 / span 1;
	}

	.categorygrid_item5 {
		grid-column: 2 / span 1;
		grid-row: 2 / span 1;
	}

	.categorygrid_item6 {
		grid-column: 3 / span 1;
		grid-row: 2 / span 1;
	}

	.categorygrid_item7 {
		grid-column: 1 / span 3;
		grid-row: 3 / span 1;
	}
}

@media only screen and (min-width: 1440px) {

	.start_categorygrid {
		grid-template-columns: repeat(6, 183px);
		grid-template-rows: 187px auto;
	}

	.categorygrid_item1 {
		grid-column: 1 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item2 {
		grid-column: 2 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item3 {
		grid-column: 3 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item4 {
		grid-column: 4 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item5 {
		grid-column: 5 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item6 {
		grid-column: 6 / span 1;
		grid-row: 1 / span 1;
	}

	.categorygrid_item7 {
		grid-column: 1 / span 6;
		grid-row: 2 / span 1;
	}
}

/* Startpage coursegrid */
.start_coursegrid_container {
	padding: 0px 20px 20px 20px;
	display: flex;
	flex-direction: column;
	margin: 20px auto;
}

.start_coursegrid {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr 1fr;
	grid-auto-flow: column;
}

.coursegrid_item {
	border-radius: 40px;
	overflow: hidden;
	display: none;
	flex-direction: column;
}

.start_coursegrid .coursegrid_item:nth-last-child(-n+2) {
	display: flex;
}

.coursegrid_item h2 {
	font-size: 26px;
	margin: 0px;
}

.coursegrid_imagebox {
	aspect-ratio: 2 / 1;
	position: relative;
}

.coursegrid_imagebox img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.coursegrid_imagebox .coursegrid_bookmark {
	background-color: #FFFFFF;
	border-radius: 100%;
	width: 40px;
	height: 40px;
	position: absolute;
	top: 15px;
	right: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	padding-top: 3px;
}

.coursegrid_textbox {
	flex: 1 1 auto;
	background-color: var(--vhsooe-global-salmon);
	padding: 20px 30px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 20px;
}

.coursegrid_textbox .coursegrid_title {
	flex: 1 1 auto;
	overflow: hidden;
}

.coursegrid_textbox .standard_button {
	max-width: 350px;
}

@media only screen and (min-width: 576px) {

	.start_coursegrid_container {
		padding: 0px 25px 20px 25px;
	}

	.coursegrid_item h2 {
		font-size: 30px;
	}

	.coursegrid_imagebox .coursegrid_bookmark {
		width: 50px;
		height: 50px;
		top: 20px;
		right: 20px;
		font-size: 26px;
	}

	.coursegrid_textbox {
		padding: 20px 40px;
		font-size: 24px;
	}

	.coursegrid_textbox .standard_button {
		margin: 10px 0px 5px 0px;
	}
}

@media only screen and (min-width: 622px) {

	.start_coursegrid {
		grid-template-rows: 1fr;
		grid-template-columns: 1fr 1fr;
		grid-auto-flow: row;
		gap: 25px;
	}

	.coursegrid_item {
		border-radius: 20px;
	}

	.coursegrid_item h2 {
		font-size: 20px;
	}

	.coursegrid_imagebox .coursegrid_bookmark {
		width: 30px;
		height: 30px;
		top: 12px;
		right: 12px;
		font-size: 18px;
	}

	.coursegrid_textbox {
		padding: 20px;
		font-size: 16px;
	}

	.coursegrid_textbox .standard_button {
		max-width: 225px;
	}
}

@media only screen and (min-width: 900px) {

	.start_coursegrid {
		grid-template-columns: repeat(3, 1fr);
	}

	.start_coursegrid .coursegrid_item:nth-last-child(-n+3) {
		display: flex;
	}
}

@media only screen and (min-width: 1100px) {

	.start_coursegrid_container {
		max-width: 1228px;
	}

	.start_coursegrid {
		grid-template-columns: repeat(4, 1fr);
	}

	.start_coursegrid .coursegrid_item {
		display: flex;
	}
}

.promobox_large_container {
	padding: 0px;
}

.promobox_large_container .promobox_large {
	width: 100%;
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: auto;
}

.promobox_large img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.promobox_large .promo_text_container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	padding: 40px 50px;
	font-size: 20px;
	background-color: #F6B6DB;
}

.promobox_large .promo_text_container h1 {
	font-size: 30px;
	margin: 0px;
	line-height: 1.2;
}

.promobox_large .promo_text_container .standard_button {
	max-width: 300px;
}

@media only screen and (min-width: 576px) {

	.promobox_large .promo_text_container .standard_button {
		margin: 10px 0px 5px 0px;
	}
}

@media only screen and (min-width: 622px) {

	.promobox_large_container {
		padding: 0px 25px;
	}

	.promobox_large_container .promobox_large {
		border-radius: 40px;
		overflow: hidden;
	}

	.promobox_large .promo_text_container .standard_button {
		max-width: 225px;
	}
}

@media only screen and (min-width: 900px) {

  	.promobox_large_container .promobox_large {
		grid-template-columns: 1fr 1fr;
		/*min-height: 425px;*/
	}

	.promobox_large .promo_text_container {
		font-size: 16px;
	}
}

@media only screen and (min-width: 1440px) {

	.promobox_large .promo_text_container {
		padding: 80px;
	}
}


.start_discovergrid_container {
	padding: 0px 20px 20px 20px;
	display: flex;
	flex-direction: column;
	margin: 20px auto;
}

.discovergrid .large_only {
	display: none;
}

.discovergrid {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
	grid-auto-rows: 1fr;
	grid-auto-flow: row;
}

.discovergrid_item_large {
	border-radius: 40px;
	overflow: hidden;
	display: none;
	flex-direction: column;
}

.discovergrid_item_large h2 {
	font-size: 26px;
	margin: 0px;
	flex: 1 1 auto;
	overflow: hidden;
}

.discovergrid_large_imagebox {
	aspect-ratio: 2 / 1;
}

.discovergrid_large_imagebox img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.discovergrid_large_textbox {
	flex: 1 1 auto;
	background-color: var(--vhsooe-global-lightblue);
	padding: 20px 30px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 20px;
}

.discovergrid_item {
	border-radius: 40px;
	overflow: hidden;
	display: none;
	flex-direction: column;
}

.discovergrid > *:nth-last-child(-n+3), .discovergrid > *:first-child {
	display: flex;
}

.discovergrid_item h2 {
	font-size: 26px;
	margin: 0px;
	flex: 1 1 auto;
	overflow: hidden;
}

.discovergrid_imagebox {
	aspect-ratio: 2 / 1;
}

.discovergrid_item img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.discovergrid_textbox {
	flex: 1 1 auto;
	background-color: var(--vhsooe-global-gray);
	padding: 20px 30px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 20px;
}

.discovergrid_textbox .standard_button, .discovergrid_large_textbox .standard_button {
	max-width: 350px;
}

@media only screen and (min-width: 576px) {

	.start_discovergrid_container {
		padding: 0px 25px 20px 25px;
	}

	.discovergrid_item h2 {
		font-size: 30px;
	}

	.discovergrid_textbox {
		padding: 20px 40px;
		font-size: 20px;
	}

	.discovergrid_item_large h2 {
		font-size: 30px;
	}

	.discovergrid_large_textbox {
		padding: 20px 40px;
		font-size: 20px;
	}

	.discovergrid .standard_button {
		margin: 10px 0px 5px 0px;
	}
}

@media only screen and (min-width: 622px) {

	.discovergrid {
		grid-template-rows: auto 1fr 1fr;
		grid-template-columns: 1fr 1fr;
		grid-auto-flow: row;
		gap: 25px;
	}

	.discovergrid_item {
		border-radius: 20px;
	}

	.discovergrid_item:nth-last-child(-n+4) {
		display: flex;
	}

	.discovergrid_item h2 {
		font-size: 20px;
		overflow: hidden;
		
		text-overflow: ellipsis;
		display: -webkit-box;
	/* Set this to the max number of lines you want */
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}

	.discovergrid_textbox {
		padding: 20px;
		font-size: 16px;
	}

	.discovergrid_item_large {
		border-radius: 20px;
		grid-column: 1 / span 2;
	}

	.discovergrid_item_large h2 {
		font-size: 20px;
	}

	.discovergrid_large_textbox {
		padding: 20px;
		font-size: 16px;
	}

	.discovergrid .standard_button, .discovergrid_large_textbox .standard_button {
		max-width: 225px;
	}
}

@media only screen and (min-width: 900px) {

	.discovergrid_item_large {
		flex-direction: row;
		flex-wrap: nowrap;
	}

	.discovergrid_large_imagebox {
		aspect-ratio: auto;
	}

	.discovergrid_item_large > * {
		flex: 0 0 50%;
	}

	.discovergrid_item_large h2 {
		font-size: 30px;
		flex: 0 1 auto;
	}

	.discovergrid_large_imagebox {
		height: 100%;
		order: 1;
	}

	.discovergrid_large_textbox {
		padding: 80px;
		justify-content: center;
		order: 0;
	}
}

@media only screen and (min-width: 1000px) {

	.start_discovergrid_container {
		max-width: 1228px;
	}

	.discovergrid .small_only {
		display: none;
	}

	.discovergrid .large_only {
		display: unset;
	}

	.discovergrid {
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: repeat(3, 1fr);
		max-width: 100%;
	}

	.discovergrid_item {
		display: flex;
	}

	.discovergrid_item_large {
		grid-column: 1 / span 3;
	}

	.discovergrid_textbox {
		padding-top: 30px;
	}
}

.coursebox_large_container {
	padding: 0px;
	display: none;
}

.coursebox_large_container .coursebox_large {
	width: 100%;
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: auto;
}

.coursebox_large_imagebox {
	position: relative;
}

.coursebox_large_imagebox img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.coursebox_large_imagebox .coursebox_large_bookmark {
	background-color: #FFFFFF;
	border-radius: 100%;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 3px;
}

.coursebox_large .coursebox_large_textbox {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	padding: 40px 50px;
	font-size: 20px;
	background-color: var(--vhsooe-global-orange);
}

.coursebox_large .coursebox_large_textbox h1 {
	font-size: 30px;
	margin: 0px;
	line-height: 1.2;
}

.coursebox_large .coursebox_large_textbox p:not(:last-child) {
	margin-bottom: 20px;
}

.coursebox_large .coursebox_large_textbox .standard_button {
	max-width: 300px;
}

@media only screen and (min-width: 576px) {

	.coursebox_large .coursebox_large_textbox .standard_button {
		margin: 10px 0px 5px 0px;
	}
}

@media only screen and (min-width: 622px) {

	.coursebox_large_container {
		padding: 0px 25px;
	}

	.coursebox_large_container .coursebox_large {
		border-radius: 40px;
		overflow: hidden;
	}

	.coursebox_large .coursebox_large_textbox .standard_button {
		max-width: 225px;
	}
}

@media only screen and (min-width: 900px) {

	.coursebox_large_container {
		display: block;
	}

  	.coursebox_large_container .coursebox_large {
		grid-template-columns: 1fr 1fr;
		min-height: 425px;
	}

	.coursebox_large .coursebox_large_textbox {
		font-size: 16px;
	}
}

@media only screen and (min-width: 1440px) {

	.coursebox_large_container .coursebox_large {
		grid-template-columns: 55% 45%;
		min-height: 425px;
	}

	.coursebox_large .coursebox_large_textbox {
		padding: 80px;
	}
}

/***** KURSDETAILSEITE *****/
.kursdetail_titlebox_container {

}

.kursdetail_titlebox_container .kursdetail_titlebox {
	width: 100%;
	border-radius: 40px;
	overflow: hidden;
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: auto;
}

.kursdetail_titlebox > * {
	min-height: 300px;
}

.kursdetail_titlebox .titlebox_imagebox {
	display: none;
}

.kursdetail_titlebox .titlebox_imagebox img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.kursdetail_titlebox .titlebox_textbox {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 5px;
	padding: 40px 50px;
	font-size: 20px;
	background-color: var(--vhsooe-global-lightblue);
}

.kursdetail_titlebox .titlebox_textbox h1 {
	font-family: "Obviously", Arial, Helvetica, sans-serif;
	font-size: 34px;
	margin: 0px;
	line-height: 1.2;
}

.kursdetail_titlebox .titlebox_textbox h2 {
	font-size: 28px;
	font-weight: normal;
	margin: 0px;
}

@media only screen and (min-width: 576px) {

}

@media only screen and (min-width: 622px) {

	.kursdetail_titlebox_container {
		padding: 0px 25px;
	}

	.kursdetail_titlebox_container .kursdetail_titlebox {
		
	}
}

@media only screen and (min-width: 900px) {

  	.kursdetail_titlebox_container .kursdetail_titlebox {
		border-radius: 20px;
		grid-template-columns: 1fr 1fr;
	}

	.kursdetail_titlebox > * {
		min-height: auto;
		height: 400px;
	}

	.kursdetail_titlebox .titlebox_textbox {
		grid-column: 1 / span 1;
	}

	.kursdetail_titlebox .titlebox_imagebox {
		display: block;
		grid-column: 2 / span 1;
	}
}

@media only screen and (min-width: 1440px) {

	.kursdetail_titlebox .titlebox_textbox {
		padding: 50px 60px;
	}
}


.kursdetail_detailbox_container {
	margin: 20px auto;
	padding: 0px;
	max-width: 1228px;
}

.kursdetail_detailbox_container .kursdetail_detailbox {
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: auto;
	grid-auto-flow: row;
	gap: 20px;
	font-size: 26px;
	margin-left: auto;
	margin-right: auto;
}

.kursdetail_detailbox .detail_textbox {
	line-height: 1.4;
	padding: 20px 30px;
}

.detail_textbox > p:not(:last-child) {
	margin-bottom: 50px;
}

.detail_textbox h2 {
	font-size: 30px;
	margin-bottom: 30px;
}

.detail_textbox .textbox_logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
}

.detail_textbox .textbox_contact {
	margin-top: 80px;
}

.textbox_contact h3 {
	font-size: 26px;
}


.kursdetail_detailbox .detail_databox {

}

.detail_databox .databox {
	padding: 40px 30px;
	background-color: var(--vhsooe-global-salmon);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.databox :is(a, a:link, a:visited, a:active, a:hover) {
	color: var(--vhsooe-global-black);
	text-decoration: underline;
}

.databox .databox_coursenrbox {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
}

.databox .databox_coursenrbox .coursenr {
	color: #AAAAAA;
}

.databox .databox_coursenrbox .bookmark {
	background-color: #FFFFFF;
	border-radius: 100%;
	width: 50px;
	height: 50px;
	font-size: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 3px;
}

.databox .databox_datagrid1 {
	display: grid;
	grid-template-columns: 50px auto;
	grid-template-rows: auto;
	gap: 20px;
}

.databox_datagrid1 .datagrid1_availibility_icon {
	background-color: #FFFFFF;
	border-radius: 100%;
	width: 50px;
	height: 50px;
	font-size: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column: 1 / span 1;
}

.datagrid1_availibility_icon .status_circle {
	display: block;
	border-radius: 100%;
	width: 25px;
	height: 25px;
}

.databox_datagrid1 .datagrid1_availibility_text {
	grid-column: 2 / span 1;
	align-self: center;
}

.databox_datagrid1 .datagrid1_location_icon {
	grid-column: 1 / span 1;
	text-align: center;
	font-size: 45px;
}

.databox_datagrid1 .datagrid1_location_text {
	grid-column: 2 / span 1;
}

.databox .databox_datagrid2 {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto;
	gap: 25px;
	align-items: center;
}

.databox_datagrid2 .datagrid2_price {
	font-weight: bold;
}

.databox_datagrid2 .datagrid2_price_ak {
	font-weight: bold;
	color: var(--vhsooe-global-red);
	margin: 0px 0px 20px 0px;
}

.databox_datagrid2 .datagrid2_price_ak .ak_logo {
	height: 18px;
}

.databox_datagrid2 .datagrid2_person_img {
	border-radius: 100%;
	overflow: hidden;
	width: 120px;
	height: 120px;
}

.databox_datagrid2 .datagrid2_person_img img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.databox .standard_button {
	width: 100%;
	margin-top: 20px;
}

.detail_databox .buttonbox {
	display: flex;
	gap: 30px;
	justify-content: flex-end;
	padding: 40px 30px;
	font-size: 30px;
}

.detail_databox .divider {
	height: 2px;
	margin: 10px 20px;
	background-color: var(--vhsooe-global-black);
}

@media only screen and (min-width: 576px) {

	.detail_databox .databox {
		padding: 40px 30px;
	}

	.databox .databox_datagrid2 {
		grid-template-columns: 150px auto;
	}

	.databox_datagrid2 .datagrid2_price {
		grid-column: 1 / span 1;
		margin: 20px 0px;
	}

	.databox_datagrid2 .datagrid2_price_ak {
		grid-column: 2 / span 1;
		margin: 20px 0px;
	}

	.databox_datagrid2 .datagrid2_person_img {
		grid-column: 1 / span 1;
		width: 150px;
		height: 150px;
	}

	.databox_datagrid2 .datagrid2_person_name {
		grid-column: 2 / span 1;
	}
}

@media only screen and (min-width: 622px) {

	.kursdetail_detailbox_container {
		padding: 0px 30px;
	}

	.kursdetail_detailbox_container .kursdetail_detailbox {
		gap: 40px;
		font-size: 20px;
	}

	.kursdetail_detailbox .detail_textbox {
		padding: 0px;
	}

	.detail_databox .databox {
		border-radius: 40px;
	}

	.databox_datagrid2 .datagrid2_price_ak .ak_logo {
		height: 13px;
	}

	.detail_databox .buttonbox {
		padding: 40px 0px;
	}

	.detail_databox .divider {
		margin: 10px 0px;
	}

}

@media only screen and (min-width: 900px) {

  	.kursdetail_detailbox_container .kursdetail_detailbox {
		grid-template-columns: auto 376px;
		font-size: 18px;
		margin: 50px auto;
	}

	.detail_textbox h2 {
		font-size: 24px;
		margin-bottom: 20px;
	}

	.detail_textbox .textbox_logos img {
		height: 30px;
	}

	.detail_textbox .textbox_contact {
		margin-top: 60px;
	}

	.textbox_contact h3 {
		font-size: 20px;
	}

	.detail_databox .databox {
		border-radius: 20px;
		padding: 30px;
		gap: 20px;
	}

	.databox .databox_coursenrbox .bookmark {
		width: 30px;
		height: 30px;
		font-size: 16px;
		padding-top: 2px;
	}

	.databox .databox_datagrid1 {
		grid-template-columns: 30px auto;
		gap: 15px;
	}


	.databox_datagrid1 .datagrid1_availibility_icon {
		width: 30px;
		height: 30px;
	}

	.datagrid1_availibility_icon .status_circle {
		width: 15px;
		height: 15px;
	}

	.databox_datagrid1 .datagrid1_location_icon {
		font-size: 30px;
	}

	.databox .databox_datagrid2 {
		grid-template-columns: 90px auto;
		gap: 15px;
	}

	.databox_datagrid2 .datagrid2_price {
		margin: 10px 0px;
	}

	.databox_datagrid2 .datagrid2_price_ak {
		margin: 10px 0px;
	}

	.databox_datagrid2 .datagrid2_person_img {
		width: 90px;
		height: 90px;
	}

	.detail_databox .buttonbox {
		gap: 15px;
		padding: 15px 0px;
		font-size: 18px;
	}

	.detail_databox .divider {
		display: none;
	}

}

.kursdetail_coursegrid_container {
	padding: 0px 20px 20px 20px;
	display: flex;
	flex-direction: column;
	margin: 20px auto;
}

.kursdetail_coursegrid {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr 1fr;
	grid-auto-flow: column;
}

.kursdetail_coursegrid .coursegrid_item:nth-last-child(-n+2) {
	display: flex;
}

@media only screen and (min-width: 576px) {

	.kursdetail_coursegrid_container {
		padding: 0px 30px 20px 30px;
	}
}

@media only screen and (min-width: 622px) {

	.kursdetail_coursegrid {
		grid-template-rows: 1fr;
		grid-template-columns: 1fr 1fr;
		grid-auto-flow: row;
		gap: 25px;
	}
}

@media only screen and (min-width: 900px) {

	.kursdetail_coursegrid {
		grid-template-columns: repeat(3, 1fr);
	}

	.kursdetail_coursegrid .coursegrid_item:nth-last-child(-n+3) {
		display: flex;
	}
}

@media only screen and (min-width: 1100px) {

	.kursdetail_coursegrid_container {
		max-width: 1228px;
	}

	.kursdetail_coursegrid .coursegrid_item {
		display: flex;
	}
}

/***** SUCHE *****/
.search_topgrid_container .topgrid {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	gap: 10px;
	min-height: 200px;
}

.search_topgrid_container .topgrid_search {
	justify-content: flex-end;
	padding: 20px 30px;
}

.search_topgrid_container .topgrid_search div.headline {
	text-transform: uppercase;
}

@media only screen and (min-width: 900px) {

	.search_topgrid_container .topgrid {
		grid-template-columns: 280px 1fr;
		grid-template-rows: 148px 35px 203px;
	}

	.search_topgrid_container .topgrid_search {
		padding: 70px 90px 70px 70px;
	}
}

@media only screen and (min-width: 1200px) {

	.search_topgrid_container .topgrid {
		grid-template-columns: repeat(2, 280px) 1fr;
	}
}
	
@media only screen and (min-width: 1500px) {

	.search_topgrid_container .topgrid {
		grid-template-columns: repeat(3, 280px) 1fr;
	}
}

.search_searchbox_container {
	padding: 0px 20px;
	margin: 40px auto;
	max-width: 1228px;
}

.search_searchbox_container .searchbox {
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: auto;
	grid-auto-flow: row;
	align-items: start;
	gap: 30px;
	margin-left: auto;
	margin-right: auto;
}

.searchbox .searchbox_filterbox {
	font-size: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.searchbox_filterbox .searchbox_titlerow {
	display: flex;
	justify-content: space-between;
}

.searchbox_filterbox h2 {
	font-size: 28px;
	margin: 0px;
}

.standard_button.filterbox_curtain_button {
	font-size: 14px;
	height: 30px;
	border-radius: 15px;
}

.filterbox_curtain_button.open .closed {
	display: none;
}

.filterbox_curtain_button:not(.open) .open {
	display: none;
}

.searchbox_filterbox .filterbox_results {
	font-size: 16px;
	margin-bottom: 10px;
}

.searchbox_filterbox .filterbox_curtain {
	height: 0px;
	overflow: hidden;
	transition: height .3s ease;
}

.searchbox_filterbox .filterbox_extended {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.searchbox_filterbox .filterbox_inputbox {
	display: flex;
	flex-direction: column;
	gap: 8px;
}


.filterbox_inputbox .search_field {
	position: relative;
}

.filterbox_inputbox .search_field input[type="text"] {
	width: 100%;
	padding-right: 40px;
}

.filterbox_inputbox .search_field .icon-lupe {
	position: absolute;
	right: 15px;
	top: 10px;
	font-size: 20px;
}

.searchbox_filterbox :is(input[type=text], input[type=date], select) {
	height: 40px;
	border: 0px;
	border-radius: 20px;
	padding: 5px 15px;
	font-size: 16px;
	background-color: var(--vhsooe-global-salmon);
}

.filterbox_inputbox .inputbox_flex {
	display: flex;
	align-items: center;
	gap: 10px;
}

.filterbox_inputbox .inputbox_flex label {
	font-size: 16px;
}

.filterbox_inputbox .inputbox_flex :is(input[type=text], input[type=date], select) {
	flex: 1 1 auto;
}

.filterbox_inputbox .inputbox_checkbox_hor {
	display: flex;
	gap: 20px;
}

.filterbox_inputbox .inputbox_checkbox_ver {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.filterbox_inputbox .inputbox_checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
}

.filterbox_inputbox .inputbox_checkbox :is(input[type='checkbox'], input[type='radio']){
	width: 18px;
	height: 18px;
}

.searchbox .searchbox_resultbox {
	display: grid;
	grid-auto-rows: 1fr;
	grid-template-columns: auto;
	gap: 20px;
	font-size: 22px;
}

.resultbox_item {
	border-radius: 40px;
	overflow: hidden;
	display: grid;
	grid-template-rows: 1fr auto;
	grid-template-columns: auto;
	grid-auto-flow: row;
}

.resultbox_imagebox {
	display: none;
	height: 175px;
}

.resultbox_imagebox img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.resultbox_imagebox .categorybox {
	height: 100%;
	font-family: "Obviously", Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 24px;
	color: #FFFFFF;
	text-transform: uppercase;
	padding: 20px 30px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.resultbox_detailbox1 {
	flex: 1 1 auto;
	background-color: var(--vhsooe-global-salmon);
	padding: 20px 30px 10px 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 5px;
}

.resultbox_detailbox1 h2 {
	font-size: 26px;
	margin: 0px;
}

.resultbox_detailbox1 .detailbox1_text {
	flex: 1 1 auto;
}

.resultbox_detailbox2 {
	flex: 1 1 auto;
	background-color: var(--vhsooe-global-salmon);
	padding: 10px 30px 20px 30px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.resultbox_detailbox2 .pricebox_container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
}

.pricebox_container :is(.pricebox, .iconbox) {
	display: flex;
	gap: 15px;
}

.pricebox_container .pricebox {
	flex-wrap: wrap;
}

.pricebox_container .pricebox .pricebox_price_ak {
	color: var(--vhsooe-global-red);
}

.pricebox_container .pricebox .pricebox_price_ak .ak_logo {
	height: 16px;
}

.pricebox_container .iconbox > div {

}


.pricebox_container .iconbox > div {
	background-color: #FFFFFF;
	border-radius: 100%;
	width: 50px;
	height: 50px;
	font-size: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pricebox_container .iconbox .iconbox_bookmark {
	padding-top: 3px;
}

.pricebox_container .iconbox .iconbox_availibility .status_circle {
	display: block;
	border-radius: 100%;
	width: 25px;
	height: 25px;
}

.resultbox_detailbox2 .trainerbox {
	flex: 1 1 auto;
}

.resultbox_detailbox2 .standard_button {
	margin-top: 10px;
}

@media only screen and (min-width: 576px) {

	.search_searchbox_container {
		padding: 0px 25px;
	}
}

@media only screen and (min-width: 622px) {

	.searchbox .searchbox_resultbox {
		font-size: 18px;
	}

	.resultbox_item {
		border-radius: 25px;
		grid-template-rows: 1fr;
		grid-template-columns: 1fr 1fr;
	}

	.resultbox_imagebox {
		display: none
	}

	.resultbox_imagebox .categorybox {
		padding: 20px 25px;
	}

	.resultbox_detailbox1 h2 {
		font-size: 22px;
	}

	.resultbox_detailbox1 .detailbox1_text {
		flex: 0 1 auto;
	}

	.resultbox_detailbox1 {
		grid-column: 1 / span 1;
		grid-row: 1 / span 1;
		padding: 20px 15px 20px 25px;
	}

	.resultbox_detailbox2 {
		grid-column: 2 / span 1;
		grid-row: 1 / span 1;
		padding: 20px 25px 20px 15px;
	}

	.resultbox_detailbox2 .pricebox_container {
		align-items: flex-start;
	}

	.pricebox_container :is(.pricebox, .iconbox) {
		gap: 10px;
	}

	.pricebox_container .pricebox .pricebox_price_ak .ak_logo {
		height: 12px;
	}

	.pricebox_container .iconbox > div {
		width: 30px;
		height: 30px;
		font-size: 17px;
	}

	.pricebox_container .iconbox .iconbox_bookmark {
		padding-top: 2px;
	}

	.pricebox_container .iconbox .iconbox_availibility .status_circle {
		width: 16px;
		height: 16px;
	}

	.resultbox_detailbox2 .standard_button {
		margin-top: 0px;
	}
}

@media only screen and (min-width: 900px) {

	.search_searchbox_container .searchbox {
		grid-template-columns: 265px auto;
		grid-auto-flow: column;
	}

	.searchbox .searchbox_filterbox {
		font-size: 20px;
	}

	.filterbox_curtain_button {
		display: none;
	}

	.searchbox_filterbox .filterbox_curtain {
		height: auto;
	}

	.searchbox_filterbox :is(input[type=text], select) {
		height: 30px;
		border-radius: 13px;
	}

	.filterbox_inputbox .search_field input[type="text"] {
		width: 100%;
		padding-right: 35px;
	}

	.filterbox_inputbox .search_field .icon-lupe {
		position: absolute;
		right: 10px;
		top: 7px;
		font-size: 16px;
	}

	.filterbox_inputbox .inputbox_checkbox {
		font-size: 16px;
	}

	.filterbox_inputbox .inputbox_checkbox :is(input[type='checkbox'], input[type='radio']){
		width: 15px;
		height: 15px;
	}
}

@media only screen and (min-width: 1200px) {

	.searchbox .searchbox_resultbox {
		font-size: 16px;
	}

	.resultbox_item {
		min-height: 140px;
		grid-template-rows: 1fr;
		grid-template-columns: 32% 1fr 35%;
	}

	.resultbox_imagebox {
		display: block;
		grid-column: 1 / span 1;
		height: 100%;
	}

	.resultbox_imagebox .categorybox {
		font-size: 20px;
	}

	.resultbox_detailbox1 {
		grid-column: 2 / span 1;
		grid-row: 1 / span 1;
	}

	.resultbox_detailbox2 {
		grid-column: 3 / span 1;
		grid-row: 1 / span 1;
	}

	.pricebox_container .pricebox .pricebox_price_ak .ak_logo {
		height: 11px;
	}
}

/***** PERSON *****/
.headlinebox {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	border-radius: 25px;
	margin-bottom: 50px;
	padding: 20px 30px;
	background-color: var(--vhsooe-global-red);
	font-family: "Obviously", Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 30px;
	color: #FFFFFF;
	text-align: left;
	line-height: 1.2;
	min-height: 180px;
}

.person_personbox_container {
	padding: 0 30px;
	margin: 40px auto;
	max-width: 1228px;
}

.person_personbox_container .person_personbox {
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: auto;
	grid-auto-flow: row;
	align-items: start;
	gap: 30px;
	margin-left: auto;
	margin-right: auto;
}

.person_personbox h2 {
	margin: 0px 0px 20px 0px;
	font-size: 36px;
}

.person_personbox h3 {
	margin: 0px;
}

.person_personbox p {
	margin-bottom: 20px;
}

.personbox_imagebox {
	justify-self: center;
	align-self: start;
	width: 100%;
	max-width: 250px;
	border-radius: 100%;
	overflow: hidden;
}

.personbox_imagebox img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}

.personbox_textbox {
	font-size: 26px;
	line-height: 1.4;
}

.person_coursegrid_container {
	padding: 0px 30px;
	margin: 40px auto;
	max-width: 1228px;
}

.person_coursegrid_container > h2 {
	margin: 20px 0px;
	font-size: 30px;
}

.person_coursegrid_container .person_coursegrid {
	display: grid;
	grid-auto-rows: 1fr;
	grid-template-columns: auto;
	gap: 20px;
	font-size: 22px;
}


@media only screen and (min-width: 576px) {

	.headlinebox {
		font-size: 34px;
	}

}

@media only screen and (min-width: 622px) {

	.personbox_textbox {
		font-size: 20px;
	}

	.person_coursegrid_container {
		padding: 0px 25px;
	}

	.person_coursegrid_container .person_coursegrid {
		font-size: 18px;
	}

	.person_coursegrid_container > h2 {
		font-size: 26px;
	}
}

@media only screen and (min-width: 900px) {

	.headlinebox {
		padding: 50px 70px;
	}

	.person_personbox_container .person_personbox {
		grid-template-columns: 250px auto;
		grid-auto-flow: column;
	}

	.personbox_imagebox {
		max-width: none;
		max-height: none;
		width: 100%;
	}

	.personbox_textbox {
		font-size: 18px;
	}

	.person_coursegrid_container {
		padding: 0px 25px 0px 310px;
	}

	.person_coursegrid_container > h2 {
		font-size: 24px;
	}
}

@media only screen and (min-width: 1200px) {

	.person_coursegrid_container .person_coursegrid {
		font-size: 16px;
	}
}

/***** FACHGRUPPE *****/
.fieldgroup_topgrid_container [class^=topgrid_item] {
	width: 238px;
}

.fieldgroup_topgrid_container .topgrid_search {
	background-color: var(--vhsooe-global-lightblue);
	justify-content: space-between;
}

.fieldgroup_topgrid_container .topgrid_search div.headline {
	text-transform: uppercase; 
}

@media only screen and (min-width: 576px) {

	.fieldgroup_topgrid_container .topgrid_search div.search_form {
		grid-template-columns: minmax(100px, 300px);
	}

	.fieldgroup_topgrid_container .topgrid_search input.search_zip {
		grid-column: 1 / span 1;
		grid-row: 2 / span 1;
	}

	.fieldgroup_topgrid_container .topgrid_search .standard_button {
		grid-column: 1 / span 1;
		grid-row: 3 / span 1;
	}
}

@media only screen and (min-width: 622px) {

	.fieldgroup_topgrid_container .topgrid_search div.search_form {
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
	}

	.fieldgroup_topgrid_container .topgrid_search input.search_zip {
		grid-column: 2 / span 1;
		grid-row: 1 / span 1;
	}

	.fieldgroup_topgrid_container .topgrid_search .standard_button {
		grid-column: 3 / span 1;
		grid-row: 1 / span 1;
	}
}

@media only screen and (min-width: 900px) {

	.fieldgroup_topgrid_container .topgrid {
		grid-template-columns: 238px 1fr;
		grid-template-rows: 148px 35px 203px;
	}
}

@media only screen and (min-width: 1200px) {

	.fieldgroup_topgrid_container .topgrid {
		grid-template-columns: repeat(2, 238px) 1fr;
	}
}
	
@media only screen and (min-width: 1500px) {

	.fieldgroup_topgrid_container .topgrid {
		grid-template-columns: repeat(3, 238px) 1fr;
	}
}

.fieldgroup_textbox_container {
	padding: 0 30px;
	margin: 40px auto;
	max-width: 800px;
}

.textbox {
	font-size: 26px;
	line-height: 1.4;
}

.textbox h2 {
	margin: 0px 0px 20px 0px;
	font-size: 36px;
}

.textbox h3 {
	margin: 0px;
}

.textbox p {
	margin-bottom: 20px;
}

@media only screen and (min-width: 622px) {

	.textbox {
		font-size: 20px;
	}
}

@media only screen and (min-width: 900px) {

	.textbox {
		font-size: 18px;
	}
}

.fieldgroup_discovergrid_container {
	padding: 0px 20px 20px 20px;
	display: flex;
	flex-direction: column;
	margin: 20px auto;
}

.fieldgroup_discovergrid_container .discovergrid > *:first-child {
	display: none;
}

@media only screen and (min-width: 576px) {

	.fieldgroup_discovergrid_container {
		padding: 0px 25px 20px 25px;
	}
}

@media only screen and (min-width: 622px) {

	.fieldgroup_discovergrid_container .discovergrid {
		grid-template-rows: 1fr 1fr;
	}
}

@media only screen and (min-width: 1000px) {

	.fieldgroup_discovergrid_container {
		max-width: 1228px;
	}

	.fieldgroup_discovergrid_container .discovergrid {
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: repeat(2, 1fr);
		max-width: 100%;
	}

	.fieldgroup_discovergrid_container .discovergrid > *:first-child {
		display: flex;
	}
}

/* Footer */
footer {
	max-width: 1500px;
	margin: 40px auto 0px;
}

footer h2 {
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 10px;
}

footer p {
	margin-bottom: 10px;
}

.footer_gridbox {
	padding: 40px;
	background-color: var(--vhsooe-global-black);
	color: #FFFFFF;
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

.footer_gridbox :is(a, a:link, a:visited, a:active) {
	color: #FFFFFF;
}

.footer_headline {
	margin: 0px;
	grid-column: 1 / span 1;
	grid-row: 1 / span 1;
	padding-bottom: 25px;
	font-family: "Obviously", Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 34px;
	text-align: left;
	line-height: 1.2;
}

.footer_newsletter {
	background-color: var(--vhsooe-global-salmon);
	padding: 30px 15px 20px 20px;
	border-radius: 20px;
	color: var(--vhsooe-global-black);
}

.footer_info1, .footer_info2, .footer_newsletter, .footer_contact_desktop {
	display: none;
}


.footer_newsletter h2 {
	margin-bottom: 15px;
}

.footer_newsletter div.newsletter_form {
	max-width: 250px;
	display: grid;
	grid-template-columns: auto;
	gap: 15px;
}

.footer_newsletter input {
	height: 30px;
	border: 0px;
	border-radius: 13px;
	padding: 5px 15px;
	font-size: 14px;
	background-color: #FFFFFF;
	color: var(--vhsooe-global-black);
}

.footer_newsletter input.newsletter_email {
	grid-column: 1 / span 1;
	grid-row: 1 / span 1;
}

.footer_newsletter .standard_button {
	height: 30px;
	border-radius: 13px;
	grid-column: 1 / span 1;
	grid-row: 2 / span 1;
}

.footer_newsletter input::placeholder {
	color: #666666;
}

.footer_links1 {
	grid-column: 1 / span 1;
	grid-row: 2 / span 1;
}

.footer_links2 {
	grid-column: 1 / span 1;
	grid-row: 3 / span 1;
}

.footer_link_list {
	list-style: none;
}

.footer_link_list :is(a, a:link, a:visited, a:active) {
	color: #FFFFFF;
	text-decoration: none;
}

.footer_link_list a:hover {
	text-decoration: underline;
}

.footer_logos {
	grid-column: 1 / span 1;
	grid-row: 4 / span 1;
	display: flex;
	gap: 20px;
}

.footer_logo_circle {
	background-color: #FFFFFF;
	border-radius: 100%;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #000000;
	font-size: 22px;
}

.footer_logos img {
	height: 40px;
}

.footer_contact_mobile {
	grid-column: 1 / span 1;
	grid-row: 5 / span 1;
}

@media only screen and (min-width: 622px) {

	footer {
		margin-bottom: 40px;
	}

	.footer_gridbox {
		padding: 60px 80px;
		border-radius: 40px;
		margin: 0px 20px;
	}

}

@media only screen and (min-width: 1000px) {

	.footer_gridbox {
		grid-template-columns: repeat(3, 1fr);
		margin: 0px 20px;
		gap: 50px 60px;
	}

	.footer_info1 {
		display: block;
		grid-column: 2 / span 1;
		grid-row: 1 / span 1;
		padding-bottom: 10px;
	}

	.footer_info2 {
		display: block;
		grid-column: 3 / span 1;
		grid-row: 1 / span 1;
		padding-bottom: 10px;
	}

	.footer_newsletter {
		display: block;
		grid-column: 1 / span 1;
		grid-row: 2 / span 1;
	}

	.footer_links1 {
		grid-column: 2 / span 1;
		grid-row: 2 / span 1;
	}

	.footer_links2 {
		grid-column: 3 / span 1;
		grid-row: 2 / span 1;
	}

	.footer_logos {
		grid-column: 1 / span 1;
		grid-row: 3 / span 1;
	}

	.footer_contact_desktop {
		display: block;
		grid-column: 2 / span 2;
		grid-row: 3 / span 1;
	}

	.footer_contact_mobile {
		display: none;
	}
}