@media screen {

:root {
  --yellow:255, 204, 0;
  --gray-dark:74, 73, 73;
  --gray-dark_filter:brightness(0) saturate(100%) invert(30%) sepia(0%) saturate(51%) hue-rotate(348deg) brightness(92%) contrast(95%);
  --gray-light:244, 244, 244;
  --green:46, 157, 158;
  --violet:159, 48, 130;
  --blue:52, 86, 149;
  --white:#ffffff;
  --white_filter:brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(2548%) hue-rotate(317deg) brightness(119%) contrast(98%);
}


.contao-cookiebar p {
	color: #4a4949;
}

.cc-detail-btn, .cc-detail-btn-details {
	color: #4a4949;
}

html {
	scroll-behavior:smooth;
}

body {
	font-family:"Open Sans", sansserif;
	font-size:.9rem;
	color:rgb(var(--gray-dark));
	background:rgb(var(--gray-light));
	overflow-wrap:break-word;
}

h1 {
	font-size:1.8rem;
	font-weight:normal;
	position:relative;
	margin-bottom:1em;
}

h1::before {
    left:0;
    bottom:-10px;
    position:absolute;
    background:rgb(var(--yellow));;
    width:300px;
	max-width:100%;
    height:2px;
    content:"";
}

h2 {
	font-size:2.0rem;
	font-weight:normal;
	font-variant-caps:all-small-caps;
}

h3 {
	font-size:1.3rem;
	font-weight:bold;
}


.leading_icon img {
    margin-right:10px;
	vertical-align:middle;
	filter:var(--gray-dark_filter);
}

iframe {
	max-width:100%;
}

.hidden {
	display:none;
}

#header, #container .inside>div, #container #home .content, #footer .inside {
	max-width:1920px;
	margin:0 auto;
    padding:25px 150px;
}

#footer .inside {
	padding:20px 150px;
}

#container #home {
	position:relative;
	max-width:unset;
	margin:unset;
    padding:0;
}

#container #home figure {
	height:50vh;
	min-height:350px;
}

#container #home .banner img {
	width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

#container #home .imgOverlay {
	position:absolute;
	bottom:0;
	width:100%;
}

#container #home .content {
	color:#fff;
}

#container #home .content p {
	margin:0;
}


#main a, #footer a {
	color:rgb(var(--gray-dark));
	text-decoration-thickness:2px;
	text-decoration-color:rgb(var(--yellow));;
}

#main a:hover, #footer a:hover {
	background:rgb(var(--yellow));;
}

#main figcaption {
	font-size:.8rem;
	font-style:italic;
}

#footer {
	background-color:var(--white);
	margin-bottom:80px;
	font-size:1rem;
}


#footer .contact_data {
	display:grid;
    grid-template-columns:auto auto auto auto;
	grid-gap:25px;
	margin-bottom:25px;
}

#footer img { 
	max-width:250px;
}


#article_active {
	position:fixed;
    display:none;
	z-index:1;
    transform-origin:0 0;
    transform:rotate(90deg) translate(100px, -24px);
    font-size:1rem;
    background:#fff;
    padding:5px 20px;
    border-radius:20px;
}

#article_active.visible {
	display:block;
}


.logo {
	line-height:0;
	text-align:right;
}

.logo img {
	max-height:80px;
}

.slogan1 {
	font-size:2.5rem;
	font-weight:normal;
	font-variant-caps:all-small-caps;
}

.slogan2 {
	font-size:1.8rem;
	font-weight:normal;
	font-variant-caps:all-small-caps;
	margin-bottom:20px;
}

#main .buttons {
	display:inline-block;
    background:#ffffff33;
    padding:10px;
    border-radius:20px;
}

#container #home .buttons p:first-child {
	margin-left:10px;
	color:rgb(var(--yellow));;
}

.icon_button {
	background:#fff;
	color:rgb(var(--gray-dark));
    padding:0 20px 0 55px;
	height:45px;
    border-radius:45px;
	display:inline-block;
	text-decoration:none;
	white-space: nowrap;
	font-size:1.3rem;
	font-variant-caps:all-small-caps;
	margin:5px;
	position:relative;
	place-content:center;
}

.icon_button:hover {
	background:rgb(var(--yellow));;
}

.icon_button em {
	position:absolute;
	top:0;
	left:0;
	width:45px;
	height:45px;
	background:rgb(var(--yellow));
    padding:5px;
    border-radius:50%;
}

.icon_button img {
	width:100%;
	filter:var(--gray-dark_filter);
	
}

.icon_button .small {
	font-size: .8rem;
    font-variant: initial;
    display:block;
}


.mod_articlelist_wrapper {
	position:absolute;
	top:0;
	left:-50px;
}




.icons_contact a, .icons_legal a, .icons_social a {
	display:inline-flex;
	border-radius:50%;
	padding:5px;
	margin-left:5px;
	color:rgb(var(--gray-dark));
	position:relative;
	overflow:visible;
	text-decoration:none;
}

.icons_contact a:hover, .icons_legal a:hover, .icons_social a:hover {
	background:rgb(var(--gray-light));;
}

.icons_language {
	background:#ddd;
    padding:5px 5px;
	margin-left:5px;
	margin-bottom:5px;
    border-radius:20px;
}

.icons_language a {
	padding:2px;
	color:rgb(var(--gray-dark));
	position:relative;
	overflow:visible;
	text-decoration:none;
}

.icons_language a.active, .icons_language a:hover{
	text-decoration:underline;
}



.gradient figure {
	position:relative;
}

.gradient figure:after {
	content:'';
	position:absolute;
	left:0; top:0;
	width:100%; height:100%;
	display:inline-block;
    background:linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0.65) 100%);
}

.content-image img{
	border-radius:20px;
}

.content-gallery {
	margin-top:20px;
}

.content-gallery ul {
	display:flex;
}

.content-gallery figure, .content-gallery a {
    height: 100%;
}

#main figure {
	line-height:0;
}

#main figure a:hover {
	background:none;
}

.content-gallery img {
    object-fit: cover;
    width: 100%;
	height:100%;
	border-radius:20px;
}

.grid-spanall {
	grid-column:1/-1;
}

h1.grid-spanall {
	margin-bottom:-25px;
}

.grid-c2 {
	display:grid;
    grid-template-columns:1fr 1fr;
	grid-gap:25px;
	margin-bottom:25px;
}

.grid-c1-2 {
	display:grid;
    grid-template-columns:1fr 2fr;
	grid-gap:25px;
	margin-bottom:25px;
}

.grid-c2-1 {
	display:grid;
    grid-template-columns:2fr 1fr;
	grid-gap:25px;
	margin-bottom:25px;
}

.grid-c3 {
	display:grid;
    grid-template-columns:1fr 1fr 1fr;
	grid-gap:25px;
	margin-bottom:25px;
}

.grid-c4 {
	display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
	grid-gap:25px;
	margin-bottom:25px;
}

.card {
    position:relative;
	overflow:hidden;
	padding:20px;
    background-color:var(--white);
    border-radius:20px;
}

.card .top_icon p {
	margin:-20px;
	padding:20px 0 20px 0;
	background:rgb(var(--gray-dark));
	text-align:center;
}

.card .top_icon h2 ~ div>p {
  padding:60px 0 20px 0;
}

.colors .card:nth-child(2) .top_icon p {
	background:rgb(var(--green));
}

.colors .card:nth-child(3) .top_icon p {
	background:rgb(var(--violet));
}

.colors .card:nth-child(4) .top_icon p {
	background:rgb(var(--yellow));
}

.colors .card:nth-child(5) .top_icon p {
	background:rgb(var(--blue));
}

.card .top_icon em {
	font-size:6rem;
	font-weight:bold;
	color:#fff;
}

.card .top_icon img {
	width:100px;
	filter:var(--white_filter);
}

#home .content-image img,  .card .content-image img {
	border-radius:unset;
}

.card .content-image h2, .card .top_icon h2 {
    position:absolute;
	font-variant-caps: initial;
	font-size:1.4rem;
	left:0;
	display:inline-block;
	background:rgb(var(--yellow));
	color:var(--gray-dark);
	padding:10px 30px;
	margin:0;
	border-bottom-right-radius:10px;
}

.card figure {
	margin:-20px;
}

.card picture {
	display:block;
	height:180px;
}

.card figure img {
	height:100%;
	object-fit:cover;
}

.card .title {
	font-weight:bold;
}

.card .flight-time, .card .departure {
	font-weight:bold;
}

.card .highlights h3 {
	font-size:1.0rem;
	margin-bottom:0;
}

.card .icon_button {
	background:rgb(var(--gray-light));
	margin:0;
}

.card>div:last-child p:last-child, .card>div:last-child ul:last-child {
	margin-bottom:0;
}

.mod_article {
	margin:50px 0;
}

.content-accordion {
	border-radius:20px;
	margin-bottom:25px;
	border:0;
}

#faq .content-accordion {
	column-count:2;
    column-gap:20px;
}

.handorgel__header__button {
	position:relative;
	font-size:1rem;
	font-weight:normal;
	background:none;
	padding:10px 25px;
	border:none;
}

.handorgel__header__button::before {
	content:"▸";
	position:absolute;
	left:5px;
}

.content-accordion .handorgel__header {
	background:#fff;
	margin-top:5px;
}

.content-accordion .handorgel__header {
	border-radius:20px;
	break-inside:avoid;
}

.content-accordion .handorgel__header--open {
	border-radius:20px 20px 0 0;
}

.content-accordion .handorgel__header--open button::before {
	content:"▾";
	
}

.content-accordion .handorgel__content {
	background:#fff;
	border-radius:0 0 20px 20px;
	break-inside:avoid;
}

button:hover {
	cursor:pointer;
}

.formbody {
	width:100%;
	max-width:800px;
	display:grid;
    grid-template-columns:1fr 1fr;
	grid-gap:5px;
	margin-bottom:10px;
}

.widget-text, .widget-textarea{
	position:relative;
}

.widget-text label, .widget-textarea label, .widget-text.error p, .widget-textarea.error p {
	position:absolute;
	bottom:5px;
	margin:0;
	padding-left:20px;
	font-size:.8rem;
	transition:font-size 200ms ease-in-out;
}

.widget-text.error label, .widget-textarea.error label {
	display:none;
}

.widget-text.error input {
	background:rgb(var(--yellow));;
}

input:focus, textarea:focus {
	outline:none;
}

.widget-text label:has(+ input:focus), .widget-textarea label:has(+ textarea:focus) {
	font-size:.6rem;
}

input[type=text],input[type=email],input[type=tel],textarea {
	background:#fff;
	padding:5px 20px 20px 20px;
	border-radius:20px;
	border:none;
	width:100%;
}

.formbody button {
	background:#ddd;
	padding:5px 20px;
	border-radius:20px;
	border:none;
	background:rgb(var(--yellow));;
}

.altcha {
	border-radius:25px;
	background:#fff;
	border:none;
	margin-top:-3px;
	max-width:none;
}

}

@media screen and (max-width: 1300px) {

#header, #container .inside>div, #container #home .content, #footer .inside  {
    padding-left: 100px;
    padding-right: 50px;
}

}

@media screen and (max-width: 950px) {

#header, #container .inside>div, #container #home .content, #footer .inside {
    padding-left: 60px;
    padding-right: 20px;
}

.logo img {
	max-height:40px;
}

.mod_article {
	margin:35px 0;
}

h1 {
	font-size:1.4rem;
}

h2 {
	font-size:1.6rem;
}

.card .content-image h2, .card .top_icon h2 {
	font-size:1.2rem;
}

.icon_button {
	font-size:1.2rem;
	height:40px;
}

.icon_button .small {
	font-size:.7rem;
}

.icon_button em {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 30px;
}

#article_active {
	transform: rotate(90deg) translate(60px, -31px);
    font-size: .9rem;
	padding: 3px 15px;
}

#footer {
	margin-bottom:50px;
}


.formbody {
	grid-template-columns: 1fr;
}

.grid-c1-2 {
	grid-template-columns: 1fr;
}

.grid-c2-1 {
	grid-template-columns: 1fr;
}

.grid-c3 {
    grid-template-columns: 1fr 1fr;
}

.grid-c4 {
    grid-template-columns: 1fr 1fr;
}


#footer .contact_data {
    grid-template-columns: auto auto auto;
}

#footer .contact_data :first-child{
	grid-column: 1 / -1;
}

}

@media screen and (max-width: 800px) {


#faq .content-accordion {
	column-count: 1;
}

#footer .contact_data {
    grid-template-columns: 1fr;
}


}

@media screen and (max-width: 650px) {

.slogan {
	display:none;
}

.formbody {
    grid-template-columns: 1fr;
}

.grid-c2 {
    grid-template-columns: 1fr;
}

.grid-c3 {
    grid-template-columns: 1fr;
}

.grid-c4 {
    grid-template-columns: 1fr;
}

.content-gallery ul {
    flex-direction: column;
	row-gap:20px;
    
}

}