@charset "utf-8";
/* -------------------------------------------------------
CityHunters Page specific Design

Copyright by CityHunters 2025
------------------------------------------------------- */

@font-face{
	font-family: eudoxus;
	src: url(/fonts/EudoxusSansGX.woff2) format('woff2'), url(/fonts/EudoxusSansGX.woff) format('woff');
	font-style: normal;
	font-display: block
}

/*
@font-face{
	font-family: 'Font Awesome 5 Free';
	src: url(/fonts/fa-solid-900.woff2) format('woff2'), url(/fonts/fa-solid-900.woff) format('woff');
	font-style: normal;
	font-weight: 900;
	font-display: block
}

@font-face{
	font-family: 'Font Awesome 5 Free';
	src: url(/fonts/fa-regular-400.woff2) format('woff2'), url(/fonts/fa-regular-400.woff) format('woff');
	font-style: normal;
	font-weight: 400;
	font-display: block
}

.far {
  font-family: 'Font Awesome 5 Free';
  font-weight: 400; }

.fa,
.fas {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900; }
  */
  
.ch_icon {
    display: inline-block;
    vertical-align: middle;
    overflow: visible;
    aspect-ratio: 1 / 1;
    -webkit-tap-highlight-color: transparent;
}

.ch_icon.medium {width: 1rem;}
.ch_icon.small {width: 0.8rem;}
.ch_icon.yellow {fill: var(--chyellow);}
.ch_icon.medium_grey {fill: #CACBD4;}
.ch_icon.star {
	width: 0.8rem;
	fill: var(--chyellow);
	margin-right: 0.2rem;
}


/* -------------------------------------------------------
RESET ALL
------------------------------------------------------- */

body, h1, h2, h3, h4, div, ol, a, ul, li, p, dl, dt, dd, form, table, caption, thead, tbody, tr, th, td {
	margin: 0;
	padding: 0;
	color: inherit;
	font-style: normal;
	font-weight: normal;
	text-decoration: none;
	background-color: transparent;
	border: none;
}

img {
	margin: 0;
	border-width: 0px;
	border-color: transparent;
	padding: 0;
	background: transparent;
	color: transparent;
}

ol, ul {
	list-style-type: none;
	list-style-position: outside;
	list-style-image: none;
}

/* -------------------------------------------------------
GENERAL
------------------------------------------------------- */

html {scroll-behavior: smooth;}

html, body {
	height: 100%; 
	width: 100%; 
	margin:0; 
	padding:0;
	min-width: 300px;
	color: var(--chblue);
	font-size: 16px;
	line-height: 1.1;
}

html, body, input, select, textarea, button, p, h1, h2, h3, h4, h5, ol, ul  {
	font-size: 16px;
	font-family: 'Eudoxus', sans-serif;
	text-align: left;
}

:root { 
	--header-h: clamp(72px,10vw,80px);
	--chblue: #010F70;
	--chblue01: rgba(1, 15, 112, 0.1);
	--chblue02: rgba(1, 15, 112, 0.2);
	--chblue03: rgba(1, 15, 112, 0.3);
	--chlightblue: #EEF2FC;
	--chmediumblue: #D4DEF7;
	--chdarkblue: #000C5F;
	--chred: #E13131;
	--chlightgreen: #CAF170;
	--chxlightgreen: #EAF9C6;
	--chyellow: #FFCC00;
	--chlightyellow: #FFD942;
	--chxlightyellow: #FFEEAC;
	--chgreen: #8ec900;
	--chdarkgrey: #727E8F;
	--chxwhite: #F8F8F8;
}

body {
	display: flex;
    flex-direction: column;
}

body.no-scroll {overflow: hidden;}

.form_input,
input, select, textarea, button {
	font-style: normal;
	font-weight: normal;
	border: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	line-height: normal;
}

select {outline: none;}

* {-webkit-tap-highlight-color: transparent;}

::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
    border: 3px solid #f1f1f1;
}

::-webkit-scrollbar-thumb:hover {background: #555;}

input:-webkit-autofill {
  box-shadow: 0 0 0 1000px white inset !important;
  -webkit-text-fill-color: #000 !important;
  transition: background-color 5000s ease-in-out 0s;
}


/* -------------------------------------------------------
STRUCTURE
------------------------------------------------------- */

.flexcontainer_outer {
	height: auto;
	width: 100%;
	max-width: 100%;
	position: relative;
	box-sizing: border-box;
}

.flexcontainer_inner {
	height: 100%;
	margin: 0 auto;
	position: relative;
	width: 68rem;
	max-width: 100%;
	box-sizing: border-box;
	padding-left: 1rem;
	padding-right: 1rem;
	min-height: 0;
    text-align: left;
}

.flexcontainer_inner::after {
    content: "";
    display: table;
    clear: both;
}

@media screen and (max-width:1100px) {
	.flexcontainer_outer {
		overflow: hidden;
	}
	
	.flexcontainer_inner.wide {
		padding-left: 0;
		padding-right: 0;
	}	
}

main .flexcontainer_outer:last-of-type > .flexcontainer_inner:last-of-type {
	padding-bottom: clamp(100px,15vw,140px) !important;
}



/* -------------------------------------------------------
COLORS
------------------------------------------------------- */

.blue {color: var(--chblue);}
.blue_bg {background-color: var(--chblue);}
.blue_border {border-color: var(--chblue);}

.dark_blue {color: var(--chdarkblue);}
.dark_blue_bg {background-color: var(--chdarkblue);}
.dark_blue_border {border-color: var(--chdarkblue);}

.light_blue {color: var(--chlightblue);}
.light_blue_bg {background-color: var(--chlightblue);}
.light_blue_border {border-color: var(--chlightblue);}

.light_blue_gradient_bg {background: linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 100%);}

.green {color: var(--chgreen);}
.green_bg {background-color: var(--chgreen);}
.green_border {border-color: var(--chgreen);}

.light_green {color: var(--chlightgreen);}
.light_green_bg {background-color: var(--chlightgreen);}
.light_green_border {border-color: var(--chlightgreen);}

.xlight_green {color: var(--chxlightgreen);}
.xlight_green_bg {background-color: var(--chxlightgreen);}
.xlight_green_border {border-color: var(--chxlightgreen);}

.red {color: var(--chred);}
.red_bg {background-color: var(--chred);}
.red_border {border-color: var(--chred);}

.yellow {color: var(--chyellow);}
.yellow_bg {background-color: var(--chyellow);}
.yellow_border {border-color: var(--chyellow);}

.light_yellow {color: var(--chlightyellow);}
.light_yellow_bg {background-color: var(--chlightyellow);}
.light_yellow_border {border-color: var(--chlightyellow);}

.xlight_yellow {color: var(--chxlightyellow);}
.xlight_yellow_bg {background-color: var(--chxlightyellow);}
.xlight_yellow_border {border-color: var(--chxlightyellow);}

.dark_grey {color: var(--chdarkgrey);}
.dark_grey_bg {background-color: var(--chdarkgrey);}
.dark_grey_border {border-color: var(--chdarkgrey);}

.medium_grey {color: #CACBD4;}
.medium_grey_bg {background-color: #CACBD4;}
.medium_grey_border {border-color: #CACBD4;}

.xwhite {color: var(--chxwhite);}
.xwhite_bg {background-color: var(--chxwhite);}
.xwhite_border {border-color: var(--chxwhite);}

.xwhite_gradient_bg {background: linear-gradient(0deg, #fff 10%, #fbfbfb 40%, #fbfbfb 60%, #fff 90%);}

.white {color: #fff;}
.white_bg {background-color: #fff;}
.white_border {border-color: #fff;}

.white_semitransparent {color: rgba(255,255,255,0.7);}
.white_semitransparent_bg {background-color: rgba(255,255,255,0.7);}

.shadow_thin {box-shadow: 0 0 4px 0 rgba(0, 0, 0, .1);}


/* -------------------------------------------------------
FONTS
------------------------------------------------------- */

p, h1, h2, h3, h4, h5 {
	letter-spacing: 0;
	color: inherit;
}

h1, .xxx_large {
	font-weight: 700;
	line-height: 1.15;
	font-size: clamp(1.75rem,4vw,2.625rem);
	letter-spacing: -0.05rem;
}

h2, .xx_large {
	font-weight: 700;
	line-height: 1.2;
	font-size: clamp(1.75rem,3.3vw,2.4rem);
	letter-spacing: -0.07rem;
}

h3, .x_large {
	font-weight: 700;
	line-height: 1.25;
	font-size: clamp(1.45rem,3vw,1.8rem);
	letter-spacing: -0.025rem;
}

body.impressum main .x_large,
body.datenschutz main .x_large {
	display: block;
	margin-bottom: 	30px;
}

.text_container h3,
h4, 
.large {
	font-weight: 700;
	line-height: 1.3;
	font-size: clamp(1.25rem,3vw,1.4rem);
	letter-spacing: -0.025rem;
}

.m_large {
	font-size: 1.2rem;
	letter-spacing: -0.007rem;
}

.s_large {font-size: 1.1rem}

.standard_size {font-size: 1rem !important;}

p {
	margin-bottom: 1.25rem;
	font-weight: 400;
	line-height: 1.5;
	font-size: 1rem;
	letter-spacing: 0;
}

.s_small {font-size: 0.9rem;}
.m_small {font-size: 0.8rem;}
.small {font-size: 0.6rem;}
.x_small {font-size: 0.4rem;}

.bold_500 {font-weight: 500;}
.bold_600 {font-weight: 600;}
.bold, .bold_700 {font-weight: 700;}
.bold_800 {font-weight: 800;}
.bold_900 {font-weight: 900;}


.text_container h2 {
	margin-bottom: 25px;
}

.text_container h3 {
	margin-bottom: 20px;
}

.text_container h4 {
	margin-bottom: 15px;
}

.search_heading {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.search_heading > div {
	max-width: calc(33% + 5vw);
	flex: 1;	
}

@media screen and (max-width: 700px) {
	
	.search_heading {
		display: flex;
		flex-direction: column;
		gap: 20px;
		justify-content: center;
	}
	
	.search_heading > div {
		max-width: 100%;
	}
	
}


/* ---------- LISTS ------------ */

ul, ol {
	margin-top: 0;
	margin-bottom: 0;
	color: inherit;
	line-height: 1.35;
}

ul.standard {
	list-style: disc outside;
    padding-left: 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}


/* ---------- LINKS ------------ */

a.main_link {
	border-bottom: 2px solid var(--chblue02);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--chblue) !important;
    padding-bottom: 0.5rem;
}

a.text_link {
	border-bottom: 1px solid var(--chblue02);
    font-weight: 700;
    color: var(--chblue) !important;
}

.open_chat {cursor: pointer;}

a:focus,
a:focus-visible {outline: none;}

.anchor-target { scroll-margin-top: calc(var(--header-h) + 8px); }


/* -------------------------------------------------------
FORMS
------------------------------------------------------- */

/* ---------- BUTTONS ------------ */

.button {
    max-width: 250px;
    width: auto;
    box-sizing: border-box;
    position: relative;
    text-align: center;
    margin: 0 auto;
	cursor: pointer;
	line-height: 1rem;
    font-size: 1rem;
    font-weight: 700;
	display: flex;
    align-items: center;
    justify-content: center;
    height: 3.5rem;
	transition: all .2s linear;
    border-radius: 16px;
	transition: all linear 0.5s;
	gap: 10px;
	padding: 0 1.5rem;
}

.button.small {
	height: 4rem;
}

.button.yellow {
	background: linear-gradient(264deg, var(--chyellow) 0%, #FFBB2F 100%), var(--chyellow);
	color: var(--chblue);
}

.button.blue {
	background-color: #d6dfef;	
}

.button.transparent {
	background: transparent;
	color: inherit;
	border: 1px solid var(--chblue02);
}

.button.yellow:hover,
.button.yellow:focus {
	background: var(--chlightyellow);
}

.button.blue:hover,
.button.blue:focus {
	background-color: var(--chblue);
	color: #fff;
}

.button.blue:active {
	background-color: var(--chdarkblue);
}


.button.disabled,
.button.disabled {
	opacity: 0.6;
}

.search_button {
	background: url(/images/search.svg) no-repeat center center / 40%, linear-gradient(264deg, var(--chyellow) 0%, #FFBB2F 100%), var(--chyellow);
	color: var(--chblue);
	aspect-ratio: 1 / 1;
	border-radius: 1rem;
	display: flex;
	align-items: center;
    justify-content: center;
	box-sizing: border-box;
	position: relative;
	text-align: center;
	cursor: pointer;
	line-height: 1rem;
	font-size: 1rem;
	font-weight: 700;
	width: 3.5rem;
}

.search_button span {
	display: none;	
	align-items: center;
    justify-content: center;
    gap: 10px;
}

.search_button span img {
	height: 1rem;
}

.button svg {
	fill: var(--chblue);
	width: 1rem;
	transition: all .2s linear;
}

.button.blue:hover svg,
.button.blue:focus svg {
	fill: #fff;
}



/* ---------- INPUT ------------ */


label, .label {}

.form_input,
input, select, textarea {
    font-size: 1rem;
    line-height: 1.3rem;
	border-radius: 1rem;
	padding: 1rem;
	background-color: var(--chxwhite);
	color: var(--chblue);
	border-style: solid;
	border-width: 1px;
	border-color: transparent;
	position: relative;
	box-sizing: border-box;
}

textarea {resize: none;}

input[type=text] {}

input[type=checkbox] {
	accent-color: var(--chblue);
	width: 1.7rem;
    aspect-ratio: 1 / 1;
    border-radius: 5px;
}

input[type="radio"] {
	accent-color: var(--chblue);
	width: 1.7rem;
    height: 1.3rem;
}

input[readonly='readonly'] {}

.form_input,
input::placeholder,
textarea:placeholder {
  color: rgba(1,15,112,0.6);
  font-weight: 500;
}

textarea,
input,
input:hover,
input:active,
input:focus {
    outline: none;
    box-shadow: none;
}

select {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	padding-right: 3rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M1.038041,6c.26627,0,.531186.10222.733929.306661l9.024751,9.098983c.663644.669203,1.743587.669203,2.407231,0l9.024075-9.098983c.405485-.408882,1.062372-.408882,1.467857,0,.405485.408882.405485,1.07127,0,1.480152l-9.024076,9.098984c-1.473939,1.485604-3.869682,1.485604-5.342945,0L.304115,7.786814c-.405485-.408882-.405485-1.07127,0-1.480152.202743-.204441.467661-.306661.733926-.306662Z' fill='%23010F70'/></svg>");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: auto 1rem;
}

.city_select_input_frame {position: relative;}

.city_select_input.icon,
ul.main-navi li .submenu .city_select_input,
.mapbox_map .city_select_input {padding-left: 2.5rem;}

.city_select_input_frame svg {
	width: 1rem;
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translate(0,-50%);
	z-index: 1;
	fill: var(--chblue);
}

.city_select_dropdown {
    position: absolute;
    left: 0;
    top: 99%;
    display: none;
    list-style-type: none;
    padding: 16px;
    margin: 0;
    z-index: 4;
    height: auto;
    background: #fff;
    border-radius: 10px;
    border: 1px solid rgba(18,24,56,0.15);
	width: 100%;
    box-sizing: border-box;
}

.city_select_dropdown li {
    text-align: left;
    width: 100%;
    padding: 0 0 10px 0;
    margin: 0 0 10px 0;
	white-space: nowrap;
    display: block;
    cursor: pointer;
	overflow: hidden;
    text-overflow: ellipsis;
}

.city_select_dropdown li:hover {
	background-color: transparent;
}

.city_select_dropdown li:first-child {
	margin-top: 0;
	padding-top: 0;
}

.city_select_dropdown li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	
}

.form_row {
	display: flex;
    flex-direction: row;
    gap: 1.5rem;
	width: 100%;
	position: relative;
	align-items: start;
	line-height: 1.35;
}

.form_row button,
.form_row > div {
	width: 100%;
	position: relative;
}

.form_input.flag .input_flag {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1rem;
    width: 1.3rem;
	border-radius: 3px;
}

.form_input.flag {padding: 1rem 0 1rem 3.3rem;}

.form_input select,
.form_input input {
	border: none;
	border-left: 1px solid var(--chblue03);
	border-radius: 0 1rem 1rem 0;
	width: 100%;
	padding: 0 0 0 1rem;
	outline: none;
}

.form_row .required {position: relative;}

.form_row .required::before {
    position: absolute;
    content: '*';
    right: 0.6rem;
    top: 0.5rem;
    z-index: 1;
    font-size: 1.3rem;
    line-height: 1rem;
    color: rgba(1, 15, 112, 0.4);
}

.form_row .has-error input,
.form_row .has-error select,
.form_row .has-error textarea {
	border-color: var(--chred) !important;
	outline: none;
}
 
.inquiry_event_tiles_list .error-msg,
.form_row .error-msg {
	font-size: .7rem;
    color: var(--chred);
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: -1rem;
}

.inquiry_event_tiles_list .error-msg {bottom: -1.4rem;}

.form_row.has-error {color: var(--chred);}

.form_row.has-error input[type=checkbox] {box-shadow: inset 1px 1px 0 var(--chred), inset -1px 1px 0 var(--chred), inset 1px -1px 0 var(--chred), inset -1px -1px 0 var(--chred);}

	
/* -------------------------------------------------------
HEADER
------------------------------------------------------- */

.header_pre_top {
	height: 2rem; 
	background: #fff;
	z-index: 1000;
}

.header_pre_top .header_pre_top_inner {
	display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 0.9rem;
    height: 2rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.header_top {
	position: fixed; 
	top: 0; 
	width: 100%; 
	z-index: 999;
	box-shadow: none;
	background: transparent;
	border: 0;
	border-bottom: 0;
}

.header_top:not(.scrolled) {top: 0;}

body .header_top:not(.mobile_menu_open) {
	background: linear-gradient(90deg, var(--chblue) 30%, #2c3ba2 80%), var(--chblue);
}

.header_top.relative:not(.scrolled):not(.mobile_menu_open), 
.header_top.scrolled:not(.mobile_menu_open) {
	box-shadow: rgba(255,255,255,0.3) 0px .5rem 1.5rem 0px;
}


#header_logo {
	width: clamp(150px,50vw,230px);
	height: 100%;
	margin-top: 0px;
	margin-bottom: 0px;
	background-image: url(/images/logo-cityhunters.svg);
	background-size: contain;
	background-repeat: no-repeat;
    background-position: left;
}

.header_top,
#header_logo {height: clamp(72px,10vw,80px);}

#header_logo a {
	height: 100%;
	width: 100%;
	display: block;
}

.header_top .header_top_inner {
	overflow: visible;
	justify-content: space-between;
	display: flex;
	position: relative;
}

.header_top.scrolled .header_top_inner {border-bottom: none;}

.header_top_inner .menu_button {
	display: none;
    height: auto;
    align-items: center;
	
}

@media screen and (max-width: 900px) {
	body .header_top:not(.mobile_menu_open) {background: var(--chblue);}
}

@media screen and (max-width: 700px) {
	.header_spacer {height: 40px;}
}



/* ---------- HEADER NAVI ------------ */

.header_top.mobile_menu_open {
    position: fixed;
    top: -300px !important;
    bottom: -300px;
	padding: 300px 0 0 0; /* Mit Promo Bar: 330px 0 0 0; */
    left: 0px;
    right: 0px;
	width: auto;
    background: #fff;
	height: auto;
	max-height: none;
}

.header_top.scrolled.mobile_menu_open {padding: 300px 0 0 0;}

.header_pre_navi {
	display: flex;
    flex: 1;	
}

.header_top .header_navi {
    width: auto;
    height: 100%;
    position: relative;
	transition: 0.5s;
}

.navi-container {height: 100%;}

ul.main-navi {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 0;
    margin: 0;
    list-style-type: none;
}

ul.main-navi > li:not(.language) {
	height: 100%;
    width: auto;
    padding: 0;
    margin: 0;
    line-height: 1;
    position: relative;
	display: flex;
	align-items: center;	
}

ul.main-navi > li:not(.language) > a {
	padding: 0 1rem 0 1rem;
    margin: 0;
    height: 100%;
    box-sizing: border-box;
    font-weight: 600;
    line-height: 1;
    width: auto;
    transition: .5s;
    position: relative;
    cursor: pointer;
	display: flex;
	align-items: center;
	color: #fff;
}

ul.main-navi li:hover > a,
ul.main-navi li > a:hover {color: var(--chyellow);}


ul.main-navi > li > .inquiry_button {
	height: 2.75rem;
	margin-left: 1rem;
}


ul.main-navi > li.language {
	padding: 0 0 0 1.5rem;
	display: flex;
    align-items: center;
}

ul.main-navi > li.language > div {
	display: flex;
	flex-direction: row;
	gap: .5rem;
	background: rgba(255,255,255,.4);
	border-radius: 1rem;
	height: 2.75rem;
	padding: 0 1rem;
	align-items: center;
}

ul.main-navi > li.language a img {
	width: 1.1rem;
	border: 1px solid rgba(255, 255, 255, .4);
	display: block;
}

ul.main-navi > li > .plus {display: none;}

ul.main-navi li .submenu {
    position: fixed;
    top: clamp(72px,10vw,80px);
    left: 0;
    width: 100%;
    z-index: 2;
    display: block;
    max-height: 0;
    visibility: hidden;
    box-sizing: border-box;
	box-shadow: 0 2000px 0px 2000px rgba(18, 24, 56, 0);
	overflow: hidden;
	transition: max-height 0.3s linear;
	border-radius: 0 0 24px 24px;
}

ul.main-navi li:hover .submenu {
	max-height: 800px;
	visibility: visible;
	animation: set-overflow 0.3s linear forwards;
}

ul.main-navi li .submenu:after {
	content: '';
	transition: all 0.3s linear;
}

ul.main-navi li .submenu > .only_desktop {
    position: relative;
    width: 100%;
    box-sizing: border-box;
	flex-direction: column;
	display: none;
	overflow: hidden;
	 background-color: #fff;
	 border-radius: 0 0 24px 24px;
	visibility: hidden;
	height: 0;
}

ul.main-navi li .submenu > .only_desktop > div:first-child,
ul.main-navi li .submenu > .only_desktop > div:nth-child(2) > div {
	margin: 0 auto;
    position: relative;
    width: 1100px;
	max-width: 100%;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
	flex-direction: row;
}

ul.main-navi li .submenu .only_mobile {display: none;}
ul.main-navi li .submenu .only_desktop {
	display: block;
	flex: 1;
}


@keyframes set-overflow {
  0% {
    overflow: hidden;
	box-shadow: 0 2000px 0px 2000px rgba(18, 24, 56, 0);
  }
  99% {
    overflow: hidden;
  }
  100% {
    overflow: visible;
	box-shadow: 0 2000px 0px 2000px rgba(18, 24, 56, 0.35);
  }
}


ul.main-navi li:hover .submenu > .only_desktop {
	display: flex;
	visibility: visible;
	height: auto;
}

ul.main-navi li .submenu.teamevents .only_desktop > .flex_row:first-child {background: url(/images/header/ipad-header-people.webp) no-repeat bottom right / 25%;}

ul.main-navi li .submenu.teamevents .only_desktop > .flex_row:first-child > .flex_row:first-child {align-items: flex-start; width: 65%; box-sizing: border-box;}

ul.main-navi li .submenu.occassions .only_desktop > .flex_row:first-child,
ul.main-navi li .submenu.cities .only_desktop > .flex_row:first-child {align-items: flex-start;}

ul.main-navi li .submenu ul.submenu_list li:not(:first-child):not(.more) {margin-top: 1rem;}

ul.main-navi li .submenu ul.submenu_list li.more {margin-top: 2rem;}

ul.main-navi li .submenu ul.submenu_list li a {color: var(--chdarkgrey);}
ul.main-navi li .submenu ul.submenu_list li a:hover {color: var(--chblue);}

ul.main-navi li .submenu .city_search_field {
	width: 100%;
	justify-content: flex-end;
	gap: 1rem;	
}

ul.main-navi li .submenu .city_search_field .city_select_input_frame {
	max-width: calc(100% - 3.7rem);
	width: 25rem;
}

ul.main-navi li .submenu .city_search_field .city_select_input_frame input {width: 100%;}

ul.main-navi li .submenu .contact_row {align-items: center;}

ul.main-navi li .submenu .contact_row > div:nth-child(2){
	justify-content: center; 
	flex: 1
}

ul.main-navi li .submenu .contact_row .jth_logo {
	width: 11rem;
    height: 6rem;
    background-color: var(--chblue);
    border-radius: 16px;
    background-image: url(/images/logo-join-the-hunt.svg?v=2);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 60%;
}

.navi-container .mobile_navi_cta {display: none;}


/* ---------- MOBILE NAVIGATION ------------ */

@media screen and (max-width: 900px) {
	
	.header_top .header_top_inner {
		flex-direction: column;	
	}
	
	.header_top.mobile_menu_open #header_logo {background-image: url(/images/logo-cityhunters-blue.svg?v=2);}
	
	.header_top .menu_button {
		display: flex;
		margin-left: auto;
	}
	
	.header_top .menu_button .menu-icon {
		fill: #fff;
        transition: all .5s;
        border-radius: 0.8rem;
        border: none;
        background-color: rgba(255, 255, 255, 0.1);
        font-weight: 300;
        width: 1.2rem;
        line-height: 2.4rem;
        padding: 0.8rem;
    }
	
	.header_top .menu_button .menu-icon.open {display: block;}
	.header_top .menu_button .menu-icon.close {
		display: none;
		width: 1rem;
		padding: 0.9rem;
	}
	
	.header_top.mobile_menu_open .menu_button .menu-icon.open {display: none;}
	.header_top.mobile_menu_open .menu_button .menu-icon.close {display: block;}
	
	.header_top.mobile_menu_open .menu-icon {
		background-color: var(--chblue01);
		fill: var(--chblue);
	}
	
	.header_top .header_navi {
        width: 100%;
        box-sizing: border-box;
    }
	
	.navi-container {
		width: calc(100% + 28px);
		left: 0;
		position: relative;
		padding: 0 1rem 0 0;
        box-sizing: border-box;
		overflow-y: scroll;
		max-height: calc(100vh - 15rem);
	}

	@supports (scrollbar-gutter: stable) {
		.navi-container {
			overflow-y: auto;
			scrollbar-gutter: stable;
		}
	}
	
	@supports (max-height: 100svh) {
		 .navi-container {
			max-height: calc(100svh - 15rem);
		}
	}
	
	.header_top .header_navi .button {display: flex;}
	
	.header_top:not(.mobile_menu_open) .header_navi {max-height: 0;}
	
	ul.main-navi {
		flex-direction: column;
		height: auto;
		box-sizing: border-box;
    }
	
	ul.main-navi li {
		width: 100%;
		height: auto;
		float: none;
		flex-direction: column;
	}
	
	ul.main-navi > li {
		align-items: flex-start;
		justify-content: space-between;
	}
	
	ul.main-navi > li:not(:last-child):not(:nth-last-child(2)) {
		border-bottom: 1px solid var(--chblue02);
		padding: 0;
	}
	
	ul.main-navi li.inquiry {display: none;}
	
	ul.main-navi > li.language {
		padding: 0;
		align-items: start;
	}
	
	ul.main-navi > li.language > div {
		padding: 2rem 1rem 2rem 1rem;
		gap: 1rem;
	}
	
	ul.main-navi > li.language a img {width: 1.5rem;}
	
	ul.main-navi li:hover > a,
	ul.main-navi li > a:hover {color: var(--chblue);}
	
	ul.main-navi > li:not(.language) > a {
		width: 100%;
		padding: 2rem 1rem 2rem 1rem;
		color: var(--chblue);
		font-size: 1.2rem;
		font-weight: 700;
		height: 5.5rem;
    }
	
	ul.main-navi > li > .plus {
       display: flex;
        position: absolute;
        top: 1.25rem;
        right: 0;
        content: '-';
        background: var(--chblue01);
        height: 1rem;
        width: 1rem;
        padding: 0.9rem;
        border-radius: 0.8rem;
    }
	
	ul.main-navi > li.unfolded > .plus {
        background: var(--chblue);
    }
	
	ul.main-navi > li > .plus::after {
		content: '+';
		top: 50%;
		left: 50%;
		transform: translate(-50%,-62%);
		color: var(--chblue);
		position: absolute;
		z-index: 1;
		font-size: 2.5rem;
		font-weight: 100;
	}
	
	ul.main-navi > li.unfolded > .plus::after {
		content: '-';
		color: #fff;
	}
	
	ul.main-navi li .submenu .only_mobile {
		display: flex;
		padding: 0 1rem 2rem 1rem;
	}
	
	ul.main-navi li .submenu .only_desktop,
	ul.main-navi li .submenu > .only_desktop,
	ul.main-navi li:hover .submenu .only_desktop,
	ul.main-navi li .submenu .only_desktop {display: none;}
	
	ul.main-navi li:hover .submenu,
	ul.main-navi li .submenu {
		background: transparent;
		border-radius: 0;
		display: block;
		border: 0;
		padding: 0;
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		max-height: 0;
		visibility: hidden;
		animation: none;
	}
	
	ul.main-navi li.unfolded .submenu {
		max-height: none;
		visibility: visible;
		padding: 0;
		animation: none;
	}
	
	ul.main-navi li .submenu ul:not(.city_select_dropdown) {
		height: auto;
		width: auto;
		max-width: none;
		list-style-type: none;
		padding: 0;
		float: none;
		display: flex;
    	flex-direction: column;
		overflow: visible;
		margin: 0;
		padding: 0;
	}
	
	ul.main-navi li .submenu ul:not(.city_select_dropdown) li {
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;	
		color: #fff;
		display: flex; /* Entfernen */
		vertical-align: inherit; /* Entfernen */
		overflow: visible; /* Entfernen */
		white-space: normal; /* Entfernen */
	}
	
	ul.main-navi li .submenu ul a.main_link {border-bottom: none !important;}
	
	
	.header_top.mobile_menu_open .navi-container .mobile_navi_cta {
		display: flex !important;
		flex-direction: column;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		background: var(--chlightblue);	
		border-radius: 20px 20px 0 0;
		z-index: 3;
		padding: 1rem;
		gap: 0.7rem;
	}
	
	.header_top.mobile_menu_open .navi-container .mobile_navi_cta .button {
		width: 100% !important;
		max-width: 100% !important;
	}
	
}


/* ---------- BREADCRUMB NAVIGATION ------------ */

.breadcrumb {
    display: flex;
    position: absolute;
    z-index: 1;
    top: 1.7rem;
    left: 1rem;
    backdrop-filter: saturate(140%) blur(5px);
    background: rgba(255, 255, 255, .55);
    padding: 0.5rem 0.7rem;
    border-radius: 3rem;
	max-width: calc(100% - 4.5rem);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.index .breadcrumb,
body.occassions .breadcrumb,
body.events .breadcrumb {
	left: 2.25rem;
}

ol.breadcrumb li {
	margin: 0;
    padding: 0;
    width: auto;
    display: inline-block;
    font-weight: 500;
    font-size: 0.8em;
	position: relative;
	max-width: 9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

ol.breadcrumb li.sublevel {padding-left: 1.2em;}

ol.breadcrumb li.sublevel:before {
    content: '/';
    float: none;
    margin-left: 0;
	position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 5px;
}

@media only screen and (max-width: 700px) {
	
	.breadcrumb {display: none;}
	
}


/* ---------- HEADER IMAGE ------------ */

#header_image_container {
	margin-top: clamp(-80px, -10vw, -72px);
    max-height: 760px;
	display: flex;
    align-items: stretch;
    justify-content: center;
	position: relative;
	z-index: 1;
	margin-bottom: -2.9%;
	overflow: visible !important;
}

#header_image_container #header_image_outer.overflow,
#header_image_container.overflow {
	overflow: visible;
}

#header_image_container::after {
	content: '';
	position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
	top: 0;
    left: 0;
	right: 0;
    background: var(--chlightblue);
    background: linear-gradient(0deg, var(--chblue01) 0%, transparent 8%), var(--chlightblue);
	background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;	
}

#header_image_container.left_tilt::after {transform: skew(0,-3.2deg);}
#header_image_container.right_tilt::after {transform: skew(0,3.2deg);}

@media only screen and (min-width: 701px) {
	
	body.occassion #header_image_container::after,
	body.jobs #header_image_container::after,
	body.blog-article #header_image_container::after,
	body.about #header_image_container::after {background-image: url(/images/vector-line-about-header.svg);}
	
	/*
	body.event #header_image_container,
	body.event-city #header_image_container {background-position: 46% center;}
	
	body.geocaching #header_image_container {background-image: url(/images/vector-line-geocaching-header.svg);}
	
	body.ipad #header_image_container {background-image: url(/images/vector-line-geocaching-header.svg);}
	
	body.smartphone #header_image_container {background-image: url(/images/vector-line-geocaching-header.svg);}
	*/
	
}

#header_image_container_inner {
	margin-top: clamp(144px, 20vw, 160px);
	max-width: 100%; 
	flex: 1;
}


#header_image_container #header_image_container_inner .flexcontainer_inner {
	height: 100%;
	display: flex;
    flex-direction: column;
	padding: 0;
}

#header_image_container #header_image_outer {
	position: relative;
	width: calc(100% - 2.5rem);
	padding-top: 48%;
	overflow: visible;
	margin: 0 1.25rem 0 1.25rem;
}

#header_image_container #header_image {
	box-sizing: border-box;
	margin: 0;
	background-position: center;
	background-size: cover;
	position: absolute;
    bottom: 0;
    right: 0;
}

#header_image_container.wide #header_image_outer #header_image {
    top: 0;
    left: 0;
}

#header_image_container.wide.left_tilt #header_image_outer #header_image {clip-path:url(#wide_clipmask_left);}
#header_image_container.wide.right_tilt #header_image_outer #header_image {clip-path:url(#wide_clipmask_right);}

#header_image_container.medium_wide #header_image_outer #header_image {
    top: 1.7rem;
    left: 38%;
	background-position: top right;
	bottom: 1.5rem;
}

#header_image_container.medium_wide.left_tilt #header_image_outer #header_image {clip-path:url(#medium_clipmask_left);}
#header_image_container.medium_wide.right_tilt #header_image_outer #header_image {clip-path:url(#medium_clipmask_right);}

#header_image_container.narrow #header_image_outer #header_image {
    top: 1.7rem;
    left: 48%;
	background-position: center;
}

#header_image_container.narrow.left_tilt #header_image_outer #header_image {clip-path:url(#narrow_clipmask_left);}
#header_image_container.narrow.right_tilt #header_image_outer #header_image {clip-path:url(#narrow_clipmask_right);}

body.city #header_image_container #header_image_outer #header_image,
body.occassion-city #header_image_container #header_image_outer #header_image,
body.event-city #header_image_container #header_image_outer #header_image,
body.blog-article #header_image_container #header_image_outer #header_image {filter: brightness(1.05) saturate(1.25);}

body.city #header_image_container #header_image_outer #header_image::before,
body.occassion-city #header_image_container #header_image_outer #header_image::before,
body.event-city #header_image_container #header_image_outer #header_image::before {
	content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(183deg, rgb(169 180 255 / 40%) 0%, rgba(1, 15, 112, 0) 60%);
}

body.cities #header_image_container #header_image_outer #header_image {background-position: right;}

body.city #header_image_container #header_image::after,
body.occassion-city #header_image_container #header_image::after {
	background-image: url(/images/vector-line-occassion-city.svg);
	content: '';
	position: absolute;
	top: 6rem;
	left: 0;
	right: 52%;
	bottom: 0;
	background-size: contain;
	z-index: 1;
	background-repeat: no-repeat;
}

#header_image_container .header_images_cities_overlay {
	background-image: url(/images/header/group-people-1.webp?v=2);
	background-size: contain;
	background-position: bottom center;
	background-repeat: no-repeat;
	position: absolute;
    right: 9.9%;
    top: 0;
    bottom: -7.5%;
    width: 56%;
	clip-path: polygon(0 0, 100% 0, 100% 97%, 0 91.3%);
}

#header_image_container .header_image_promo_text {
	position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    width: 50%;
}

body.cities #header_image_container .header_image_promo_text {width: 33%;}

body.event #header_image_container .header_image_promo_text,
body.event-city #header_image_container .header_image_promo_text {width: 47%;}

#header_image_container .header_image_promo_text.narrow {width: 36%;}

#header_image_container .header_image_promo_text h1 {margin-bottom: clamp(20px, 2.5vw, 40px);}
body.event #header_image_container .header_image_promo_text h1, 
body.event-city #header_image_container .header_image_promo_text h1 {margin-bottom: clamp(15px, 1.8vw, 20px);}

#header_image_container .header_image_promo_text .header_event_properties_tags {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
	margin-bottom: clamp(15px, 1.8vw, 20px);
}

#header_image_container .header_image_promo_text .header_event_properties_tags > div {
	font-size: clamp(0.65rem,1.8vw,0.8rem);
	background: #fff;
	padding: 0.5rem 0.7rem;
	border-radius: 1.5rem;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

#header_image_container .header_image_promo_text .header_event_properties_tags > div svg {
	width: 0.8rem;
	fill: var(--chblue);
}

#header_image_container .header_image_promo_text p {margin-bottom: 0;}

@media only screen and (min-width: 701px) {
	#header_image_container .header_image_promo_text .button {margin: 0 auto 0 0;}
}

#header_image_container #header_search_box {
	position: absolute;
    bottom: -3rem;
    left: 50%;
    transform: translate(-50%, 0);
	background: var(--chmediumblue);
	padding: 20px;
	border-radius: 24px;
	width: 70%;
	box-shadow: 0 0 5px 0 rgba(1, 15, 112, .5);
}

#header_image_container #header_search_box #outer_search_box {
	display: flex;
	flex-direction: row;
	gap: 1.25rem;
}

#header_image_container #header_search_box #inner_search_box {
	padding: 1rem;
	background: #fff;
	border-radius: 16px;
	display: flex;
	flex-direction: row;
	flex: 1;
}

#header_image_container #header_search_box #inner_search_box > div {
	position: relative;
	width: 100%;
}

#header_image_container #header_search_box #inner_search_box > div:not(:last-of-type) {
	margin-right: 1rem;	
}

#header_image_container #header_search_box #inner_search_box > div svg {
	width: 1.2rem;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);	
	z-index: 1;
	fill: var(--chblue);
}

#header_image_container #header_search_box #inner_search_box select,
#header_image_container #header_search_box #inner_search_box input {
	border: none;
	background: #fff;
	width: 100%;
	border-radius: 0;
	box-sizing: border-box;
	font-weight: 700;
    color: var(--chblue);
}

#header_image_container #header_search_box #inner_search_box input {padding: 0.2rem 1rem 0.2rem 1.7rem !important;}

#header_image_container #header_search_box #inner_search_box select {
	padding: 0.2rem;
	margin: 0 1rem 0 1.5rem;
	width: calc(100% - 2.5rem);
}

#header_image_container #header_search_box #inner_search_box select:focus {
  outline: none;
  box-shadow: none;
}

#header_image_container #header_search_box #inner_search_box div:not(:last-of-type) {
	border-right: 1px solid var(--chblue01);
}

#header_image_container #header_search_box .search_button {
	height: auto;
}
	
@media only screen and (max-width: 800px) {	

	#header_image_container {max-height: none;}
	
	#header_image_container.wide {background: transparent;}
	
	#header_image_container::after {
		
	}
	
	#header_image_container #header_image_outer {
		width: 100%;
		margin: 0;
		padding-top: calc(420px - 25vw);
	}
	
	#header_image_container.collapse {padding-bottom: 2rem;}
	
	#header_image_container.collapse #header_image_outer {
		display: flex;
		flex-direction: column;	
		padding-top: 0;
	}
	
	#header_image_container.wide.left_tilt #header_image_outer #header_image {clip-path: url(#mobile_clipmask_left);}
	#header_image_container.wide.right_tilt #header_image_outer #header_image {clip-path: url(#mobile_clipmask_right);}
	
	#header_image_container.collapse.left_tilt #header_image_outer #header_image,
	#header_image_container.collapse.right_tilt #header_image_outer #header_image {
		position: relative;
		top: auto;
		bottom: auto;
		left: auto;
		right: auto;
		order: 0;
		width: 100%;
       	height: calc(14rem + 25vw);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center top;
	}
	
	#header_image_container.collapse.left_tilt #header_image_outer #header_image {clip-path: none;} /*url(#mobile_clipmask_left)*/
	#header_image_container.collapse.right_tilt #header_image_outer #header_image {clip-path: none;} /*url(#mobile_clipmask_right)*/

	#header_image_container .header_image_promo_text {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		width: calc(100% - 2rem) !important;
		order: 0;
		padding: 2rem 1rem 1rem 1rem;
	}
	
	#header_image_container .header_images_cities_overlay {display: none;}

	
	#header_image_container #header_search_box {bottom: calc(-30% - 20vw);}
	#header_image_container.collapse #header_search_box {bottom: calc(-40% + 5vw);}
	
	body.index #header_image_container #header_search_box {bottom: calc(-60% - 15vw);}

	body.occassion #header_image_container #header_search_box {display: none;}
	
	body.city #header_image_container #header_image::after,
	body.occassion-city #header_image_container #header_image::after {display: none;}
	
	
	#header_image_container #header_search_box #outer_search_box {
		display: flex;
		flex-direction: column;
	}
	
	#header_image_container #header_search_box #inner_search_box {
		padding: 0 1rem 0 1rem;
		flex-direction: column;
	}
	
	#header_image_container #header_search_box #inner_search_box div:not(:last-of-type),
	#header_image_container #header_search_box #inner_search_box div {
		border: none;
		margin: 0;
		padding: 1rem 0 1rem 0;
	}
	
	#header_image_container #header_search_box #inner_search_box div:not(:last-of-type) {
		border-bottom: 1px solid var(--chblue01);
	}
	
	#header_image_container #header_search_box .search_button {
		height: auto;
		width: 100%;
		padding: 0 1.5rem;
		aspect-ratio: unset;
		background: linear-gradient(264deg, var(--chyellow) 0%, #FFBB2F 100%);;
		height: 3rem;
	}
	
	.search_button span {display: flex;}
	
}


/* ---------- HEADER IMAGE TAGS ------------ */

#header_image_outer .header_image_tag {
	position: absolute;
	display: flex;
	background: #fff;
	border-radius: 1rem;
	padding: 0.9rem;
	font-size: 0.8rem;
	z-index: 1;
	cursor: pointer;
}

#header_image_outer .header_image_tag_1 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	max-width: 14rem;
}

body.index #header_image_outer .header_image_tag_1 {
	left: 2rem;
	bottom: 9rem;
}

body.events #header_image_outer .header_image_tag_1 {
	right: 13rem;
	top: 4.5rem;
}

body.occassions #header_image_outer .header_image_tag_1 {
	right: 9rem;
	top: 1rem;
}

#header_image_outer .header_image_tag_1 > div:first-child {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;	
	width: 100%;
}

#header_image_outer .header_image_tag_1 > div:first-child > div:first-child {
	display: flex;
	flex-direction: row;
	align-items: center;
}

#header_image_outer .header_image_tag_1 > div:nth-child(2) {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

#header_image_outer .header_image_tag_1 > div:nth-child(2) > div:nth-child(2) {
	line-height: 1.3;
}


#header_image_outer .header_image_tag_2 {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	max-width: 14rem;
	right: 12rem;
	top: 1rem;
}

body.events #header_image_outer .header_image_tag_2 {
	right: 2rem;
	bottom: 12rem;
	top: auto;
}

body.city #header_image_outer .header_image_tag_2,
body.occassion-city #header_image_outer .header_image_tag_2,
body.occassion #header_image_outer .header_image_tag_2 {
	right: 2rem;
	top: 3.7rem;
}

#header_image_outer .header_image_tag_2 > div:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.6rem;
}

#header_image_outer .header_image_tag_2 > div:nth-child(2) > div:nth-child(2) {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 0.2rem;
	font-size: 1rem;
}

#header_image_outer .header_image_tag_2 > div:nth-child(2) > div:nth-child(2) svg {width: 1rem;}

#header_image_outer .header_image_tag_3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	right: 2rem;
	top: 3.7rem;
}

body.occassions #header_image_outer .header_image_tag_3 {
	right: auto;
	left: 2rem;
	top: 13rem;
}

body.about #header_image_outer .header_image_tag_3 {
	left: auto;
	right: 34%;
	top: auto;
	bottom: 6rem;
}

#header_image_outer .header_image_tag_3 > div:first-child {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 20px;
	width: 100%;
}

#header_image_outer .header_image_tag_3 > div:nth-child(2) {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 10px;
	width: 100%;
}

#header_image_outer .header_image_tag_3 > div:nth-child(2) svg {
	width: 1em;
	margin-right: 0.5rem;
}

#header_image_outer .header_image_tag_4 svg,
#header_image_outer .header_image_tag svg.google {
	fill: var(--chblue);
    background: #f7f7f7;
    padding: 0.7rem;
    border-radius: 50%;
    width: 1.3rem;
    height: 1.3rem;
}

#header_image_outer .header_image_tag_4 {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	left: 47%;
	bottom: 7rem;
}

body.about #header_image_outer .header_image_tag_4 {
	left: 42%;
	top: 4rem;
	bottom: auto;
}

.kununu_badge,
#header_image_outer .header_image_tag_kununu {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	left: 50%;
	bottom: 5rem;
	background: url(/images/vector-line-kununu.svg) no-repeat center center / 103%, #FFC217;
	padding: 1.5rem 1rem;
}

.kununu_badge {
	border-radius: 1rem;
	padding: 0.9rem;
	font-size: 0.8rem;
}

#header_image_outer .header_image_tag_kununu {
	left: 53%;
	bottom: 6rem;
}

.kununu_badge svg.star,
#header_image_outer .header_image_tag_kununu svg.star {
	fill: var(--chblue);
	width: 0.8rem;
    margin-right: 0.2rem;
}

.kununu_badge svg.star {width: 0.9rem;}

.kununu_badge img {width: 3rem;}
#header_image_outer .header_image_tag_kununu img {width: 5rem;}


@media only screen and (max-width: 800px) {
	#header_image_outer .header_image_tag {display: none;}
}


/* ---------- HEADER OVERLAYS ------------ */

#header_image_outer .event_device {
	position: absolute;
    transform: rotate(15deg) translate(0, -50%);
    top: 70%;
    left: 50%;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
}

body.event.geocaching #header_image_outer .event_device {
	width: 10rem;
	aspect-ratio: 1 / 1.35;
}

body.event.ipad #header_image_outer .event_device {
	width: 14rem;
	aspect-ratio: 1.3 / 1;
}

body.event.smartphone #header_image_outer .event_device {
	width: 6rem;
	aspect-ratio: 1 / 2.1;
}

@media (max-width: 900px) {
	#header_image_outer .event_device {display: none;}
}


#header_image_outer .event_people {
	position: absolute;
    bottom: -2rem;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
	width: 26rem;
	aspect-ratio: 1 / 1;
	right: 12%;
	clip-path: polygon(0 0, 100% 0, 100% 97.6%, 0 92%);
	background-position: center bottom;
}

body.cities #header_image_outer .event_people {
	width: 36rem;
	right: 10%;
	clip-path: polygon(0 0, 100% 0, 100% 98.5%, 0 92.8%);
}


@media (max-width: 800px) {
	
	body.cities #header_image_outer .event_people,
	#header_image_outer .event_people {
		top: calc(14rem + 25vw);
		transform: translate(0, -100%);
		width: auto;
		height: 42%;
		right: auto;
		left: 10%;
		clip-path: none;
	}
	
	body.cities #header_image_outer .event_people {
		height: 58%;
		left: 5%;
	}
	
}

	
/* -------------------------------------------------------
MAIN
------------------------------------------------------- */

main .flexcontainer_outer:first-of-type {
	padding-top: 4vw;
}

@media only screen and (max-width: 700px) {
	
	body.header_search:not(.occassion) main .flexcontainer_outer:first-of-type {padding-top: 11rem;}
	body.index.header_search main .flexcontainer_outer:first-of-type {padding-top: 16rem;}
	
}


/* -------------------------------------------------------
FOOTER
------------------------------------------------------- */

footer {
	margin-top: auto;
	position: relative;
	z-index: 999;
}


#footer {
	background: linear-gradient(-3.2deg, #2c3ba2 0%, var(--chblue) 80%), var(--chblue);
	color: #fff;
}

#footer_bottom {
	border-top: 1px solid rgba(255,255,255,0.2);
	color: rgba(255,255,255,0.6);
	background-color: #2c3ba2;
	color: #fff;
	font-size: 0.9rem;
}

#footer_bottom > div > div {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

footer::before {
    position: absolute;
    top: -3rem;
    width: 110%;
    height: 17rem;
    transform: skew(0, 3.2deg);
    content: "";
    z-index: -1;
    background: var(--chmediumblue);
    left: -10%;
}

footer::after {
    position: absolute;
    top: -3rem;
    width: 110%;
    height: 17rem;
    transform: skew(0, -3.2deg);
    content: "";
    z-index: -1;
    background: var(--chblue);
    left: -10%;
}

#footer > div {
	display: flex;
	flex-direction: row;
}

#footer > div > div:first-child {
	width: calc(40% - 3rem);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#footer #footer_logo {
	width: 100%;
	max-width: clamp(150px,50vw,230px);
	aspect-ratio: 1 / 0.2;
	background-image: url(/images/logo-cityhunters.svg);
	background-size: contain;
	background-repeat: no-repeat;
    background-position: left;
}

#footer .social_media_links {
	width: 100%;
	justify-content: flex-start;
	gap: 1rem;
}

#footer .social_media_links a svg {
	width: 1rem;
	fill: #fff;	
	padding: 1rem;
	background: rgba(255,255,255,0.1);
	border-radius: 1rem;
}

#footer > div > div:nth-child(2) {
	width: calc(60% - 3rem);
	display: flex;
	flex-direction: row;
	gap: 3rem;
	flex: 1;
	margin-left: 7vw;
}

#footer > div > div:nth-child(2) ul,
#footer > div > div:nth-child(2) ul li,
#footer > div > div:nth-child(2) ul li a {
	width: 100%;	
}

#footer > div > div:nth-child(2) ul li {
	height: 2.5rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

#footer_bottom a,
#footer > div > div:nth-child(2) ul li a {
	font-size: 0.9rem;
	transition: .5s;
}

#footer_bottom a:hover,
#footer > div > div:nth-child(2) ul li a:hover {
	color: rgba(255,255,255,0.6);
}


.footer_navi_column {justify-content: flex-start !important;}


@media screen and (max-width: 800px) {

	#footer > div {
		flex-direction: column;
	}
	
	#footer > div > div {
		width: 100% !important;
		align-items: center;
	}
	
	#footer > div > div:first-child {
		gap: 1.5rem;
		margin-bottom: 2.5rem;
	}
	
	#footer > div > div:nth-child(2) {
		margin-left: 0;
		justify-content: center;
	}
	
	#footer .social_media_links {justify-content: center;}
	
}

@media screen and (max-width: 600px) {
	
	#footer > div > div:nth-child(2) {
        flex-direction: column;
		gap: 0;
    }

	.footer_navi_column {
		padding: 30px 0 30px 0;
		cursor: pointer;
		transition: all .5s;
		width: 100%;
	}
	
	.footer_navi_column:not(:first-of-type) {
		border-top: 1px solid rgba(255,255,255,0.2);
	}
	
	.footer_navi_column.unfolded {max-height: 1500px;}
	
	.footer_navi_column .footer_navi_column_title {
		font-size: 1.1rem;
		line-height: 1.35;
		font-weight: 700;
		width: 100%;
		padding-right: 4rem;
		box-sizing: border-box;
		position: relative;
		display: flex;
		align-items: center;
		margin-bottom: 0 !important;
	}
	
	.footer_navi_column .footer_navi_column_title:after {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translate(0, -50%) rotate(0deg);
		color: inherit;
		text-align: center;
		font-size: 2rem;
		box-sizing: border-box;
		transition: all .5s;
		border-radius: 1rem;
		border: none;
		background-color: rgba(255, 255, 255, 0.1);
		font-weight: 300;
		width: 3rem;
		height: 3rem;
		line-height: 2.4rem;
	}
	
	.footer_navi_column .footer_navi_column_title .icon {
		max-width: 20px;
		max-height: 20px;
		margin-right: 10px;
	}
	
	.footer_navi_column .footer_navi_column_title:after {content: '+';}
	
	.footer_navi_column.unfolded .footer_navi_column_title:after {
		content: '-';
		transform: translate(0, -50%) rotate(180deg);
		color: var(--chblue);
		background-color: #fff;
	}
	
	.footer_navi_column .footer_navi_column_list {
		max-height: 0;
		transition: all .5s;
		cursor: auto;
		overflow: hidden;
	}
	
	.footer_navi_column.unfolded .footer_navi_column_list {
		max-height: 1300px;
		margin-top: 30px;
	}
	
	#footer_bottom > div > div > div:nth-child(2) {display: none;}

}


/* -------------------------------------------------------
COMMON
------------------------------------------------------- */

.invisible {display: none !important;}

.no_wrap {white-space: nowrap;}
.no_wrap.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
}

.wrap {white-space: normal;}

.overflow_auto {overflow: auto;}
.overflow_visible {overflow: visible;}
.overflow_hidden {overflow: hidden;}

.cursor_pointer {cursor: pointer;}

.no-select {
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.position_relative {position: relative;}

.align_center {margin: 0 auto;}
.align_left {margin-right: auto;}
.align_right {margin-left: auto;}

.text_align_center {text-align: center;}
.text_align_right {text-align: right;}
.text_align_left {text-align: left;}

.span_25 {width: 25%; box-sizing: border-box;}
.span_33 {width: 33%; box-sizing: border-box;}
.span_50 {width: 50%; box-sizing: border-box;}
.span_67 {width: 67%; box-sizing: border-box;}
.span_75 {width: 75%; box-sizing: border-box;}
.span_100 {width: 100%; box-sizing: border-box;}

.optimize_img {
	filter: brightness(1.05) saturate(1.1);
	-webkit-filter: brightness(1.05) saturate(1.1);
    -moz-filter: brightness(1.05) saturate(1.1);
    -o-filter: brightness(1.05) saturate(1.1);
    -ms-filter: brightness(1.05) saturate(1.1);
}

.border_radius_10 {border-radius: 0.525rem;}
.border_radius_16 {border-radius: 1rem;}
.border_radius_20 {border-radius: 1.25rem;}
.border_radius_24 {border-radius: 1.5rem;}
.border_radius_30 {border-radius: 2rem;}

.border_radius_50 {
	border-radius: 50px;
	border-radius: clamp(30px,3.5vw,50px);
}

.margin_0 {margin: 0 !important;}
.margin_bottom_5 {margin-bottom: 5px !important;}
.margin_bottom_10 {margin-bottom: 10px !important;}
.margin_bottom_20 {margin-bottom: 20px !important;}
.margin_bottom_30 {margin-bottom: 30px !important;}
.margin_bottom_40 {margin-bottom: 40px !important;}
.margin_bottom_50 {margin-bottom: 50px !important;}
.margin_bottom_60 {margin-bottom: clamp(36px,6vw,60px) !important;}
.margin_bottom_70 {margin-bottom: clamp(43px,8vw,70px) !important;}
.margin_bottom_80 {margin-bottom: clamp(50px,10vw,80px) !important;}

.margin_top_5 {margin-top: 5px !important;}
.margin_top_10 {margin-top: 10px !important;}
.margin_top_20 {margin-top: 20px !important;}
.margin_top_30 {margin-top: 30px !important;}
.margin_top_40 {margin-top: 40px !important;}
.margin_top_50 {margin-top: 50px !important;}
.margin_top_60 {margin-top: clamp(36px,6vw,60px) !important;}
.margin_top_70 {margin-top: clamp(43px,8vw,70px) !important;}
.margin_top_80 {margin-top: clamp(50px,10vw,80px) !important;}

.margin_right_5 {margin-right: 5px !important;}
.margin_right_10 {margin-right: 10px !important;}
.margin_right_20 {margin-right: 20px !important;}
.margin_right_30 {margin-right: 30px !important;}

.margin_left_5 {margin-left: 5px !important;}
.margin_left_10 {margin-left: 10px !important;}
.margin_left_20 {margin-left: 20px !important;}
.margin_left_30 {margin-left: 30px !important;}

.margin_5 {margin: 5px !important;}
.margin_10 {margin: 10px !important;}
.margin_20 {margin: 20px !important;}
.margin_30 {margin: 30px !important;}
.margin_40 {margin: 40px !important;}
.margin_50 {margin: 50px !important;}

.padding_bottom_5 {padding-bottom: 5px !important;}
.padding_bottom_10 {padding-bottom: 10px !important;}
.padding_bottom_20 {padding-bottom: 20px !important;}
.padding_bottom_30 {padding-bottom: 30px !important;}
.padding_bottom_40 {padding-bottom: 40px !important;}
.padding_bottom_50 {padding-bottom: 50px !important;}
.padding_bottom_60 {padding-bottom: clamp(36px,6vw,60px) !important;}
.padding_bottom_70 {padding-bottom: clamp(43px,8vw,70px) !important;}
.padding_bottom_80 {padding-bottom: clamp(50px,10vw,80px) !important;}

.padding_bottom_140 {padding-bottom: clamp(100px, 15vw, 140px) !important;}

.padding_top_5 {padding-top: 5px !important;}
.padding_top_10 {padding-top: 10px !important;}
.padding_top_20 {padding-top: 20px !important;}
.padding_top_30 {padding-top: 30px !important;}
.padding_top_40 {padding-top: 40px !important;}
.padding_top_50 {padding-top: 50px !important;}
.padding_top_60 {padding-top: clamp(36px,6vw,60px) !important;}
.padding_top_70 {padding-top: clamp(43px,8vw,70px) !important;}
.padding_top_80 {padding-top: clamp(50px,10vw,80px) !important;}

.padding_5 {padding: 5px !important;}
.padding_10 {padding: 10px !important;}
.padding_20 {padding: 20px !important;}
.padding_30 {padding: 30px !important;}
.padding_40 {padding: 40px !important;}
.padding_50 {padding: 50px !important;}


.flex_row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.flex_row.align_left {justify-content: flex-start;}
.flex_row.align_right {justify-content: flex-end;}

.flex_row_60_40 > div:nth-child(2),
.flex_row_40_60 > div:first-child {
	width: 40%;
}

.flex_row_60_40 > div:first-child,
.flex_row_40_60 > div:nth-child(2) {
	width: 60%;
}

@media (max-width: 1000px) {
	.break_1000 {flex-direction: column;}
	.break_1000 > div {width: 100% !important;}
}

@media (max-width: 900px) {
	.break_900 {flex-direction: column;}
	.break_900 > div {width: 100% !important;}
}

@media (max-width: 800px) {
	.break_800 {flex-direction: column;}
	.break_800 > div {width: 100% !important;}
}

@media (max-width: 700px) {
	.break_700 {flex-direction: column;}
	.break_700 > div {width: 100% !important;}
}

@media (max-width: 600px) {
	.break_600 {flex-direction: column;}
	.break_600 > div {width: 100% !important;}
}

@media (max-width: 500px) {
	.break_500 {flex-direction: column;}
	.break_500 > div {width: 100% !important;}
}

	
.flex_column {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	
}

.common_grid {
	display: grid;
	width: 100%;
}

.common_grid.col_1 {grid-template-columns: repeat(1, minmax(0, 1fr));}
.common_grid.col_2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
.common_grid.col_3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
.common_grid.col_4 {grid-template-columns: repeat(4, minmax(0, 1fr));}
.common_grid.col_5 {grid-template-columns: repeat(5, minmax(0, 1fr));}
.common_grid.col_6 {grid-template-columns: repeat(6, minmax(0, 1fr));}
.common_grid.col_7 {grid-template-columns: repeat(7, minmax(0, 1fr));}

.masonry_grid.col_2 {column-count: 2;}
.masonry_grid.col_3 {column-count: 3;}
.masonry_grid.col_4 {column-count: 4;}
.masonry_grid.col_5 {column-count: 5;}

.flex_row.gap_0,.flex_column.gap_0,.common_grid.gap_0 {gap: 0px;}

.flex_row.gap_5,.flex_column.gap_5,.common_grid.gap_5 {gap: 5px;}

.flex_row.gap_10,.flex_column.gap_10,.common_grid.gap_10 {gap: 10px;}
.masonry_grid.gap_10 {column-gap: 10px;}

.flex_row.gap_20,.flex_column.gap_20,.common_grid.gap_20 {gap: 20px;}
.masonry_grid.gap_20 {column-gap: 20px;}

.flex_row.gap_30,.flex_column.gap_30,.common_grid.gap_30 {gap: clamp(20px,5vw,30px);}
.masonry_grid.gap_30 {column-gap: clamp(20px,5vw,30px);}

.flex_row.gap_40,.flex_column.gap_40,.common_grid.gap_40 {gap: clamp(20px,6vw,40px);}
.masonry_grid.gap_40 {column-gap: clamp(20px,6vw,40px);}

.flex_row.gap_50,.flex_column.gap_50,.common_grid.gap_50 {gap: clamp(30px,7vw,50px);}

.flex_row.gap_60,.flex_column.gap_60,.common_grid.gap_60 {gap: clamp(40px,8vw,60px);}

.flex_row.gap_70,.flex_column.gap_70,.common_grid.gap_70 {gap: clamp(50px,9vw,70px);}

.flex_row.gap_80,.flex_column.gap_80,.common_grid.gap_80 {gap: clamp(60px,10vw,80px);}

@media (max-width: 900px) {
	
	.common_grid.col_7:not(.no_break) {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
	.common_grid.col_6:not(.no_break) {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
	.common_grid.col_4.break_pairs:not(.no_break),
	.common_grid.col_5:not(.no_break) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.common_grid.col_4:not(.no_break) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.common_grid.col_3_1:not(.no_break), .common_grid.col_1_3:not(.no_break) {grid-template-columns: 1fr;}

	.masonry_grid.col_4 {column-count: 3;}
	.masonry_grid.col_5 {column-count: 4;}
}

@media (max-width: 700px) {
	
	.common_grid.col_3:not(.no_break) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	.common_grid.col_4.break_pairs:not(.no_break),
	.common_grid.col_4:not(.no_break) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.common_grid.col_5:not(.no_break) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.common_grid.col_6:not(.no_break) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.common_grid.col_7:not(.no_break) {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.masonry_grid.col_3 {column-count: 2;}
	.masonry_grid.col_4 {column-count: 2;}
	.masonry_grid.col_5 {column-count: 3;}
	
}

@media (max-width: 500px) {

  .common_grid.col_2:not(.no_break) {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  
  .common_grid.col_2 .order_2 {order: 2;}

	.common_grid.col_4:not(.no_break) {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.common_grid.col_6:not(.no_break) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.common_grid.col_7:not(.no_break) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	
	.masonry_grid.col_2 {column-count: 1;}
	.masonry_grid.col_3 {column-count: 1;}
	.masonry_grid.col_4 {column-count: 2;}
	
}

@media (max-width: 400px) {
	
  .common_grid.col_5:not(.no_break) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  	.common_grid.col_6:not(.no_break) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.common_grid.col_7:not(.no_break) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	
	.masonry_grid.col_4 {column-count: 1;}
	.masonry_grid.col_5 {column-count: 2;}
	
}

@media (max-width: 333px) {
  .common_grid.col_3:not(.no_break) {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* -------------------------------------------------------
ELEMENTS
------------------------------------------------------- */

/* ----- POPUPS ----- */

#mini_popups_frame {
	position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 999;
    max-width: 20rem;
    width: 18vw;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#mini_popups_frame > div .mini_popup_close {
	border-radius: 0.7rem;
    background-color: rgba(255,255,255,.6);
    fill: var(--chblue);
    width: 0.7rem;
    padding: 0.9rem;
    cursor: pointer;
	position: absolute;
    right: 1rem;
    top: 1rem;	
}

.mini_popup_container {display: none;}

#mini_popups_frame .mini_popup_container > div {
	width: 100%;
    position: relative;
    padding: 1.25rem;
    box-sizing: border-box;
    border-radius: 20px;
	display: flex;
    flex-direction: column;
    gap: 1rem;
	font-size: 0.9rem;
	box-shadow: 4px 3px 8px 0 rgba(0, 0, 0, .07);
	line-height: 1.3;
}

#live_popup > div {background: var(--chmediumblue);}

#date_popup > div {background: var(--chxlightyellow);}

#event_city_popup > div {background: var(--chxlightgreen);}

#mini_popups_frame .mini_popup_container > div .popup_headline {
	display: flex;
    align-items: center;
    gap: .6rem;
    font-weight: 700;
    font-size: 1.15rem;
}

#mini_popups_frame .mini_popup_container > div .popup_headline svg {
	width: .8rem;
    padding: .6rem;
    background: #fff;
    border-radius: 3rem;
}

#live_popup > div .popup_headline svg {fill: var(--chblue);}

#date_popup > div .popup_headline svg {fill: var(--chyellow);}

#event_city_popup > div .popup_headline svg {fill: var(--chblue);}

@media (max-width: 1700px) {
	#mini_popups_frame {display: none;}
}


/* ----- OVERLAYS ----- */

#loading_overlay {
	background: rgba(18, 24, 56, 0.35);
	position: fixed;
	top: -50px;
	bottom: -50px;
	right: -50px;
	left: -50px;	
	z-index: 999999;
	display: none;
}

#loading_overlay #loading_dots {
  height: 15px;
  aspect-ratio: 4;
  --_g: no-repeat radial-gradient(farthest-side,#fff 90%,#0000);
  background: 
    var(--_g) left, 
    var(--_g) right;
  background-size: 25% 100%;
  display: grid;
  top: 50%;
    left: 50%;
	position: absolute;
	transform: translate(-50%, 0);
}

#loading_overlay #loading_dots:before,
#loading_overlay #loading_dots:after {
  content: "";
  height: inherit;
  aspect-ratio: 1;
  grid-area: 1/1;
  margin: auto;
  border-radius: 50%;
  transform-origin: -100% 50%;
  background: #fff;
  animation: l49 1s infinite linear;
}

#loading_overlay #loading_dots:after {
  transform-origin: 200% 50%;
  --s:-1;
  animation-delay: -.5s;
}

@keyframes l49 {
  58%,
  100% {transform: rotate(calc(var(--s,1)*1turn))}
}


/* ----- CAROUSELS ----- */

.logo_carousel,
.logo_carousel .slick-list, 
.logo_carousel .slick-list .slick-track,
.logo_carousel .slick-list .slick-track .slick-slide {
	height: 2rem;	
}

.logo_carousel .logo {
	margin-right: 4rem;	
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.logo_carousel img {
	opacity: 0.2;
	max-height: 2rem;
	max-width: 6.5rem;
}

/* ----- EVENT TYPE COLUMNS ----- */

@media (min-width: 1000px) {

	.event_types_frame_outer {
		position: relative;	
		overflow: hidden;
		background-image: url(/images/vector-line-eventtypes.svg);
		background-repeat: no-repeat;
		background-size: 32%;
		background-position: top -1rem left -5%;	
	}

}

.event_types_frame {align-items: stretch;}

.event_types_frame_inner {
	z-index: 1;
    position: relative;
}

.event_type_column {
	background: #fff;
	border-radius: 24px;
	padding: 2rem;
	color: inherit;
	width: 100%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

.event_type_column.inactive {
	color: var(--chblue03);
    background: #efefef;
}

.event_type_column .event_type_icon {
	width: 100%;	
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.event_type_column.inactive .event_type_icon {fill: rgba(1, 15, 112, 0.4);}

.event_type_column .event_type_icon svg {
	fill: var(--chblue);
	height: 2rem;
}

.event_type_column .event_type_info {margin-top: auto;}

.event_type_column .button {
	max-width: none;
	background: var(--chblue01);
}

.event_type_column:not(.inactive) .button:hover {
	background: var(--chblue);
	color: #fff;
}

.event_type_column.inactive .show_event_details,
.event_type_column.inactive .button {cursor: not-allowed !important;}

.event_type_column:not(.inactive) .show_event_details {cursor: pointer;}

.event_type_column .show_event_details svg {
	fill: var(--chblue);
	width: 1rem;
    margin-left: 1rem;
	transition: .5s;
}

.event_type_column .show_event_details.active svg {transform: rotate(180deg);}

.event_type_column.inactive svg {fill: var(--chblue03);}

.event_type_column .event_type_column_details {overflow: hidden;}

.event_type_column .event_type_column_details .event_type_column_details_inner {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1.5s ease;
}

.event_type_column .event_type_column_details.open .event_type_column_details_inner {
	max-height: 800px; 
}

.event_type_column .event_type_column_details ul {
	margin-top: 2rem;
	width: 100%;
	list-style-type: none;
}

.event_type_column .event_type_column_details ul li {
	position: relative;
	height: 2.4rem;
    line-height: 1.2rem;
	font-size: 0.9rem;
    padding-left: 2.3rem;
    display: flex;
    align-items: center;
}

.event_type_column .event_type_column_details ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.4rem;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
}


.event_type_column .event_type_column_details ul li.yes {

}

.event_type_column .event_type_column_details ul li.yes::before {background-image: url('/images/event-properties-check-bubble.svg');}

.event_type_column .event_type_column_details ul li.no {

}

.event_type_column .event_type_column_details ul li.no::before {background-image: url('/images/event-properties-times-bubble.svg');}


.event_types_mobile_buttons .button {max-width: none;}
.event_types_mobile_buttons .button:not(.yellow) {color: var(--chdarkgrey);}


@media (max-width: 700px) {
	
	.event_type_column:not(.active) {display: none;}
	
	.event_type_column.active {
		border: 1px solid var(--chyellow);
	}
	
	.event_type_column .button.show_events_list {display: none;}
	
	.event_types_mobile_buttons .button:nth-of-type(1),
	.event_types_mobile_buttons .button:nth-of-type(2) {
		margin-bottom: 10px;
	}
	
}

@media (min-width: 701px) {
	
	.event_types_mobile_buttons {display: none;}
		
	.event_type_column.active {
		background: var(--chblue);
		color: #fff;
	}
	
	.event_type_column.active .event_type_icon svg {fill: #fff;}
	
	.event_type_column.active .button {
		color: #fff;
		background: rgba(255,255,255,0.1);
	}
	
	.event_type_column.active .show_event_details svg {fill: #fff;}

}


/* ----- EVENT & BLOG THEMES LIST ----- */

.event_themes_frame {
	display: flex;
	flex-direction: row;
	gap: 4rem;
}

.event_theme_text {display: none;}
.event_theme_text.open {display: block;}

.blog_themes_buttons .button,
.event_themes_buttons .button {
	width: 100%;
	max-width: none;
}

.blog_themes_buttons .button:not(.yellow),
.event_themes_buttons .button:not(.yellow) {
    color: var(--chdarkgrey);
}

.event_themes_list {display: none;}
.event_themes_list.open {display: grid;}

.event_themes_list_entry {
	background: var(--chxwhite);
	border-radius: 20px;
	display: flex;
	flex-direction: row;
}

.event_themes_list_entry > div:first-child {
	display: flex;
    flex-direction: column;
    width: 50%;
    padding: 2rem;
}

.event_themes_list_entry > div:first-child .button {width: 100%;}

.event_themes_list_entry > div:first-child > div:first-child {
	display: flex;
    flex-direction: row;
	gap: 0.4rem;
	align-items: center;
	justify-content: flex-start;
	line-height: 1.3rem;
}

.event_themes_list_entry > div:first-child > div:first-child svg {
	width: 1rem;
    fill: var(--chblue);
}

.event_themes_list_entry > div:nth-child(2) {
	width: 50%;
    border-radius: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    height: 100%;
	position: relative;
}

.event_themes_list_entry > div:nth-child(2) .price_tag {
	position: absolute;
    bottom: 1.5rem;
    right: 1.5rem;
    background: var(--chyellow);
    padding: 1.2rem;
    border-radius: 0.75rem;
    font-weight: 700;
    line-height: 1em;
    font-size: 1rem;
    z-index: 2;
	
}

.event_themes_list_entry .event_themes_list_properties {
	display: flex;
    flex-direction: column;
}

.event_themes_list_entry .event_themes_list_properties img {
	width: 1rem;
}

.event_themes_list_entry .event_themes_list_properties > div {
	display: flex;
    flex-direction: row;
	justify-content: space-between;
	padding: 0.8rem 0;
    align-items: center;
}

.event_themes_list_entry .event_themes_list_properties > div:not(:last-child) {
    border-bottom: 1px solid var(--chblue02);
}

.event_themes_list_entry .event_themes_list_properties > div div {
	line-height: 1.3;
    align-items: center;
	display: flex;
    gap: 0.4rem;
    flex-direction: row;
}

.event_themes_list_entry .event_themes_list_properties > div svg {
	width: 1rem;
    fill: var(--chblue);	
}


@media (max-width: 700px) {
	
	.event_themes_frame {
		flex-direction: column;
		gap: 2rem;
	}
	
	.event_themes_frame .span_33,
	.event_themes_frame .span_67 {
		width: 100%;	
	}
	
	.event_themes_buttons {margin-bottom: 0;}
	
	.event_themes_buttons .button:nth-of-type(1),
	.event_themes_buttons .button:nth-of-type(2) {
		margin-bottom: 10px;
	}
	
	.event_theme_text,
	.event_theme_text.open {display: none;}
	
	.event_themes_list_entry {flex-direction: column;}
	
	.event_themes_list_entry > div:first-child {
		width: calc(100% - 4rem);
		order: 1;
	}
	
	.event_themes_list_entry > div:nth-child(2) {
		width: 100%;
		aspect-ratio: 1 / 0.75;	
	}
	
	.event_themes_list_entry > div:nth-child(2) .price_tag {
		bottom: 1rem;
		right: 1rem;
	}
	
}

@media (min-width: 701px) {
	
	.event_themes_frame_outer {
        position: relative;
        overflow: hidden;
        background-image: url(/images/vector-line-eventthemes.svg);
        background-repeat: no-repeat;
        background-size: 46rem;
        background-position: bottom 20rem left -4rem;
    }
	
	.blog_themes_buttons,
	.event_themes_buttons {
		display: flex;
		flex-direction: row;
		background: var(--chxwhite);
		border-radius: 1rem;
	}


}




/* ---------------------- */
/* ----- TILE LISTS ----- */
/* ---------------------- */

.tiles_list {
	overflow: hidden;
    box-sizing: border-box;
    position: relative;
	max-width: 100%;
	max-height: 500px;
	display: flex;
}

.tiles_list .slick-arrow::before {
	border-radius: 1rem;
    border: none;
    background-color: var(--chblue01);
    color: var(--chblue);
    font-weight: 300;
    width: 3rem;
    height: 3rem;
    line-height: 2.4rem;
}


/* ----- EVENT TILES LIST & BLOG PROMO LIST ----- */

.event_tiles_frame {
	height: 0;
	opacity: 0;
	padding: 0 4rem;
	width: calc(100% - 8rem); 
	overflow: hidden;
}

.event_tiles_frame.open {
	height: auto;
	opacity: 1;
	overflow: visible;
}

.tiles_list {overflow: visible;}

.employee_list .employee_tile,
.occassions_promo_list .occassion_tile,
.blog_list .blog_tile,
.event_review_tiles_list .blog_tile, 
.event_tiles_list .event_tile {
    margin: 0 1rem;
	position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    font-size: 1rem;
	display: flex;
    flex-direction: column;
	width: 18rem !important;
}

body.blog .blog_list .blog_tile {background: var(--chxwhite);}

.event_review_tiles_list {padding-bottom: 0 !important;}

.event_tiles_list .event_tile {
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, .05);
}

.occassions_promo_list .occassion_tile {background: var(--chxwhite);}

.employee_list:not(.tiles_list) .employee_tile,
.occassions_promo_list:not(.tiles_list) .occassion_tile,
.blog_list:not(.tiles_list) .blog_tile {
    margin: 0;
	width: 100% !important;
}


@media (max-width: 68rem) {
	.event_tiles_frame {
		padding: 0;
		width: 100%; 
	}
	
	.tiles_list {
		width: calc(100% + 2rem);
		max-width: calc(100% + 2rem);
		left: -1rem;
	}
	
	.blog_promo_list .slick-track,
	.city_tiles_list .slick-track,
	.event_tiles_list .slick-track {left: 1rem !important;} /* MOVE 1 REM TO CENTER OF PAGE TO CREATE PADDING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
	
	.employee_list.tiles_list .employee_tile,
	.occassions_promo_list.tiles_list .occassion_tile,
	.blog_list.tiles_list .blog_tile,
	.event_tiles_list .event_tile {
		width: 16.5rem !important;
		margin: 0 1rem !important;
	}
}

.employee_list .employee_tile .employee_tile_image,
.occassions_promo_list .occassion_tile .occassion_tile_image,
.blog_list .blog_tile .blog_tile_image,
.event_review_tiles_list .blog_tile .blog_tile_image,
.event_tiles_list .event_tile .event_tile_image {
	background: linear-gradient(90deg, #ebebeb 35%, #fff 50%, #ebebeb 65%);
    background-size: 240%;
	border-radius: 20px;
    padding-top: 75%;
    position: relative;
    overflow: hidden;
    width: 100%;
	animation: 1s linear infinite tileLoadingGradient;
}

.blog_list .blog_tile .blog_tile_image {filter: brightness(1.05) saturate(1.25);}

.employee_list .employee_tile .employee_tile_image {
	background: linear-gradient(90deg, #ebebeb 35%, #fff 50%, #ebebeb 65%);
    background-size: 240%;
	border-radius: 20px;
    padding-top: 125%;
    position: relative;
    overflow: hidden;
    width: 100%;
	animation: 1s linear infinite tileLoadingGradient;
}

/*
.occassions_promo_list .occassion_tile::before {
    border-radius: 1rem;
    border: none;
    background-color: var(--chblue01);
    color: var(--chblue);
    font-weight: 300;
    width: 3rem;
    height: calc(3rem - 6px);
    position: absolute;
    z-index: 2;
    content: "›";
    bottom: 1rem;
    right: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    line-height: 1;
    padding-bottom: 6px;
}
*/

.employee_list .employee_tile .employee_tile_image .bg_overlay,
.occassions_promo_list .occassion_tile .occassion_tile_image .bg_overlay,
.blog_list .blog_tile .blog_tile_image .bg_overlay,
.event_review_tiles_list .blog_tile .blog_tile_image .bg_overlay,
.event_tiles_list .event_tile .event_tile_image .bg_overlay {
	background-position: center center;
    background-size: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    width: 100%;
    height: 100%;
    transition: .5s;
    background-repeat: no-repeat;	
}

.blog_list .blog_tile .title_tag,
.event_review_tiles_list .blog_tile .title_tag,
.city_tiles_list .city_tile .rating_tag,
.event_tiles_list .event_tile .event_tile_image .rating_tag {
	position: absolute;
    top: 1rem;
    right: 1rem;
    background: #fff;
    z-index: 2;
	padding: clamp(0.4rem, 2vw, 0.6rem);
    border-radius: 0.75rem;
    font-weight: 600;
    font-size: clamp(0.8rem,2vw,0.9rem);
	display: flex;
	flex-direction: row;
	gap: 0.3rem;
	align-items: center;
	justify-content: center;
}

.event_review_tiles_list .blog_tile .title_tag,
.blog_list .blog_tile .title_tag {
	background: var(--chgreen);
    color: #fff;
    font-size: clamp(0.65rem, 1vw, 0.75rem);
}

.city_tiles_list .city_tile .rating_tag svg,
.event_tiles_list .event_tile .event_tile_image .rating_tag svg {
	width: clamp(0.8rem,2vw,0.9rem);
	fill: var(--chyellow);
}

.event_tiles_list .event_tile .event_tile_image .price_tag {
	position: absolute;
    bottom: 1rem;
    left: 1rem;
    background: var(--chyellow);
    padding: clamp(0.5rem, 2vw, 0.7rem);
    border-radius: 0.75rem;
    font-weight: 700;
    line-height: 1em;
    font-size: clamp(.8rem, 2vw, 1rem);
    z-index: 2;
}

.employee_list .employee_tile .employee_tile_content,
.occassions_promo_list .occassion_tile .occassion_tile_content,
.event_review_tiles_list .blog_tile .blog_tile_content,
.blog_list .blog_tile .blog_tile_content,
.event_tiles_list .event_tile .event_tile_content {
	width: 100%;
    text-align: left;
    padding: 1.5rem;
    box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.employee_list .employee_tile .employee_tile_content {gap: 0.5rem;}

.employee_list .employee_tile .employee_tile_content .employee_tile_name,
.occassions_promo_list .occassion_tile .occassion_tile_content .occassion_tile_name,
.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_name,
.blog_list .blog_tile .blog_tile_content .blog_tile_name,
.event_tiles_list .event_tile .event_tile_content .event_tile_name {
    width: 100%;
    font-weight: 600;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_name,
.blog_list .blog_tile .blog_tile_content .blog_tile_name,
.event_tiles_list .event_tile .event_tile_content .event_tile_name {
    padding-bottom: 1.3rem;
}

.occassions_promo_list .occassion_tile .occassion_tile_content .occassion_tile_name .heading,
.blog_list .blog_tile .blog_tile_content .blog_tile_name .heading,
.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_name .heading,
.event_tiles_list .event_tile .event_tile_content .event_tile_name .city,
.event_tiles_list .event_tile .event_tile_content .event_tile_name .event {
	width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	display: block;		
}

.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_name .text,
.blog_list .blog_tile .blog_tile_content .blog_tile_name .text {
	width: 100%;
	line-height: 1.35;
}

.occassions_promo_list .occassion_tile .occassion_tile_content .occassion_tile_name .heading,
.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_name .heading,
.blog_list .blog_tile .blog_tile_content .blog_tile_name .heading,
.event_tiles_list .event_tile .event_tile_content .event_tile_name .event {
	font-weight: 800;
	font-size: 1.2rem;
	line-height: 1.2;
}

.employee_list .employee_tile .employee_tile_content .employee_tile_name,
.employee_list .employee_tile .employee_tile_content .employee_tile_position {
	line-height: 1.2;
	display: block;
}

.employee_list .employee_tile .employee_tile_content .employee_tile_name {
	font-weight: 700;
	font-size: clamp(0.82rem,1.8vw,1.1rem);
}

.employee_list .employee_tile .employee_tile_content .employee_tile_position {font-size: clamp(0.7rem,1.5vw,0.85rem);}

.event_tiles_list .event_tile .event_tile_content .event_tile_name .event svg {
	width: 1rem;
	margin-left: 0.3rem;
	fill: var(--chblue);
}

.employee_list .employee_tile .employee_tile_content .employee_tile_name .position,
.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_name .text,
.blog_list .blog_tile .blog_tile_content .blog_tile_name .text {font-size: 0.8rem;}

.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_properties,
.blog_list .blog_tile .blog_tile_content .blog_tile_properties,
.event_tiles_list .event_tile .event_tile_content .event_tile_properties {
    width: 100%;
    line-height: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
	margin-top: auto;
}

body.blog .blog_list .blog_tile .blog_tile_content .blog_tile_properties {
	background: #fff;
	border-radius: 3rem;
	padding: clamp(0.35rem, 1.5vw, 0.45rem) clamp(0.45rem, 1.5vw, 0.55rem);
	box-sizing: border-box;
}

.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_properties > span,
.blog_list .blog_tile .blog_tile_content .blog_tile_properties > span,
.event_tiles_list .event_tile .event_tile_content .event_tile_properties > span {
	font-size: 0.75rem;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
}

body:not(.blog) .blog_list .blog_tile .blog_tile_content .blog_tile_properties > span {
	background: #EDF6FD;
	border-radius: 3rem;
	padding: clamp(0.35rem, 1.5vw, 0.45rem) clamp(0.45rem, 1.5vw, 0.55rem);
}

.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_properties span svg,
.blog_list .blog_tile .blog_tile_content .blog_tile_properties span svg,
.event_tiles_list .event_tile .event_tile_content .event_tile_properties span svg {
	width: 0.75rem;
	fill: var(--chblue);
}

.event_review_tiles_list .blog_tile .blog_tile_content .blog_tile_properties > span > span,
.blog_list .blog_tile .blog_tile_content .blog_tile_properties > span > span,
.event_tiles_list .event_tile .event_tile_content .event_tile_properties > span > span {
	display: block;
	max-width: 5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


@media (min-width: 700px) {
	body.blog .blog_list .blog_tile .blog_tile_content .blog_tile_properties > span > span {max-width: 3rem;}
}


@keyframes tileLoadingGradient {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0 0;
  }
}


/* ----- CITY TILES LIST ----- */

.city_tiles_list .city_tile {
    position: relative;
    border-radius: 20px;
    aspect-ratio: 1.12 / 1;
    overflow: hidden;
    font-size: 1rem;
}

.city_tiles_list.slick-slider .city_tile {
	width: 15rem !important;
	margin: 0 1rem;
}

.city_tiles_list.slick-slider .slick-slide:first-child .city_tile {margin-left: 0;}
.city_tiles_list.slick-slider .slick-slide:last-child .city_tile {margin-right: 0;}

.city_tiles_list .city_tile .city_tile_content {
    background: linear-gradient(90deg, #ebebeb 35%, #fff 50%, #ebebeb 65%);
    background-size: 240%;
    animation: 1s linear infinite tileLoadingGradient;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    width: 100%;
    height: 100%;
}

.city_tiles_list .city_tile .bg_overlay {
    background-position: center center;
    background-size: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    width: 100%;
    height: 100%;
    transition: .5s;
    filter: brightness(1.05) saturate(1.25);
    background-repeat: no-repeat;
}

ul.main-navi li .submenu.occassions .city_tiles_list .city_tile .bg_overlay {filter: none;}

.city_tiles_list .city_tile:hover .bg_overlay {
	width: 110%;
	height: 110%;
}

.city_tiles_list .city_tile .city_tile_overlay {
    background: linear-gradient(to top, rgba(39,53,155,0.8) 0%, rgba(1, 15, 112, 0) 60%);
    padding: 25px;
    box-sizing: border-box;
    width: 110%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    height: 110%;
    flex-direction: column;
    position: absolute;
    top: -5%;
    right: -5%;
    bottom: -5%;
    left: -5%;
    z-index: 2;
}

ul.main-navi li .submenu .city_tiles_list .city_tile .city_tile_overlay {padding: 0.8rem;}

.city_tiles_list .city_tile .city_tile_overlay .city_name {
    font-size: 1.1rem;
    font-size: clamp(1.1rem, 2.2vw, 1.4rem);
    font-weight: 700;
    width: 100%;
    color: #fff;
    text-align: left;
    line-height: 1.2em;
    margin-bottom: 5px;
    margin-bottom: clamp(0px, .3vw, 5px);
	text-align: center;
}

ul.main-navi li .submenu .city_tiles_list .city_tile .city_tile_overlay .city_name {
	font-size: 1.1rem;
}

.city_tiles_list .city_tile .city_tile_overlay .city_desc {
    font-size: clamp(.7rem, 2vw, .95rem);
    font-weight: 400;
    width: 100%;
    color: #fff;
    text-align: left;
    line-height: 1.3em;
	text-align: center;
}

.city_list_button {
	width: 100%;
	border-radius: 5rem;
	padding: clamp(0.35rem, 1.5vw, 0.5rem);
    text-align: center;
	box-sizing: border-box;
}


/* ----- REVIEW TILES LIST ----- */

@media (min-width: 1000px) {
	.reviews_frame {
		overflow: hidden;
		background-image: url(/images/vector-line-reviews.svg);
		background-repeat: no-repeat;
		background-size: 40%;
		background-position: top left 60%;	
	}
}

.review_tiles_list {
	overflow: visible;
	width: calc(100% + 2rem);
	max-width: calc(100% + 2rem);
	left: -1rem;
	padding-bottom: 2.5rem;
	margin-bottom: clamp(0rem, 4rem - 4vw, 1rem);
}

.event_review_tiles_list .slick-next,
.event_review_tiles_list .slick-prev,
.review_tiles_list .slick-next,
.review_tiles_list .slick-prev {cursor: pointer;}

.event_review_tiles_list .slick-next, 
.review_tiles_list .slick-next {
	right: 1rem;
	left: auto;
	bottom: auto;
    transform: translate(0, -100%);
    top: clamp(-42px,-4.8vw,-28px) !important;	
}

.event_review_tiles_list .slick-prev,
.review_tiles_list .slick-prev {
	right: 4.5rem;
	left: auto;
	bottom: auto;
    transform: translate(0, -100%);
    top: clamp(-42px,-4.8vw,-28px) !important;	
}

.event_review_tiles_list .slick-next::before,
.event_review_tiles_list .slick-prev::before,
.review_tiles_list .slick-next::before,
.review_tiles_list .slick-prev::before {
	border-radius: 1rem;
	border: none;
	background-color: var(--chblue01);
	color: var(--chblue);
	font-weight: 300;
	width: 3rem;
	height: 3rem;
	line-height: 2.4rem;
}

.review_tiles_list .slick-track {
	height: clamp(200px, calc(400px - 20vw), 250px);
}

.review_tiles_list.employee_reviews .slick-track {
	height:  auto;
}

.review_tiles_list .review_tile {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: row;
	border-radius: 20px;
	overflow: hidden;
	height: 100%;
	width: 100%;
	margin: 0 1rem;
}

.review_tiles_list .review_tile .review_tile_image {
	margin: 0;
	padding: 0;
	height: 100%;
	width: 40%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 0px 20px 20px 0px;
	filter: brightness(1.06) saturate(1.05);
}

.review_tiles_list .review_tile .review_tile_inner {
	padding: 20px;
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	position: relative;
	border-radius: 20px 0px 0px 20px;
	font-size: 1rem;
	height: 100%;
	width: 60%;
}


.review_tiles_list .review_tile .review_tile_text {
	overflow: hidden;
    text-overflow: ellipsis;
	margin-bottom: 20px;
	line-height: 1.35;
	flex: 1;
	font-size: 0.95rem;
	font-weight: 500;
}

.review_tiles_list.employee_reviews .review_tile .review_tile_text {
	margin-bottom: 2rem;
	font-weight: 400;
	font-size: 0.9rem;
}

.review_tiles_list .review_tile .review_tile_info {
	display: flex;
	flex-direction: row;
	gap: 20px;
	margin-top: auto;
	width: 100%;
	overflow: hidden;
	margin-top: auto;
}

.review_tiles_list .review_tile .review_tile_info .review_tile_author {
	max-width: calc(100% - 80px);
	width: calc(100% - 80px);
	display: flex;
	flex-direction: row;
	gap: 10px;
}

.review_tiles_list.employee_reviews .review_tile .review_tile_info .review_tile_author {
	max-width: 100%;
	width: 100%;
}

.review_tiles_list .review_tile .review_tile_info .review_tile_author .profile_img img {
	width: 36px;
	height: 36px;
}

.review_tiles_list .review_tile .review_tile_info .review_tile_author .author {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	min-width: 0;
}

.review_tiles_list .review_tile .review_tile_info .review_tile_author .author div:first-child {
	font-weight: 700;
	font-size: 1.15rem;
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
	font-size: 0.95rem;
}

.review_tiles_list.employee_reviews .review_tile .review_tile_info .review_tile_author .author div:first-child {
	font-weight: 400;
	display: flex;
	gap: 5px;
}

.review_tiles_list .review_tile .review_tile_info .review_tile_author .author div:first-child svg.user {
	fill: var(--chxwhite);
    width: 0.6rem;
    height: 0.6rem;
    background: var(--chblue);
    padding: 0.2rem;
    border-radius: 50%;
}

.review_tiles_list .review_tile .review_tile_info .review_tile_author .author div:nth-child(2) svg {
	fill: var(--chyellow);
	width: 0.8rem;
}

.review_tiles_list .review_tile .review_tile_info .review_tile_source {
	width: 60px;
	max-width: 60px;
	flex: 0 1 60px;
	display: flex;
	flex-direction: column;
}

.review_tiles_list .review_tile .review_tile_info .review_tile_source div:first-child {
	font-size: 0.85rem;
	text-align: right;
	color: rgba(18,24,56,0.6);
}

.review_tiles_list .review_tile .review_tile_info .review_tile_source div:nth-child(2) img {
	width: 100%;
	filter: saturate(0);
	width: 4rem;
}

@media screen and (min-width: 801px) {
	.review_tiles_list .slick-dots {height: 0; width: 0; visibility: hidden; opacity: 0;}
}

@media screen and (max-width: 800px) {
	.review_tiles_list .slick-next,
	.review_tiles_list .slick-prev {height: 0; width: 0; visibility: hidden; opacity: 0;}
}

@media screen and (max-width: 500px) {
	
	.review_tiles_list.employee_reviews {max-height: 700px;}

	.review_tiles_list.employee_reviews .review_tile {flex-direction: column;}
	
	.review_tiles_list.employee_reviews .review_tile .review_tile_inner {
		height: auto;
		width: 100%;
		order: 2;
	}
	
	.review_tiles_list.employee_reviews .review_tile .review_tile_image {
		background-position: center top;
		height: 15rem;
		width: 100%;
		border-radius: 0;
	}
	
	
}


/* ----- REASONS TILES LIST ----- */


.reasons_tiles_list {
	overflow: visible;
	width: calc(100% + 2rem);
	max-width: calc(100% + 2rem);
	left: -1rem;
	padding-bottom: 2.5rem;
	margin-bottom: clamp(0rem, 4rem - 4vw, 1rem);
}

.reason_tiles_list .slick-next,
.reason_tiles_list .slick-prev {cursor: pointer;}

.reason_tiles_list .slick-next {
	right: 1rem;
	left: auto;
	bottom: auto;
    transform: translate(0, -100%);
    top: clamp(-42px,-4.8vw,-28px) !important;	
}

.reason_tiles_list .slick-prev {
	right: 4.5rem;
	left: auto;
	bottom: auto;
    transform: translate(0, -100%);
    top: clamp(-42px,-4.8vw,-28px) !important;	
}

.reason_tiles_list .slick-next::before,
.reason_tiles_list .slick-prev::before {
	border-radius: 1rem;
	border: none;
	background-color: var(--chblue01);
	color: var(--chblue);
	font-weight: 300;
	width: 3rem;
	height: 3rem;
	line-height: 2.4rem;
}

.reason_tiles_list .reason_tile {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	border-radius: 20px;
	overflow: hidden;
	background: var(--chlightblue);
	width: 100%;
	margin: 0 1rem;
	padding: 1.5rem 1.5rem 4rem 1.5rem;
	position: relative;
	transition: background-color .8s, color .8s;
	flex: 1 !important;
	float: none !important;
}

.reason_tiles_list .reason_tile:hover {
	background: var(--chblue);
	color: #fff;	
}

.reason_tiles_list .reason_tile .reason_expand_button {
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem;
	transform: rotate(0deg);
	color: inherit;
	width: 2rem;
	height: 2rem;
	z-index: 1;
}

.reason_tiles_list .reason_tile .reason_expand_button:after {
	position: absolute;
	right: 0;
	bottom: 0;
	top: 0;
	left: 0;
	color: inherit;
	text-align: center;
	font-size: 1.8rem;
	box-sizing: border-box;
	transition: all .3s;
	border-radius: 50%;
	background-color: var(--chblue02);
	font-weight: 300;
	line-height: 0.8;
	content: '+';
	cursor: pointer;
}

.reason_tiles_list .reason_tile:hover .reason_expand_button:after {
	background-color: rgba(255, 255, 255, 0.2);	
	color: #fff;
}

.reason_tiles_list .reason_tile.unfolded .reason_expand_button:after {
	transform: rotate(45deg);
}

.reason_tiles_list .reason_tile .reason_tile_inner {
	overflow: hidden;
	position: relative;	
	flex: 1 !important;
	flex-direction: column;
	display: flex !important;
}

.reason_tiles_list .reason_tile .reason_tile_inner > div {line-height: 1.35;}

.reason_tiles_list .reason_tile .reason_tile_inner > div:first-child {
	display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
	margin-bottom: 1.5rem;
	transition: margin-top 0.5s ease;
	position: relative;
}

.reason_tiles_list .reason_tile .reason_tile_inner > div:first-child svg {
    fill: var(--chblue);
    background: #fff;
    padding: 0.7rem;
    border-radius: 50%;
    width: 1.3rem;
    height: 1.3rem;
}

.reason_tiles_list .reason_tile.unfolded .reason_tile_inner > div:first-child {
	margin-top: -4.3rem;
}

.reason_tiles_list .reason_tile .reason_tile_inner > div:nth-child(2) > div:nth-child(3) {
	max-height: 0;
	transition: all .5s linear;
	overflow: hidden;
}

.reason_tiles_list .reason_tile.unfolded .reason_tile_inner > div:nth-child(2) > div:nth-child(3) {
	max-height: 500px;
}

.reason_tiles_list .slick-dots {
	bottom: 4rem;
}

@media screen and (min-width: 801px) {
	.reason_tiles_list .slick-dots {height: 0; width: 0; visibility: hidden; opacity: 0;}
}

@media screen and (max-width: 800px) {
	
	.reason_tiles_list.padding_bottom {padding-bottom: 6rem;}
	
	.reason_tiles_list .slick-next,
	.reason_tiles_list .slick-prev {height: 0; width: 0; visibility: hidden; opacity: 0;}
}


/* ----- EVENT REVIEWS LIST ----- */


.event_review_tiles_list .event_review_tile {
    margin: 0 1rem;
	position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: transparent;
	display: flex;
    flex-direction: column;
	width: 18rem !important;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}


/* -------------------------- */
/* ----- OTHER ELEMENTS ----- */
/* -------------------------- */

/* ----- CHAT ----- */

div:has(> #chtl-open-chat-icon) {
	z-index: 99 !important;
	right: 0.75rem !important;
}

#chtl-close-chat-icon,
#chtl-open-chat-icon {border: 2px solid #fff;}

#chtl-close-chat-icon > div,
#chtl-open-chat-icon > div {
	width: 4rem !important;
	height: 4rem !important;
}

#chtl-close-chat-icon > div > svg,
#chtl-open-chat-icon > div > svg {
	width: 2rem !important;
	height: 2rem !important;	
}

.inquiry_cta_mobile {
	display: none;
	position: fixed;
	right: 0.75rem;
	bottom: 6rem;
	border-radius: 5rem;
	width: 2rem;
	padding: 1rem;
	fill: #fff;
	z-index: 99;
    background-color: var(--chblue);
	border: 2px solid #fff;
}

@media (max-width: 1000px) {
	
	#chtl-close-chat-icon > div,
	#chtl-open-chat-icon > div {
		width: 3.5rem !important;
		height: 3.5rem !important;
	}
	
	#chtl-close-chat-icon > div > svg,
	#chtl-open-chat-icon > div > svg {
		width: 1.5rem !important;
		height: 1.5rem !important;	
	}
	
	.inquiry_cta_mobile {
		border-radius: 3rem;
		width: 1.5rem;
		padding: 1rem;
		bottom: 5.5rem;
	}
	
}


/* ----- CUSTOMER LOGOS ----- */

.reference_logos > div {
    display: flex;
    align-items: center;
    justify-content: center;	
}

.reference_logos > div img {
	opacity: 0.4;
    max-height: 2rem;
    max-width: 6.5rem;
}


/* ----- CONTACT CTA ----- */

.contact_cta_outer {
	padding: clamp(36px,6vw,60px) 0 clamp(36px,6vw,60px) 0 !important;
}

.contact_cta {
	border-radius: 20px;
	padding: 3rem 2rem 7rem 43%;
	background: url(/images/customer-support-agent.webp) no-repeat 7% 1rem / contain, url(/images/vector-line-customer-support.svg) no-repeat 1rem top / 24rem, linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 100%);
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	margin: 0 2rem;
}

#application_form .contact_cta {
	background: linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 100%);
}

.contact_cta::after {
	position: absolute;
    bottom: -4rem;
    width: 110%;
    height: 6rem;
    transform: skew(0, 355deg);
    content: "";
    z-index: 1;
    background: linear-gradient(259deg, var(--chblue) 10%, #2c3ba2 80%), var(--chblue);
    left: -10%;
}

.contact_cta ul.service_items {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 50%;
	display: flex;
	flex-direction: column;
}

.contact_cta .service_items ul {
	width: calc(100% - 10px);
}

.contact_cta .service_items ul li {
	position: relative;
    height: 2.4rem;
    line-height: 1.2rem;
    display: flex;
    align-items: center;
	margin: 1rem 0 0 0;
}

.contact_cta .service_items ul li,
.contact_cta .service_items ul li span,
.contact_cta .service_items ul li a {font-weight: 500;}

.contact_cta .service_items ul li svg {
	width: 1rem;
    padding: 0.7rem;
    background: #fff;
    border-radius: 50%;
    fill: var(--chblue);
}

.contact_cta .contact_cta_tag {
	position: absolute;
	left: 5rem;
	bottom: 5rem;
	display: flex;
	flex-direction: row;
	align-items: start;
	gap: 1rem;
}

.contact_cta .contact_person {
	position: absolute;
    left: 3rem;
    bottom: 3rem;
    height: calc(100% - 10rem);
    aspect-ratio: 0.8 / 1;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    background-image: url(/images/hr-lead.webp);
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;	
}

#application_form .contact_cta .contact_cta_tag {
	left: 18rem;
	bottom: 4rem;
}

.contact_cta .contact_cta_tag > div {
	padding: 20px;
	border-radius: 10px;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	align-items: center;
	justify-content: center;
}

.contact_cta .contact_cta_tag > div:nth-child(2) {padding: 1rem 0.5rem;}

.contact_cta .contact_cta_tag .contact_cta_rating {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.contact_cta .contact_cta_tag .contact_cta_rating > div:first-child {
	display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.1rem;
}

.contact_cta .contact_cta_tag .contact_cta_rating svg {
	width: 0.8rem;
	fill: var(--chyellow);
	margin-right: 0.2rem;
}

.contact_cta .contact_cta_tag > div:nth-child(2) svg {
	width: 1rem;
	fill: var(--chblue);
}

.contact_cta .contact_cta_tag > div:nth-child(2) svg.online {fill: var(--chgreen);}
.contact_cta .contact_cta_tag > div:nth-child(2) svg.offline {fill: var(--chred);}

.chat_availability,
.phone_availability {position: relative;}

.chat_availability::after,
.phone_availability::after {
	content: '';
	position: absolute;
	top: -2px;
	right: -2px;
	width: 12px;
	height: 12px;
	border-radius: 10px;
	z-index: 1;
	border: 1px solid #fff;
}

.chat_availability.online::after,
.phone_availability.online::after {background: var(--chgreen);}
.phone_availability.offline::after {background: var(--chred);}


@media (max-width: 900px) {
	.contact_cta {
		padding-left: 50vw;
	}
	
	.contact_cta .service_items {
	 	flex-direction: column;
	}
	
	#application_form .contact_cta .contact_cta_tag {display: none;}
}

@media (max-width: 700px) {
	
	.contact_cta_outer {
		padding-top: 0 !important;
	}

	.contact_cta {
		padding: 2rem 2rem 115% 2rem;
		background: url(/images/customer-support-agent.webp) no-repeat bottom center / 80%, linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 100%);
		margin: 0;
		border-radius: 0;
	}
	
	#application_form .contact_cta {
		padding: 3rem 2rem 3rem 2rem;
		display: flex;
		flex-direction: column;
	}
	
	.contact_cta .contact_person {
		position: relative;
		left: auto;
		bottom: auto;
		height: auto;
		margin: 40px auto 0 auto;
		width: calc(100% - 4rem);
		max-width: 15rem;
		order: 2;
	}

	.contact_cta::after {display: none;}
	
	.contact_cta .contact_cta_tag {
		left: 3rem;
		bottom: 3rem;
	}
	
	.contact_cta .button {
		max-width: none;
		width: 100%;
	}

}


/* ----- GALLERY SCROLLER ----- */

.gallery_carousel-rtl,
.gallery_carousel {
	width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0;
    position: relative;
}

.gallery_carousel-rtl {
	margin-bottom: 1rem;
}

.gallery_carousel-rtl::before,
.gallery_carousel::before {
	z-index: 1;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	content: '';
	background: transparent;
}

.gallery_carousel-rtl.slick-slider .slick-track,
.gallery_carousel.slick-slider .slick-track {
	align-items: stretch;
	display: flex;
	gap: 1rem;
}

.gallery_carousel-rtl.slick-slider .slick-list,
.gallery_carousel.slick-slider .slick-list {
	display: flex;
}

.gallery .gallery_image,
.gallery_carousel-rtl .gallery_carousel_image,
.gallery_carousel .gallery_carousel_image {
	padding-top: 0;
	width: 100%;
	max-width: 240px;
    /*height: clamp(8rem,10vw,10rem);*/
	aspect-ratio: 1.4 / 1;
	position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: url(/images/logo-join-the-hunt.svg) no-repeat center / 60%, linear-gradient(314deg, var(--chblue) 30%, #2c3ba2 100%), var(--chblue);
	background-size: 60%, cover;
    box-shadow: none;
}

.gallery .gallery_image {max-width: none;}
.gallery.customer_gallery .gallery_image {background: var(--chlightblue);}

.gallery .gallery_image img,
.gallery_carousel-rtl .gallery_carousel_image img,
.gallery_carousel .gallery_carousel_image img {
	width: 105%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	filter: brightness(1.06) saturate(1.05);	
}

.gallery_carousel-rtl .gallery_carousel_image .inner_image,
.gallery_carousel .gallery_carousel_image .inner_image,
.gallery .gallery_image .inner_image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
	filter: brightness(1.06) saturate(1.05);
}

.gallery_audio {position: relative;}

.gallery_image .download,
.gallery_audio .download {
	 position: absolute;
    top: 1rem;
    right: 1rem;
    background: var(--chyellow);
    z-index: 2;
    padding: 0.4rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.7rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.gallery_audio .download {top: -1rem;}


/* ----- FAQ ----- */

.faq_frame_outer {
	display: flex;
	flex-direction: row;
	gap: 3rem;
	width: 100%;	
}

.faq_frame_outer .faq_promo_outer {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	flex: 1;
}

.faq_frame_outer .faq_promo_outer .faq_promo {
	width: 100%;
	box-sizing: border-box;
	padding: 2rem 2rem 8rem 2rem;
	background: url(/images/vector-line-faq-promo.svg) no-repeat center bottom / cover, linear-gradient(185deg, #C2C1FF 0%, #DFF1FD 100%);
	border-radius: 20px;
}


@media (max-width: 700px) {
	
	.faq_frame_outer {flex-direction: column;}

	.faq_frame_outer .span_33,
	.faq_frame_outer .span_67 {width: 100% !important;}
	
	.faq_frame_outer .faq_promo_outer .faq_promo {
		padding: 2rem;
		background: linear-gradient(185deg, #C2C1FF 0%, #DFF1FD 100%);
	}
	
}

.faq_entry .faq_question:after {
	position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%) rotate(0deg);
    color: inherit;
    text-align: center;
    font-size: 2rem;
	box-sizing: border-box;
	transition: all .5s;
	border-radius: 1rem;
	border: none;
	background-color: var(--chblue01);
	font-weight: 300;
	width: 3rem;
	height: 3rem;
	line-height: 2.4rem;
}

.faq_entry.unfolded .faq_question:after {
	background-color: var(--chblue);
	color: #fff;
}

.faq_entry {
	padding: 30px 0 30px 0;
	cursor: pointer;
	transition: all .5s;
}

.faq_entry:not(:first-child) {
	border-top: 1px solid var(--chblue02);
}

.faq_entry.unfolded {max-height: 1500px;}

.faq_entry .faq_question {
	font-size: 1.1rem;
	line-height: 1.35;
	font-weight: 700;
	width: 100%;
	padding-right: 4rem;
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
}

.faq_entry .faq_question .icon {
	max-width: 20px;
	max-height: 20px;
	margin-right: 10px;
}

.faq_entry .faq_question:after {content: '+';}

.faq_entry.unfolded .faq_question:after {
	content: '-';
	transform: translate(0, -50%) rotate(180deg);
}

.faq_entry .faq_answer {
	max-height: 0;
    transition: all .5s;
	cursor: auto;
	overflow: hidden;
}

.faq_entry.unfolded .faq_answer {
	max-height: 1300px;
	margin-top: 30px;
}

.faq_entry .faq_answer p:not(:last-child) {margin-bottom: 10px;}
.faq_entry .faq_answer p:last-child {margin-bottom: 0;}
.faq_entry .faq_answer p a {font-weight: 600;}

.faq_entry .faq_answer p.flex_row span {flex: 1;}


/* ----- BLOG ----- */

@media (min-width: 801px) {

	.blog_promo_frame_outer {
		position: relative;	
		overflow: hidden;
		background-image: url(/images/vector-line-blog-promo.svg);
		background-repeat: no-repeat;
		background-size: 32%;
		background-position: bottom -1rem left 8%;	
	}
	
	.blog_promo_frame .button.yellow {display: flex;}
	.blog_promo_frame_outer > .button.yellow {display: none;}

}

.blog_promo_frame {
	display: flex;
    flex-direction: row;
    gap: 3rem;
    width: 100%;
}

@media (max-width: 800px) {
	
	.blog_promo_frame {flex-direction: column;}
	.blog_promo_frame .span_33,
	.blog_promo_frame .span_67 {width: 100% !important;}
	
	.blog_promo_frame .button.yellow {display: none;}
	.blog_promo_frame_outer > .button.yellow {display: flex;}

}


/* ----- INDEX: ABOUT CITYHUNTERS ----- */

.about_cityhunters_frame .about_cityhunters_slider {
	display: flex;
	width: 100%;
	padding-bottom: 2.5rem;
}

.about_cityhunters_slider .slick-dots {
	bottom: 1rem;	
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_1,
.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_2,
.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_3 {
	border-radius: 20px;
	box-sizing: border-box;
    flex-direction: column;
    height: 100%;
    display: flex !important;
    overflow: hidden;
	padding: 2rem;
	height: 22rem;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_1 {
	width: 25%;
	max-width: 16rem;
	background: url(/images/about-ch-graphic-1.svg) no-repeat center bottom / 100%, var(--chblue);
	margin-right: 2rem;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_1 .about_cityhunters_slide_1_tag {
	border-radius: 1rem;
	background: #fff;
	padding: 0.45rem 1rem 0.45rem 0.45rem;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1rem;
	font-size: 0.9rem;
	font-weight: 500;
	width: max-content;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_1 .about_cityhunters_slide_1_tag svg {
	fill: #fff;
	background: var(--chgreen);
	padding: 10px;
	border-radius: 50%;
	width: 1rem;
	height: 1rem;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_2 {
	width: calc(50% - 4rem);
	max-width: 30rem;
	background: linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 50%);
	margin-right: 2rem;
	flex-direction: row;
	padding: 0;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_2 .about_cityhunters_slide_2_img {
	width: 50%;
	border-radius: 20px;
	background-image: url(/images/about-ch-img-1.webp);
	background-size: cover;
	background-repeat: no-repeat;
	height: 100%;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_2 .about_cityhunters_slide_2_content {
	display: flex;
	flex-direction: column;
	width: 50%;
	padding: 2rem;
	justify-content: space-between;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_3 {
	width: 25%;
	max-width: 16rem;
	background: url(/images/about-ch-graphic-2.svg) no-repeat center center / 103%, var(--chlightgreen);
	justify-content: space-between;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_3 > div:nth-of-type(2) {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_3 div img {width: 6rem;}

.why_cityhunters_frame > div{
	min-height: 19rem;
}

.why_cityhunters_frame > div:first-child {
	background: url(/images/vector-line-why-ch.svg) no-repeat right bottom / 50%, linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 100%);
}

.why_cityhunters_frame > div:nth-child(2) {
	background: url(/images/index-promo-img-1.webp) no-repeat center center / cover;
}

@media (max-width: 800px) {
	
	.about_cityhunters_frame .about_cityhunters_slider {
		padding-bottom: 50px;
	}

	
	.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_1,
	.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_2,
	.about_cityhunters_frame .about_cityhunters_slider .about_cityhunters_slide_3 {
		/*max-width: calc(100vw - 2rem);*/
		width: calc(100vw - 2rem);
	}
}

@media (max-width: 700px) {
	
	.why_cityhunters_frame {grid-template-columns: repeat(1, minmax(0, 1fr)) !important;}
	
	.why_cityhunters_frame > div:first-child {
		min-height: 0; 
		background: linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 100%);
	}
}


/* ----- MAP ----- */

.mapbox_map {
	width: 100%;
	aspect-ratio: 1 / 0.45;
	border-radius: 20px;
	min-height: 300px;
	position: relative;
	overflow: hidden;
}

.popup_frame_body .mapbox_map {aspect-ratio: 1 / 0.65;}

@media (max-width: 700px) {
	
	.popup_frame_body .mapbox_map {aspect-ratio: 1 / 1.3;}
	
}

.mapbox_map .city_select_input_frame {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;	
	width: 30rem;
    max-width: 70%;
}

.mapbox_map .live_tag {
	background: var(--chgreen);
	border-radius: 1rem;
	position: absolute;
	top: 1rem;
	left: 1rem;
	padding: 0.9rem 0.9rem 0.9rem 2.5rem;
	color: #fff;
	background-image: url(/images/live-icon.svg);
	background-size: 1rem;
	background-repeat: no-repeat;
	background-position: 0.9rem center;
	z-index: 1;
	font-size: 0.9rem;
	font-weight: 600;
}

@media (max-width: 700px) {
	
	.mapbox_map {aspect-ratio: 1 / 1;}
	
	.mapbox_map .city_select_input_frame {width: calc(100% - 2rem); max-width: calc(100% - 2rem);}
	
	.mapbox_map .live_tag {display: none;}
}

.mapbox_map .mapbox_map_container {
	width: 100%;
	height: 100%;
}

.mapbox_map .mapboxgl-canvas-container {height: 100%; width: 100%;}

.mapboxgl-canvas-container .mapbox_marker_live,
.mapboxgl-canvas-container .mapbox_marker {
	width: 50px;
	height: 50px;
	background: url(/images/map-marker.svg) no-repeat center center / cover;
}

.mapboxgl-canvas-container .mapbox_marker_live {
	width: 50px;
	height: 50px;
	background: url(/images/map-marker-live.svg) no-repeat center center / cover;
}

.mapboxgl-canvas-container .mapbox_marker_live::before {
    content: '';
    position: relative;
    display: block;
    width: 150%;
    height: 150%;
    box-sizing: border-box;
    margin-left: -25%;
    margin-top: -25%;
    border-radius: 50%;
    background-color: white;
    animation: pulse-ring 0.85s cubic-bezier(0.215, 0.61, 0.855, 1) infinite;
}

@keyframes pulse-ring {
  0% {
    transform: scale(.33);
  }
  80%, 100% {
    opacity: 0;
  }
}

.mapboxgl-popup {top: -20px}

.mapboxgl-popup-content {
	border-radius: 15px;
	padding: 0.9rem;
}

.mapboxgl-popup-link-button {
	border: 0 !important;
	height: 2rem;
	font-size: 0.8rem;
}

.mapboxgl-popup-heading {
	font-size: 1rem; 
	font-weight: 600;
	margin-bottom: 0.6rem;
}

.mapboxgl-popup-close-button {
	display: none;
	opacity: 0;
	visibility: hide;
	height: 0;
	width: 0;
}


/* ----- CITIES LIST ALPHABETICAL ----- */

.city_list_alphabet_cell {}

.city_list_alphabet_letter_bubble {
	color: var(--chblue);
    background: var(--chmediumblue);
    padding: 0.7rem;
    border-radius: 50%;
    width: 1.3rem;
    height: 1.3rem;
	display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
	margin-bottom: 1.5rem;
}

.city_list_alphabet_list li a {
	transition: all .5s;
	color: var(--chdarkgrey);
	padding: 0.5rem 0;
	display: block;
}

.city_list_alphabet_list li a:hover {color: var(--chblue);}

.city_list_alphabet_list:not(.unfolded) li:nth-child(n+5) {display: none;}

.city_list_alphabet_list.unfolded li:nth-child(n+5) {display: block;}

.city_list_alphabet_more {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
}

.city_list_alphabet_more .city_list_alphabet_more_label {
	line-height: 1.3;
	font-weight: 700;
}

.city_list_alphabet_more .city_list_alphabet_more_icon {
    margin-bottom: 0.4rem;
    font-size: 1.7rem;
    font-weight: 700;
}


/* TEXT CONTAINER & SHORTENER */

.text_container {
	position: relative;
	transition: all .5s;
}

.text_container.shorten::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 80px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, rgba(255, 255, 255, 1) 60%);
}

.xwhite_bg .text_container.shorten_mobile::after,
.xwhite_bg .text_container.shorten::after {background: linear-gradient(to bottom, rgba(251, 251, 251, 0) 0%, rgba(251, 251, 251, 0.5) 30%, rgba(251, 251, 251, 1) 90%);}

.read-more-btn {
	display: none;
    color: var(--chblue);
    cursor: pointer;
    z-index: 1;
    position: absolute;
    left: 0;
    bottom: 0;
    width: auto;
	font-size: 1.1rem;
	font-weight: 700;
    border-bottom: 2px solid var(--chblue02);
	background: transparent;
	padding-bottom: 0.5rem;
}

.text_container.shorten .read-more-btn {display: flex;}


@media (min-width: 768px) {
  .text_container.shorten {max-height: 500px;}
  .text_container.shorten.max_600 {max-height: 600px;}
  .text_container.shorten.max_700 {max-height: 700px;} 
  .text_container.shorten.max_800 {max-height: 800px;}
  .text_container.shorten.max_900 {max-height: 900px;}
}

@media (max-width: 767px) {
	
	.text_container.shorten_mobile::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 80px;
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, rgba(255, 255, 255, 1) 60%);
	}
	
	.text_container.shorten_mobile .read-more-btn {
		display: flex;
	}
	
	.text_container.shorten,
	.text_container.shorten_mobile {
		max-height: 400px;
	}
}

.text_container.shorten.max_200 {max-height: 200px;}
.text_container.shorten.max_300 {max-height: 300px;}


/* OPEN POSITIONS */


.open_position_container {
	padding: 2rem;
    background: #fff;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
}

.open_position_container .upper_part {
	padding-bottom: 30px;
	border-bottom: 1px solid var(--chblue02);	
}

.open_position_container .upper_part h3 span {margin-left: 1rem;}

.open_position_container .lower_part {
	padding-top: 20px;
	width: 100%;
	gap: 1.7rem;
	display: flex;
	flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
}

.open_position_container .lower_part div {
	padding-left: 1.2rem;
	position: relative;
	display: flex;
	gap: 0.4rem;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: flex-start;
	max-width: 57%;
}

.open_position_container .lower_part div svg {
	position: absolute;
	width: 0.8rem;
	fill: var(--chblue);
	top: 0.5rem;
	left: 0;
}

.open_position_container .lower_part div span {
	font-size: 0.8rem;
	padding: 0.5rem 0.7rem;
	border-radius: 1rem;
	background: #EDF6FD;
}

@media (max-width: 600px) {
	.open_position_container .lower_part {gap: 1.1rem;}
	.open_position_container .lower_part div {max-width: 100%;}
}

.jsm img {
	width: 11.5rem;
    bottom: -0.2rem;
    position: relative;
}


/* EVENT IMAGES GALLERY */

.event_images_gallery {
	display: grid;
	grid-template-columns: calc(60% - 1rem) calc(40% - 1rem);
	gap: 2rem;
}

.event_images_gallery .big_image,
.event_images_gallery .small_images .lazyload {
	border-radius: 20px;
    overflow: hidden;
	position: relative;
}

.event_images_gallery .big_image::before,
.event_images_gallery .small_images .lazyload::before {
	background: linear-gradient(90deg, #ebebeb 35%, #fff 50%, #ebebeb 65%);
    background-size: 240%;
	animation: 1s linear infinite tileLoadingGradient;
	z-index: -1;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.event_images_gallery img {
  width: 100%;
  height: auto;
  display: block;
}

.event_images_gallery .small_images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

.event_images_gallery .small_images .lazyload {
	background-position: center;
	background-size: cover;	
}

@media (max-width: 700px) {
	
  .event_images_gallery  {
	  grid-template-columns: 1fr;
	  gap: 1rem;
	}

	.event_images_gallery .small_images {
		grid-template-columns: 1fr 1fr 1fr 1fr;
		gap: 1rem;
		height: 20vw;
	}

}


/* EVENT INFO */

.event_info_frame {
	display: grid;
    grid-template-columns: calc(60% - 1rem) calc(40% - 1rem);
    gap: 2rem;
}

.event_rating_box {
	background-image: url(/images/event_rating_box_profiles.png);
	background-repeat: no-repeat;
	background-position: right +20px top +20px;
	background-size: 4rem;
	background-color: rgba(202,241,112,0.4);
	transition: all linear 0.5s;
}

.event_rating_box:hover {background-color: var(--chlightgreen);}

.event_rating_box > div:first-child span {
	border-bottom: 1px solid var(--chblue02);
	padding-bottom: 0.35rem;
}

.event_rating_box > div:nth-child(2) {
	display: flex;
	justify-content: flex-start;
}

.event_rating_box .ch_icon.star {
	width: 1rem;
	fill: var(--chyellow);
	margin-right: 0.3rem;
}


.event_data_box {
	background: #FBFCFD;
	border: 1px solid #ECEFF5;
}

.event_data_box > div > div:nth-child(2) img {
	width: 1.5rem;
	border-radius: 3px;
	margin-left: 0.5rem;
}

.event_data_box > div div {font-weight: 500;}

.event_data_box > div:not(:first-child) {border-top: 1px solid var(--chblue02);}
	
.event_data_box > div {
	padding: 25px 0;
	display: flex;
	justify-content: space-between;
    align-items: center;
}

.event_data_box > div:first-child {padding: 0 0 25px 0;}
.event_data_box > div:last-child {padding: 25px 0 0 0;}

.event_data_box > div > div {
	display: flex;
    align-items: center;
}

.event_data_box > div svg {
	width: 1rem;
	fill: var(--chblue);
	margin-right: 0.5rem;
}

.event_startort_box {background: url(/images/start_location.webp?v=2) no-repeat center / cover, #FBFCFD;}



/* EVENT SERVICES */

.event_services_frame {
	display: grid;
    grid-template-columns: calc(60% - 1rem) calc(40% - 1rem);
    gap: 2rem;
}

.event_services_frame ul {
	width: 100%;
    list-style-type: none;
}

.event_services_frame ul li {
	position: relative;
    height: 2.8rem;
    line-height: 1.2rem;
    padding-left: 2.8rem;
    display: flex;
    align-items: center;
}

.event_services_frame ul li svg {
	background: #fff;
	padding: 0.5rem;
	border-radius: 1rem;
	width: 1rem;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	
}

.event_services_frame > div:first-child ul li svg {fill: var(--chyellow);}
.event_services_frame > div:nth-child(2) ul li svg {fill: #8FC902;}

@media (max-width: 800px) {
	.event_info_frame {grid-template-columns: 1fr;}
}

@media (max-width: 700px) {
	.event_services_frame {grid-template-columns: 1fr;}
}


/* EVENT PROCEDURE FRAME */

.event_procedure_frame_outer {background: linear-gradient(0deg, #FFF 0%, var(--chlightblue) 25%);}

.event_procedure_frame_outer > .flexcontainer_inner {background: url(/images/vector-line-event-procedure.svg) no-repeat center top / 100%;}

.event_procedure_frame_outer .event_procedure_wrapper {position: relative;}

.event_procedure_frame_outer .event_procedure_frame {
	display: grid;
    grid-template-columns: 1fr;
	padding: 0 7%;
	min-height: 65rem;
}

.event_procedure_frame_outer .event_procedure_frame > div {position: relative;}

.event_procedure_frame_outer .event_procedure_frame > div:first-child {}

.event_procedure_frame_outer .event_procedure_frame > div:nth-child(2) {}

.event_procedure_frame_outer .event_procedure_frame .event_procedure_step {
	padding: 30px;
	border-radius: 1.25rem;
	background: #fff;
	min-height: 20%;
	position: absolute;
	box-shadow: 0 0 15px 0 rgba(1, 15, 112, .08);
	width: 45%;
	box-sizing: border-box;
}

.event_procedure_frame_outer .event_procedure_frame > div:first-child > div:first-child {
	top: 2%;
	left: 0;
}

.event_procedure_frame_outer .event_procedure_frame > div:first-child > div:nth-child(2) {
	top: clamp(5%,calc(1% + 8vw),12%);
	right: 0;
}

.event_procedure_frame_outer .event_procedure_frame > div:nth-child(2) > div:first-child {
	top: clamp(0%,calc(0.1% + 3vw),8%);
	left: 0;
}

.event_procedure_frame_outer .event_procedure_frame > div:nth-child(2) > div:nth-child(2) {
	background: url(/images/award.png) no-repeat right 20px top 20px / 20%, #FFF;
	top: clamp(8%,calc(5% + 8vw),24%);
	right: 0;
}

body.smartphone .event_procedure_frame_outer .event_procedure_frame > div:nth-child(2) > div:nth-child(2) {top: clamp(8%,calc(5% + 12vw),32.5%);}

.event_procedure_frame_outer .event_procedure_frame .event_procedure_step img.guide {
	margin: 0 auto;
	width: 30%;
	display: block;
	margin-bottom: 1.5rem;
}

.event_procedure_frame_outer .event_procedure_frame .event_procedure_step img.guide {width: 45%;}

.event_procedure_frame_outer .event_procedure_frame .event_procedure_step .event_procedure_tag {
    font-size: clamp(0.65rem, 1.8vw, 0.8rem);
    background: var(--chxlightgreen);
    padding: 0.5rem 0.7rem;
    border-radius: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.event_procedure_frame_outer .event_procedure_frame .event_procedure_step .event_procedure_tag svg {
    width: 0.8rem;
    fill: var(--chblue);
}


.event_procedure_frame_outer .event_procedure_wrapper .event_device {
	position: absolute;
    transform: rotate(10deg) translate(-50%,-50%);
    top: 50%;
    left: 50%;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
}

body.ipad .event_procedure_frame_outer .event_procedure_wrapper .event_device,
body.geocaching .event_procedure_frame_outer .event_procedure_wrapper .event_device {
	width: clamp(13rem,calc(10rem + 7vw),17rem);
	aspect-ratio: 1.3 / 1;
	border-radius: 1rem;
	background-image: url(/images/devices/geocaching-device-screen.webp);
}

body.ipad .event_procedure_frame_outer .event_procedure_wrapper .event_device {
	background-image: url(/images/devices/ipad-device-screen.webp);
}

body.smartphone .event_procedure_frame_outer .event_procedure_wrapper .event_device {
	width: clamp(5rem,calc(3rem + 7vw),8rem);
	border-radius: 1rem;
	aspect-ratio: 1 / 2.1;
	background-image: url(/images/devices/smartphone-device-screen.webp);
}

@media (max-width: 700px) {
	
	.event_procedure_frame_outer .event_procedure_frame {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0;
		margin-top: 40px;
	}
	
	.event_procedure_frame_outer > .flexcontainer_inner {
		background-position: left top !important;
		background-size: 300% !important;
	}
	
	.event_procedure_frame_outer .event_procedure_frame > div > div,
	.event_procedure_frame_outer .event_procedure_frame .event_procedure_step {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		margin-bottom: 30px;
		width: auto;
	}
	
	.event_procedure_frame_outer .event_procedure_frame .event_procedure_step img.guide {
		width: 9rem;
	}
	
	.event_procedure_frame_outer .event_procedure_wrapper .event_device {
		width: 65%;
		position: relative;
		transform: rotate(5deg);
		top: auto;
		left: auto;
		margin: 0 auto;
	}
	
	body.smartphone .event_procedure_frame_outer .event_procedure_wrapper .event_device {width: 8rem;}
}


/* PROCESS DIAGRAM */
/* EVENT 5 STEPS */

.process_steps_outer_frame {background: url(/images/vector-line-5-steps.svg) no-repeat left top / contain;}

.event_5_steps {
	display: grid;
	grid-template-columns: calc(55% - 2.5rem) calc(45% - 2.5rem);
	gap: 5rem;
}

.event_5_steps .big_image {
    overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.event_5_steps .big_image .process_diagram_images {
	width: 100%;
	display: block;
	border-radius: 20px;
}

.event_5_steps .big_image .process_diagram_images:not(:first-child) {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	opacity: 0;
	transition: opacity 1s;
	z-index: 1;
}

.event_5_steps .big_image::before {
	background: linear-gradient(90deg, #ebebeb 35%, #fff 50%, #ebebeb 65%);
    background-size: 240%;
	animation: 1s linear infinite tileLoadingGradient;
	z-index: -1;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.event_5_steps .process_diagram_frame {
	display: flex;
	align-items: center;
	min-height: 24rem;
}

.event_5_steps .process_diagram {
	padding-left: 3rem;
    display: flex;
    flex-direction: column;
	position: relative;
}
/*
.event_5_steps .process_diagram::before {
	content: '';
	width: 1px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background: var(--chblue02);
}
*/

@media (max-width: 700px) {
	
	.process_steps_outer_frame {
		background: none;
		padding-bottom: 50px !important;
	}
	
	.event_5_steps  {
		grid-template-columns: 1fr;
		gap: 20px;
	}
  
	.event_5_steps .process_diagram_frame {
		padding-left: 2rem;
		min-height: 27rem;
	}

}


.event_5_steps .process_diagram .process_step {
	position: relative;
	cursor: pointer;
}

.event_5_steps .process_diagram .process_step:not(:last-child) {
	padding-bottom: 2.5rem;
}

.event_5_steps .process_diagram .process_step::before {
	content: '';
	position: absolute;
	width: 0.5rem;
	height: 0.5rem;
	left: -3.5rem;
	top: 0.1rem;
	border-radius: 1rem;
	background: var(--chxwhite);
	border: 4px solid var(--chxwhite);
	box-shadow: 1px 1px 0 0 var(--chyellow), -1px 1px 0 0 var(--chyellow), 1px -1px 0 0 var(--chyellow), -1px -1px 0 0 var(--chyellow);
	z-index: 1;
}

.event_5_steps .process_diagram .process_step.active::before {
	left: -3.75rem;
	width: 1rem;
	height: 1rem;
	top: -0.1rem;
	background: var(--chyellow);
	border: 4px solid var(--chxwhite);
	transition: all 0.5s;
}

.event_5_steps .process_diagram .process_step:not(:last-child)::after {
	content: '';
	width: 1px;
	position: absolute;
	top: 0.5rem;
	bottom: -0.5rem;
	left: -3rem;
	background: var(--chblue02);
	z-index: 0;
}

.event_5_steps .process_diagram .process_step .process_step_heading {
	opacity: 0.5;
	transition: all 0.5s;	
}

.event_5_steps .process_diagram .process_step.active .process_step_heading,
.event_5_steps .process_diagram .process_step:hover .process_step_heading {
	opacity: 1;	
}

.event_5_steps .process_diagram .process_step .process_step_text {
	max-height: 0;
	overflow: hidden;
	transition: all 0.5s;
	line-height: 1.35;
}

.event_5_steps .process_diagram .process_step.active .process_step_text {
	max-height: 8rem;
	padding-top: 1rem;
}


/* EVENT RATING SECTION */

.event_rating_frame {
	display: grid;
	grid-template-columns: minmax(250px, 27%) minmax(0, 1fr);
	gap: 4rem;
}

.event_rating_frame .event_rating_reviews .event_review_tiles_list {
	left: 0;
	max-width: 100%;	
}

.event_rating_frame .event_rating_details .event_rating_star_class {
    border-radius: 1rem;
    border: 1px solid var(--chblue01);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.7rem;
	box-sizing: border-box;
}

.event_rating_frame .event_rating_details .event_rating_star_class div {
	font-size: 0.9rem;
	font-weight: 600;
}

.event_rating_frame .event_rating_details .event_rating_star_class.active {
	background: var(--chblue01);
}

.event_rating_details svg.star {
	fill: var(--chyellow);
	width: 1.2rem;
	margin-right: 0.2rem;
}

.event_rating_frame .event_rating_details .event_rating_star_class div svg.star {
	width: 1rem;
	margin-right: 0.15rem;
}

@media (max-width: 700px) {
	
	.event_rating_frame {grid-template-columns: 1fr;}
	.event_rating_frame .event_rating_reviews {display: none;}
	
}


/* BLOG SECTION */

.date_select {
	position: relative;	
}

.date_select svg {
	position: absolute;
	top: 50%;
	left: 1rem;
	transform: translate(0,-50%);
	z-index: 1;
	fill: var(--chblue);
	width: 1rem;
}

.date_select select {
	width: 12rem;
	padding-left: 3rem;
}

.blog_pagination {
	display: flex;
	width: 100%;
	gap: 1rem;	
	justify-content: center;
	align-items: center;
}

.blog_pagination .blog_arrow {
	border-radius: 1rem;
    border: none;
    background-color: var(--chblue01);
    color: var(--chblue);
    font-weight: 300;
    width: 3rem;
    height: 3rem;
    line-height: 2.4rem;
	text-align: center;
    font-size: 2rem;
	box-sizing: border-box;
}

.blog_pagination .blog_arrow svg {
	width: 1rem;
	fill: var(--chblue);
	cursor: pointer;
}

.blog_pagination .blog_arrow.inactive svg {
	fill: #fff;
	cursor: not-allowed;
}

.blog_pagination .pages {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 2rem;
	gap: 0.5rem;
	width: max-content;
}

.blog_pagination .pages > div {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--chblue02);
	cursor: pointer;
}

.blog_pagination .pages > div.active {color: var(--chblue);}


@media (max-width: 700px) {
	.date_select select {width: 100%;}
	body.blog .blog_themes_buttons {order: 1;}	
}

@media (max-width: 600px) {
	.blog_pagination .pages {
		grid-auto-columns: 1.35rem;
		gap: 0;
	}
}


.blog_article {
	display: flex;
	flex-direction: row;
	gap: 3rem;
}

.blog_article_share {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 3rem;
}

.blog_article_share svg {
	border-radius: 1rem;
    background-color: var(--chblue01);
    fill: var(--chblue);
    padding: 1rem;
	width: 1rem;
	fill: var(--chblue);
	cursor: pointer;
}

.content_navigation_outer {
    width: 100%;
    position: relative;
}

.blog_article_share_outer .blog_article_share,
.content_navigation_outer .content_navigation_inner {
	position: sticky;
    top: 120px;
}

.text_container img {
	border-radius: 20px;
	padding: 20px 0 20px 0;
	width: 100%;
	max-height: 600px;
	margin: 0 auto;
}

.text_container img.left {
	padding: 20px 20px 20px 0;	
	display: block;
	float: left;
	max-width: 50%;
}

.text_container img.right {
	padding: 20px 0 20px 20px;	
	display: block;
	float: right;
	max-width: 50%;
}


@media (max-width: 700px) {
	
	.blog_article_text {order: 2;}
	
	.blog_article {
		flex-direction: column;
		gap: 2rem;
	}
	
	.blog_article_share {flex-direction: row;}

}


/* CONTENT NAVIGATION */

.content_navigation_outer .content_navigation_inner {
	background: var(--chxwhite);
    border-radius: 20px;
	padding: 2rem;
	width: 20rem;
	box-sizing: border-box;
}

.content_navigation_outer .content_navigation_inner ul.content_navigation {list-style: outside decimal;}

.content_navigation_outer .content_navigation_inner ul.content_navigation li {
	position: relative;
    color: var(--chblue02);
    padding-left: 0.5rem;
    margin-left: 1rem;
    margin-bottom: 1rem;
}
	
.content_navigation_outer .content_navigation_inner ul.content_navigation li.active {color: var(--chblue);}

.content_navigation_outer .content_navigation_inner ul.content_navigation li.active:before {
	content: '';
	top: 0;
    height: 100%;
	left: -3rem;
	width: 4px;
	background: var(--chyellow);
	position: absolute;
}


@media (max-width: 700px) {
	.content_navigation_outer .content_navigation_inner {width: 100%;}
}


/* MAIN POPUP */

.inquiry_button,
.contact_button ,
.startlocation_button {cursor: pointer;}

.popup_frame_outer {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	max-width: 700px;
	z-index: 9999;
	display: none;
}

#rating_popup {max-width: 1000px;}

.popup_frame_outer.open {display: block;}

.popup_frame_outer::after {
	content: '';
	background: rgba(18, 24, 56, 0.35);
	position: absolute;
	top: -10000%;
	bottom: -10000%;
	right: -10000%;
	left: -10000%;	
	z-index: -1;
}

.popup_frame_inner {
	width: 100%;
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
}

.popup_frame_inner:first-child {
	display: block;
	background: #fff;
}
	
.popup_frame_inner:nth-child(2) {
	display: none;
	background: linear-gradient(193deg, #C2C1FF 0%, #DFF1FD 60%, #fff 100%);
	border: 3px solid #d5e0fe;
}


.popup_frame_inner .popup_frame_headline {
	background: linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 100%);
	padding: 1.5rem 5rem 1.5rem 2rem;
	position: relative;
}

.popup_frame_inner .popup_frame_headline .popup_frame_close {
	border-radius: 1rem;
    background-color: var(--chblue01);
    fill: var(--chblue);
	width: 1rem;
	padding: 0.9rem;
    fill: var(--chblue);
    cursor: pointer;
	position: absolute;
	top: 50%;
	right: 1.5rem;
	transform: translate(0,-50%);
}

.popup_frame_inner .popup_frame_body {
	padding: 2rem;
	overflow-x: hidden;
	max-height: 90vh;
}

.popup_frame_inner .popup_frame_body .popup_frame_city_info {
    background: var(--chxlightyellow);
    padding: 1.5rem;
    border-radius: 20px;
    line-height: 1.3;
	font-size: 0.9rem;
	display: none;
}

.popup_frame_inner .popup_frame_body .popup_frame_city_info .city_info_headline {
	display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 1.15rem;
    gap: 0.6rem;
	margin-bottom: 1rem;
}

.popup_frame_inner .popup_frame_body .popup_frame_city_info .city_info_headline svg {
	width: 0.8rem;
    padding: 0.6rem;
    background: rgb(255, 255, 255);
    border-radius: 3rem;
	fill: var(--chyellow);
}

.popup_frame_inner .popup_frame_body .process_steps {
	display: flex;
    flex-direction: row;
    justify-content: space-between;
	margin-bottom: 2rem;
	counter-reset: step;
}

.popup_frame_inner .popup_frame_body .process_steps > div {
	width: 20%;
    text-align: center;
    font-size: 0.9rem;
    font-weight: 600;
	height: 5rem;
	color: var(--chblue03);
	position: relative;
}

.popup_frame_inner .popup_frame_body .process_steps > div.active {
	color: var(--chblue);
	
}

.popup_frame_inner .popup_frame_body .process_steps > div::before {
	counter-increment: step;
  	content: counter(step);
	background: var(--chlightblue);
    width: 2.5rem;
    height: 2.5rem;
    position: absolute;
    border-radius: 2rem;
    top: 2rem;
    left: 50%;
    transform: translate(-50%, 0);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--chblue03);
	font-weight: 600;
	font-size: 1rem;
	z-index: 1;
}

.popup_frame_inner .popup_frame_body .process_steps > div:not(:first-child)::after {
	content: '';
    position: absolute;
    top: 3.15rem;
    left: -69.6666%;
    background: var(--chblue01);
    height: 1px;
    width: 106.6666%;
	z-index: 0;
}

.popup_frame_inner .popup_frame_body .process_steps > div.active::before {
	opacity: 1;
	color: #fff;
	background: var(--chblue);
}

.popup_frame_inner .popup_frame_body .process_steps > div.active::after {
	color: var(--chblue);
	background: var(--chblue);
}

.popup_frame_inner .popup_frame_body .hint {
	width: 80%;
	margin: 0 10% 1rem 10%;
	text-align: center;
	line-height: 1.35;
}

.popup_frame_inner .popup_frame_footer {
	border-top: 1px solid var(--chblue02);
	margin-top: 1.5rem;
	padding-top: 2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1rem;
}

.popup_frame_inner .popup_frame_footer > div {
	display: flex;
	flex-direction: row;
	gap: 0.5rem;
	align-items: center;
}

.popup_frame_inner .popup_frame_footer svg {
	width: 1.4rem;
    margin-right: 0.2rem;
}


@media (max-width: 700px) {
	
	.popup_frame_outer {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: auto;
		max-width: none;
		transform: none;
	}
	
	.popup_frame_outer::after {display: none;}
	
	.popup_frame_inner {border-radius: 0;}
	
	.popup_frame_inner .popup_frame_headline {padding: 1.3rem 5rem 1.3rem 1.5rem;}
	
	.popup_frame_inner .popup_frame_headline .popup_frame_close {right: 1rem;}
	
	.popup_frame_inner .popup_frame_body {
    	overflow-y: auto;
    	max-height: calc(100% - 10.2rem);
	}
	
	.popup_frame_inner .popup_frame_footer > div {flex-direction: column;}
}

.contact_form .contact_step,
.inquiry_form .inquiry_step {
	flex-direction: column;
    gap: 1.5rem;
	display: none;
}

.contact_form .contact_step.is-active,
.inquiry_form .inquiry_step.is-active {display: flex;}

.inquiry_event_tiles_list {
	display: flex;
	gap: 2rem;
	position: relative;
}

.inquiry_event_tiles_list .slick-track {padding-bottom: 8px;}

.inquiry_event_tiles_list .inquiry_event_tile {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(242deg, #C2C1FF 0%, #DFF1FD 100%);
    display: flex;
    flex-direction: column;
	border: 3px solid #d0d8fe;
	cursor: pointer;
	width: 11.5rem !important;
}

.inquiry_event_tiles_list .inquiry_event_tile.selected {border: 3px solid var(--chgreen);}

.inquiry_event_tiles_list .inquiry_event_tile > div:nth-child(1),
.inquiry_event_tiles_list .inquiry_event_tile > div:nth-child(2) button {
	margin: 1rem 1rem 0 1rem;	
}

.inquiry_event_tiles_list .inquiry_event_tile > div:nth-child(2) {
	margin-top: auto;
    display: flex;
    flex-direction: column;
	padding-bottom: 1rem;
}

.inquiry_event_tiles_list .inquiry_event_tile .inquiry_event_tile_image {
    background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
    padding-top: 100%;
    width: 100%;
}

.inquiry_event_tiles_list .inquiry_event_tile .button {
	margin-bottom: 0.75rem;	
}

.inquiry_event_tiles_list .inquiry_event_tile .select_radio {
	margin: 0 auto;
	width: 6px;
	height: 6px;
	padding: 7px;
	border: 1px solid var(--chblue);	
	border-radius: 1rem;
	background: #fff;
	margin-bottom: 1rem;
}

.inquiry_event_tiles_list .inquiry_event_tile.selected .select_radio {
	border: 8px solid var(--chgreen);
	padding: 0;
}

@media (max-width: 700px) {

	.inquiry_event_tiles_list {flex-direction: column;}
	
	.inquiry_event_tiles_list .inquiry_event_tile {
		width: calc(100% - 2rem) !important;
	  display: grid;
	  grid-template-columns: 40% 60%;
	  grid-template-rows: auto auto auto;
	  padding: 1rem;
	}
	
	.inquiry_event_tiles_list .inquiry_event_tile > div:nth-child(2) {
	  grid-column: 1;
	  grid-row: 1 / span 3;
	  width: 100%;
	  height: 100%;
	  padding-bottom: 0;
	  padding-top: 0;
	  background-position: left center;
	}

	.inquiry_event_tiles_list .inquiry_event_tile > div:nth-child(1) {
	  grid-column: 2;
	  grid-row: 1;
	  margin: 0 0 1rem 0;
	}
	
	.inquiry_event_tiles_list .inquiry_event_tile > :nth-child(3) {
	  grid-column: 2;
	  grid-row: 2;
		margin-bottom: 1rem;	
	}
	
	.inquiry_event_tiles_list .inquiry_event_tile > :nth-child(4) {
	  grid-column: 2;
	  grid-row: 3;
	  margin-bottom: 0;
	}
	

}

@media (max-width: 500px) {
	
	.contact_form .contact_step > .form_row:not(.no_row_break),
	.inquiry_form .inquiry_step > .form_row:not(.no_row_break) {flex-direction: column;}

	.inquiry_form .inquiry_step > .form_row.inquiry_step_buttons > div:first-child {order: 1}
	
}

.calendar {
	background:#fff;
	border: 1px solid var(--chblue02);
	border-radius: 1rem;
	width: 100%;
	box-sizing: border-box;
	padding: 1.5rem;
	max-width: 30rem;
}

.inquiry_form .calendar {max-width: 30rem;}

.calendar .cal-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.calendar .cal-title {
	font-weight: 700;
	font-size: 1.2rem;
}

.calendar .nav {
	display: flex;
	gap: 0.5rem;
}

.calendar .nav button {
	appearance: none;
	border: none;
	background: var(--chblue01);
	width: 2rem;
	height: 2rem;
	display: grid;
	place-items: center;
	border-radius: 0.5rem;
	cursor: pointer;
    color: var(--chblue);
    font-weight: 300;
    text-align: center;
    box-sizing: border-box;
}

.calendar .nav button svg {
    width: 1rem;
    fill: var(--chblue);
}

.calendar .cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0.5rem;
	justify-content: center;
}

.inquiry_form .calendar .cal-grid {grid-template-columns: repeat(7, minmax(0, 3rem));}

.calendar .dow {
	font-size: .9rem;
	color: var(--chblue);
	text-align: center;
	padding: .5rem 0;
	user-select: none;
}

.calendar .day {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: grid; 
	place-items: center;
	font-weight: 600;
	cursor: pointer;
	position: relative;
	isolation: isolate;
	color: rgba(102,102,102,1);
	outline: none;
	background: transparent;
	font-size: clamp(0.9rem,2.9vw,1rem);
}

.calendar .day:focus-visible {box-shadow: 0 0 0 2px #e8ebff, 0 0 0 4px var(--chblue);}

.calendar .day:not(.selected):not(.today):not(.past):not(.outside):not(.few):not(.some):hover {background: rgba(102, 102, 102, 0.1);}

.calendar .day.past,
.calendar .day.outside {
	color: rgba(102,102,102,0.2);
	cursor: default;
}

.calendar .day.outside {opacity: 0.3;}

.calendar .day.few {background: rgba(255,80,0,0.3);}

.calendar .day.some {background: rgba(255,212,0,0.35);}

.calendar .day.past:not(.today)::before {
	content: '';
	position: absolute;
	width: 60%;
    height: 1px;
    background: rgba(102, 102, 102, 0.2);
    transform: rotate(-45deg);
}



.calendar .day.today {
	color: var(--chblue);
	box-shadow: inset 0 0 0 2px var(--chblue);
}

.calendar .day.selected {
	background: var(--chblue);
	color: #fff;
}

.inquiry_form .date_selector {
	display: flex;
	gap: 5%;
	width: 100%;
	height: 29.5rem;
}

.inquiry_form .date_selector .calendar {
	flex: 0 0 70%;
}

.inquiry_form .date_selector .timetable {
	flex: 0 0 25%;
	max-height: 100%;
	overflow-y: auto;
	display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-right: 1rem;
	padding-bottom: 1px;
    box-sizing: border-box;
}

.inquiry_form .date_selector .timetable .time {
	background: #fff;
	padding: 0.595rem;
	display: flex;
	align-items:center;
	justify-content: center;
	color: rgba(1,15,112,0.4);
	border: 1px solid var(--chblue02);
	border-radius: 1rem;
	font-weight: 600;
	font-size: clamp(0.9rem,2vw,1rem);
	cursor: pointer;
}

.inquiry_form .date_selector .timetable .time.selected {
	border: 1px solid var(--chblue);
	color: #fff;
	background: var(--chblue);
}

.grecaptcha-badge {
	width: 0px !important;
	height: 0px !important;
	visibility: hidden !important;
	opacity: 0 !important;	
}

.popup_frame_inner .status_indicator {
	width: 2rem;
    height: 2rem;
    padding: 1rem;
    border-radius: 4rem;
    margin: 0 auto 1.2rem auto;
    display: block;
}

.popup_frame_inner .contact_success .status_indicator,
.popup_frame_inner .inquiry_success .status_indicator {
    fill: var(--chgreen);
	background: #f4f8ff;
}

.popup_frame_inner .contact_error .status_indicator,
.popup_frame_inner .inquiry_error .status_indicator {
    fill: #fff;
	background: var(--chred);
}


@media (max-width: 600px) {
	
	.inquiry_form .date_selector {
		flex-direction: column;
		height: auto;
		gap: 1rem;
	}
		
	.inquiry_form .date_selector .timetable {
		flex-direction: row;
		overflow-x: auto;
		flex: 0 0 17%;
		padding-right: 0;
		padding-bottom: 1rem;
	}

}

.rating_group {position: relative;}

.rating_group .error-msg {
    font-size: .75rem;
    color: var(--chred);
    position: absolute;
    width: 100%;
    text-align: left;
    bottom: -1rem;
	display: none;
}

.rating_group.has-error .error-msg {display: block;}

.rating_group textarea.border {border: 1px solid var(--chblue);}

.rating_options {
    width: 30%;
    max-width: 400px;
    display: flex;
    gap: 1rem;
	justify-content: center;
}

.rating_options .rating_icon {
	aspect-ratio: 1 / 1;
    width: 20%;
	max-width: 3rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;	
}

.rating_options .rating_icon.star_1 {background-image: url(/images/smiley_1.png);}
.rating_options .rating_icon.star_2 {background-image: url(/images/smiley_2.png);}
.rating_options .rating_icon.star_3 {background-image: url(/images/smiley_3.png);}
.rating_options .rating_icon.star_4 {background-image: url(/images/smiley_4.png);}
.rating_options .rating_icon.star_5 {background-image: url(/images/smiley_5.png);}

.rating_options .rating_icon.is-other {
  opacity: .3;
  filter: grayscale(0.5);
}


/* ----- FLOATING CTA ----- */


.inquiry_cta_float {
	position: fixed;
	top: 50%;
	transform: translate(0,-50%);
	right: 20px;
	background: linear-gradient(193deg, #C2C1FF 0%, #DFF1FD 70%);
	border-radius: 20px;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	z-index: 99;
	width: 18vw;
    max-width: 17rem;
	box-shadow: -4px 3px 8px 0 rgba(0, 0, 0, .07);
}

.inquiry_cta_float .headline {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.inquiry_cta_float .headline .inquiry_cta_close {
    border-radius: 0.7rem;
    background-color: var(--chblue01);
    fill: var(--chblue);
    width: 0.7rem;
    padding: 0.9rem;
    cursor: pointer;
}

.inquiry_cta_float .body {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	padding-top: 1.5rem;
}

.inquiry_cta_float .body .contact_person {
	display: flex;
	gap: 1rem;
}

.inquiry_cta_float .body .contact_person .avatar_wrapper {width: 35%;}

.inquiry_cta_float .body .contact_person .avatar {
	width: 100%;
    aspect-ratio: 1 / 1;
    background: url(/images/customer-support-agent.webp) -0.3rem 0 / 140% no-repeat, #fff;
    border-radius: 50%;
}

.inquiry_cta_float .body .contact_person > div:nth-child(2) {
	display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.inquiry_cta_float .body .contact_person > div:nth-child(2) > div:nth-child(2) {
	line-height: 1.2;
    font-size: 0.9rem;
}

.inquiry_cta_float .body .contact_person > div:nth-child(2) > div:nth-child(3) {
	font-weight: 600;
}

.inquiry_cta_float .body .contact_person > div:nth-child(2) > div:nth-child(3) svg {
	width: 1rem;
	fill: var(--chblue);	
	margin-right: 0.3rem;
}

.inquiry_cta_float .body .button {height: 3rem;}

@media (max-width: 1300px) {
	
	.inquiry_cta_float {display: none;}
	
	.inquiry_cta_mobile {display: block;}
	
	.inquiry_cta_float .headline,
	.inquiry_cta_float .body {display: none;}
}


/* ----- IMAGE LIGHTBOX ----- */

.lb-overlay{
	position:fixed;
	inset:0;
	background:rgba(18, 24, 56, 0.5);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:999999
}

.lb-overlay[hidden]{display:none}

.lb-stage{
	position:relative;
	max-width:90vw;
	max-height:90vh;
	display:flex;
	align-items:center;
	justify-content:center;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .5);
    border-radius: 20px;
}

.lb-img{
	max-width:90vw;
	max-height:90vh;
	object-fit:contain;
	user-select:none;
	border-radius: 20px;
}

.lb-btn{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    right: -4rem;
    background: #fff;
    cursor: pointer;
    border-radius: 0.7rem;
    fill: var(--chblue);
    width: 1rem;
    padding: 0.9rem;
    cursor: pointer;
	border:none;
}

.lb-prev{left:-4rem}

.lb-next{right:-4rem}

.lb-close{
	position: absolute;
    top: 0;
    right: -4rem;
    background: #fff;
    cursor: pointer;
    border-radius: 0.7rem;
    fill: var(--chblue);
    width: 1rem;
    padding: 0.9rem;
    cursor: pointer;
}

@media (max-width:700px){
	
	.lb-img{
		max-width: calc(100vw - 2rem);
	}
	
	.lb-prev{
		left: calc(50% - 4rem);
        bottom: -5rem;
        top: auto;
	}
	
	.lb-next{
		right: calc(50% - 4rem);
        bottom: -5rem;
        top: auto;
	}
	
	.lb-close{
		top: 1rem;
        right: 1rem;
        position: fixed;
		
	}
}