@charset "UTF-8";
/*
** Ein Stylesheet für Tandem San Sebastian  **
** Ludger Müller, bureau-artbeit.de;
** unter Verwendung verschiedener Quellen **
*/
/* This webfont is generated by http://fontello.com open source project. */
@font-face {
  font-family: "fontello";
  src: url("../fonts/fontello.eot");
  src: url("../fonts/fontello.eot#iefix") format("embedded-opentype"), url("../fonts/fontello.woff") format("woff"), url("../fonts/fontello.ttf") format("truetype"), url("../fonts/fontello.svg#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: 0.2em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-email:before {
  content: "\e800";
}

.icon-info:before {
  content: "\e801";
}

.icon-download:before {
  content: "\e802";
}

.icon-pencil:before {
  content: "\e803";
}

.icon-comment:before {
  content: "\e804";
}

.icon-facebook:before {
  content: "\e805";
}

.icon-twitter:before {
  content: "\e806";
}

.icon-instagram:before {
  content: "\e807";
}

.icon-pinterest:before {
  content: "\e808";
}

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
h1, h2, h3, h4, h5, h6, p, ol, ul, li,
fieldset, form, label, legend, img, button, body,
article, aside, canvas, details, embed, fieldset,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, menu, nav, section {
  display: block;
}

html {
  height: 100%;
}

body {
  line-height: 1;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.hideme {
  position: absolute;
  left: -9999em;
  top: -9999em;
}

label, input[type=button],
input[type=submit],
button {
  cursor: pointer;
}

/* Firefox */
:focus {
  outline: none;
}

::-moz-focus-inner {
  border: 0;
}

/* iOS only */
input[type=submit],
input[type=button] {
  -webkit-appearance: none;
}

/* Text-Highlighting */
*::selection {
  background: #0068B1;
  color: white;
}

*::-moz-selection {
  background: #0068B1;
  color: white;
}

*::-webkit-selection {
  background: #0068B1;
  color: white;
}

/* !
 * Contact Buttons Plugin
 * https://github.com/joege/contact-buttons-plugin
 *
 * Copyright 2015, JosÃ© GonÃ§alves
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 */
#contact-buttons-bar {
  position: fixed;
  top: 200px;
  right: 0;
  margin: 0 0 0.3em;
  display: flex;
  flex-direction: column;
}

.contact-button-link {
  display: inline-block;
  width: 32px;
  height: 32px;
  padding: 0;
  text-align: center;
  line-height: 25px;
  font-size: 15px;
  background: #8e8e93;
  color: #fff;
  position: relative;
  bottom: 0;
  -webkit-transition: all 250ms;
  -moz-transition: all 250ms;
  transition: all 250ms;
}

.contact-button-link:hover,
.contact-button-link:focus,
.contact-button-link:active {
  color: #fff;
  padding: 3px 0 0 0;
  margin-left: -5px;
  width: 37px;
}

.cb-container:hover .contact-button-link {
  color: #fff;
  padding: 3px 0 0 0;
  margin-left: -5px;
}

.cb-label {
  padding: 0.5em 0.5em 0 0.3em;
  text-decoration: none;
  color: #7d7d7d;
  font-size: 0.8em;
  -webkit-transition: all 250ms;
  -moz-transition: all 250ms;
  transition: all 250ms;
}

.cb-container:hover .cb-label {
  font-size: 0.9em;
}

/*.contact-button-link.cb-hidden {
  left: -50px;
}*/
.contact-button-link.blog {
  background: #A32E25;
}

.contact-button-link.facebook {
  background: #3b5998;
}

.contact-button-link.instagram {
  background: #125688;
}

.contact-button-link.twitter {
  background: #1da1f2;
}

.contact-button-link.email, .contact-button-link.download {
  background: #A32E25;
}

.contact-button-link.separated {
  margin-top: 1em;
}

/*
.show-hide-contact-bar,
.contact-button-link.show-hide-contact-bar:focus,
.contact-button-link.show-hide-contact-bar:active {
  background: transparent;
  color: #000;
  border: 0;
  outline: 0;
  padding: 0;
  width: 30px;
}
.contact-button-link.show-hide-contact-bar:hover {
  color: #000;
  background: #ccc;
  padding: 0;
  width: 50px;
}*/
/* Social Icons */
* {
  box-sizing: border-box;
}

body {
  font: 400 14px/1.5 "Open Sans", Helvetica, "Helvetica Neue", Arial, sans-serif;
  color: #555555;
}

.wrapper {
  display: block;
}

/* ===================
ALL: Orange Theme
=================== */
.contentwidth {
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 0.5rem;
  display: flex;
  flex-wrap: nowrap;
}

.main-container {
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 0.5rem;
  display: flex;
  flex-wrap: wrap;
}

.row {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

/* Head  */
#headwrapper {
  position: relative;
  background: url(../images_layout/wave_top_bg.jpg) center top repeat-x;
}

#head {
  height: 175px;
  justify-content: space-between;
  align-items: flex-start;
}

.logoWrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
}
.logoWrapper img {
  max-width: 100%;
  height: auto;
}
.logoWrapper .logo-wrapper-inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
}

.headlogo {
  padding: 0;
  width: 117px;
  height: 162px;
}
.headlogo .logo {
  box-shadow: 0 6px 5px -2px #BABABA;
  width: 100%;
  height: auto;
}
.headlogo a {
  line-height: 0;
}

.additionalLogos {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.additionalLogos .cervantesLogo {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  width: 100px;
  height: auto;
  background-color: #fff;
  box-shadow: 0 6px 5px -2px #BABABA;
}

.headclaim {
  color: #ffffff;
  font-size: 20px;
  font-weight: 300;
  padding: 15px 16px 0 16px;
}

.headclaimStrong {
  font-weight: 600;
  font-size: 1.5rem;
}

#thirtyfive {
  width: 140px;
}

.headbooking {
  background-color: #F1A40A;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.5) 2.4px 2.4px 10px;
  padding: 0 0.5rem;
  margin: 15px 15px 0 0;
  text-align: center;
  vertical-align: center;
  cursor: pointer;
  transition: all 0.3s;
}
.headbooking a:link, .headbooking a:visited, .headbooking a:hover, .headbooking a:active {
  text-decoration: none;
}
.headbooking:hover {
  background-color: #003375;
}
.headbooking .ctaText {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
}
.headbooking img {
  vertical-align: baseline;
}

.headlanguages {
  color: #ffffff;
  padding: 3px 5px 5px;
  margin-top: 1rem;
  position: relative;
}
.headlanguages:hover, .headlanguages.open {
  background-color: rgba(240, 164, 9, 0.9);
}
.headlanguages .languageMenuHeadline {
  padding: 0 5px 0;
}
.headlanguages ul {
  position: absolute;
  z-index: 1000;
  min-width: 105px;
  top: 29px;
  left: 0;
  padding: 0;
  margin: 0;
  height: 0;
  overflow: hidden;
  background-color: rgba(240, 164, 9, 0.9);
  box-shadow: rgba(0, 0, 0, 0.5) 2.4px 2.4px 5px;
}
.headlanguages ul li {
  display: block;
  padding: 5px 5px;
  margin: 0;
  line-height: 1.5;
}
.headlanguages ul li:hover {
  background-color: #A32E25;
}
.headlanguages:hover ul, .headlanguages.open ul {
  height: auto;
}
.headlanguages a {
  color: #fff;
  padding: 0;
  margin: 0;
  text-decoration: none;
}
.languageMenuHeadline {
  font-weight: 600;
  cursor: pointer;
}

.headsocial img {
  margin-left: 10px;
  float: right;
}

.featureset {
  position: relative;
  margin: 2rem -12px 0;
  display: flex;
  flex-wrap: nowrap;
  max-width: 1200px;
}

.featureset:last-of-type {
  margin-bottom: 3rem;
}

div.feature {
  flex: 1 0 auto;
  width: 33%;
  line-height: 1.5;
  position: relative;
  padding: 0 12px;
}

div.feature img {
  /* margin-bottom: 20px;*/
  position: relative;
  box-shadow: 0 15px 6px -6px #BABABA;
  width: 100%;
  height: auto;
}

.feature .featureimagewrapper {
  position: relative;
  width: 100%;
  margin-bottom: 1.2rem;
}

div.feature h2 {
  margin: 0;
  font-family: "Open Sans", Helvetica, Helvetica Neue, Arial, sans-serif;
  font-size: em(24);
  line-height: em(24);
  font-weight: normal;
  color: #555;
  background-color: rgba(237, 237, 237, 0.8);
  position: absolute;
  bottom: 5px;
  padding: 0.2em 0.1em 0.1em;
}

div.feature.sector h2 {
  margin: 0;
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 1.8em;
  line-height: 1.2em;
  font-weight: bold;
  color: #555;
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  bottom: 5px;
  width: 40%;
  height: 100%;
  right: 0;
  padding: 0.2em 0.1em 0.1em 0.2em;
  vertical-align: bottom;
  display: table-cell;
}

div.feature a {
  text-decoration: none;
  color: #555555;
}

header + .main-container {
  margin-top: 2em;
}

div.column {
  padding: 0 16px;
  width: 62%;
}

div.asidecolumn {
  padding: 0 16px;
  width: 33%;
}

div.singlecolumn {
  width: 95%;
}

.newssection {
  margin-top: 1em;
}
.newssection::after {
  clear: both;
  content: "";
  display: table;
}

.newssection h1 {
  font-size: 1.5rem;
  color: #003375;
  margin-bottom: 1em;
}

.newsteaser {
  list-style: none;
  padding: 0;
  margin-bottom: 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem 1rem;
}

.newsteaser li {
  width: calc(33% - 1rem);
  padding: 0 0.5em 0.5em;
  border: 1px solid #c6c6c6;
  box-shadow: 5px 10px 10px -6px #BABABA;
}

.newsteaser img {
  display: block;
  margin: 8px auto;
  max-width: 100%;
  height: auto;
}

.newsteaser h2 {
  margin: 0;
  font: 400 1.3em/1.3em "Open Sans", Helvetica, Helvetica Neue, Arial;
  color: #003375;
}

.newsteasertext p {
  margin-top: 0px;
}

/* Newsseite */
.newsList li.newsblock {
  margin-bottom: 2em;
  background: none;
  border: 1px solid #ededed;
  box-shadow: rgba(0, 0, 0, 0.5) 2.4px 2.4px 10px;
  padding: 10px 10px;
  display: flex;
  flex-wrap: nowrap;
}
.newsList li.newsblock .switch {
  cursor: pointer;
}

.newsImage {
  width: 40%;
  padding-right: 1rem;
}

.newsDate {
  font-size: 0.8rem;
  color: #7d7d7d;
}

.newsContent {
  padding-top: 1rem;
  width: 60%;
}
.newsContent h2 {
  color: #003375;
}

p.imagerow {
  margin-top: 1em;
}

.imagerow img.wide {
  width: 100%;
  height: auto;
  box-shadow: 0 15px 6px -6px #BABABA;
}
.imagerow img.wide::after {
  clear: both;
  content: "";
  display: table;
}

.imagerow-block {
  padding-top: 15px;
  margin: 0 0 1.5rem 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
}

.imagerow-block img {
  box-shadow: 0 15px 6px -6px #BABABA;
  max-width: 100%;
  height: auto;
}

.imagerow-block a {
  width: calc(50% - 1rem);
  flex: 0 0 auto;
}

div.section {
  margin-top: 1.5em;
}

div.details {
  padding: 3px 0 15px 8px;
}

h4.open {
  padding: 8px 0 0px 0px;
}

aside {
  margin: 0 0 1.5em;
}

aside h2 {
  color: #003476;
  font: 400 30px/36px "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0 0 20px 0;
}

aside h3 {
  color: #003476;
  font: 400 24px/30px "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0 0 10px 0;
}

aside h4 {
  color: #003476;
  font: 400 18px/1.5 "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0 0 10px 0;
}

aside h5 {
  font: 400 14px/1.5 "Open Sans", Helvetica, Helvetica Neue, Arial;
  padding: 0;
  margin: 0;
}

aside h6 {
  font: 400 14px/1.5 "Open Sans", Helvetica, Helvetica Neue, Arial;
  padding: 0;
  margin: 0;
}

aside ul {
  list-style-position: outside;
  margin-left: 0.5em;
  padding-left: 1em;
}
aside ul li {
  margin-bottom: 1em;
}

aside ul.testimonialsHome {
  list-style-position: inside;
  list-style-type: none;
  margin-left: 0em;
  padding-left: 0em;
}
aside ul.testimonialsHome li {
  color: #003375;
  font-weight: bold;
}
aside ul.testimonialsHome em {
  font-weight: normal;
}

.asideteaser {
  list-style: none;
  padding: 0;
}

.asideteaser li {
  margin: 25px 0 0 0;
}

.asideteaser h3 {
  margin: 0;
  font: 400 24px/28px "Open Sans", Helvetica, Helvetica Neue, Arial;
  color: #555555;
}

.asideteaser p {
  margin-top: 5px;
}

.asideteaser img {
  float: left;
  margin: 8px 8px 5px 0;
  border: 1px solid #555555;
}

#sidebar2 a {
  color: #555555;
  text-decoration: underline;
}

aside h5.news a {
  color: #003476 !important;
  text-decoration: none !important;
}

aside h5.news a:hover {
  color: #003476 !important;
  text-decoration: underline !important;
}

aside .date {
  margin-top: 8px;
}

.sidebarbox {
  margin-bottom: 1.5em;
}

.title {
  color: white;
}

#footerwrapper {
  background: #083a76 url(../images_layout/wave_footer_bg.png) center top repeat-x;
  min-height: 300px;
  padding: 5rem 0 2.5rem;
  margin-top: 2.5rem;
  box-shadow: 0 15px 8px 0px #BABABA;
  margin-bottom: 2rem;
}

footer {
  color: white;
  padding: 20px 0;
}

footer ul {
  list-style: url(../images_layout/footer_list-style-image.gif) outside;
  padding: 0 0 0 20px;
  color: #eea427;
}

footer a {
  color: #ffffff;
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

#footerwrapper .colleft,
#footerwrapper .colcenter,
#footerwrapper .colright {
  float: left;
  display: block;
  margin-right: 1.61735%;
  width: 32.2551%;
}

#footer-partner {
  min-height: 100px;
  padding-top: 15px;
}
#footer-partner .contentwidth {
  padding-bottom: 1rem;
  justify-content: space-between;
  flex-wrap: wrap;
}

#footer-partner img {
  display: inline;
}

#footer-partner div {
  text-align: justify;
}

/* ==========================================================================
/* Cookieinfo ******************    */
/* ====================================================================== */
#cookieInfoWrapper {
  background-color: #003375;
  color: #ededed;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  -webkit-box-shadow: 2px 2px 4px #7d7d7d;
  -moz-box-shadow: 2px 2px 4px #7d7d7d;
  box-shadow: 2px 2px 4px #7d7d7d;
}

#cookieInfo {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0.5rem;
  font-size: 0.8rem;
}
#cookieInfo .cookieinfobutton {
  display: inline-block;
  background-color: #F0A409;
  margin-left: 1em;
  color: #003375;
  font-weight: bold;
  cursor: pointer;
  text-align: center;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 2px 2px 4px #2b2b2b;
  -moz-box-shadow: 2px 2px 4px #2b2b2b;
  box-shadow: 2px 2px 4px #2b2b2b;
  padding: 0.1rem 0.5rem;
  transition: background-color 0.3s ease;
}
#cookieInfo .cookieinfobutton:hover, #cookieInfo .cookieinfobutton:active {
  background-color: #A32E25;
  color: #fff;
  -webkit-box-shadow: 2px 2px 4px #2b2b2b;
  -moz-box-shadow: 2px 2px 4px #2b2b2b;
  box-shadow: 2px 2px 4px #2b2b2b;
}
#cookieInfo .linkbutton {
  white-space: nowrap;
  text-decoration: none;
}
/*Verschiedene Klassen */
.imageleft {
  float: left;
  margin: 0 0.5em 0.5em 0;
  padding: 0 0;
  max-width: 50%;
  height: auto;
}

.imageright {
  float: right;
  margin: 0 0 0.5em 1em;
  max-width: 50%;
  height: auto;
}

.responsive {
  max-width: 100%;
  height: auto;
}

/* ==========================================================================
Helper classes
========================================================================== */
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  *text-indent: -9999px;
}

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%;
}

.hidden, .showLater {
  display: none !important;
  visibility: hidden;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix::after {
  clear: both;
  content: "";
  display: table;
}

/* ==========================================================================
Print styles
========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: #000 !important; /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
  * Don't show links for images, or javascript/internal links
  */
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group; /* h5bp.com/t */
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
.menuLink {
  display: none;
}

#navwrapper {
  background-color: #A32E25;
}

/* head navigation */
nav {
  height: 2.8125rem;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 0.5rem;
  /* generell  */
  /* Ebene 2*/
}
nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
nav li.parent.active, nav li.active {
  text-decoration: underline;
  color: #fff;
}
nav a {
  display: block;
  margin: 8px 0 0 0;
  padding: 0;
  text-decoration: none;
  color: #ffffff;
}
nav a:hover,
nav a:visited {
  color: white;
}
nav a:hover {
  text-decoration: underline;
}
nav li.parent > a::after {
  height: 0;
  width: 0;
  border-left: 0.25em solid transparent;
  border-right: 0.25em solid transparent;
  border-top: 0.25em solid #ffffff;
  border-bottom: 0.5em solid transparent;
  display: block;
  float: right;
  content: "";
  margin: 0.6em 0.3em 0.3em;
  position: relative;
}
nav li:first-child a {
  margin-left: 0;
  padding-left: 0;
}
nav li:last-child a {
  margin-right: 0;
  padding-right: 0;
}
nav li ul li {
  display: list-item;
  position: relative;
}
nav ul.level1 > li {
  text-align: center;
  position: relative;
  float: left;
  margin-right: 0;
}
nav ul.level1 > li a {
  margin: 0.5rem 0 0 0;
  padding-right: 22px;
  font: bold 1.2em/1.5em "Open Sans Condensed";
}
nav ul.level2 {
  width: 15em;
}
nav ul.level1 li:nth-child(2) > ul.level2 {
  width: 17em;
}
nav ul.level1 > li:last-child > ul {
  right: 0;
  left: auto;
  width: 5em;
}
nav ul.level2 {
  max-height: 0;
  position: absolute;
  top: -9999px;
  left: -9999px;
  z-index: 1000;
  clear: left;
  text-align: left;
  background-color: #bd3626;
  padding: 0 1em;
  border-radius: 0 0 8px 8px;
  -webkit-transition: max-height 500ms;
  -moz-transition: max-height 500ms;
  -ms-transition: max-height 500ms;
  -o-transition: max-height 500ms;
  transition: max-height 500ms;
  display: block;
}
nav ul.level2 li:last-child {
  margin-bottom: 1em;
}
nav ul.level1 > li:hover > ul {
  top: 2.2em;
  left: 0;
  max-height: 55em;
}
nav ul.level1 > li:last-child:hover > ul {
  top: 32px;
  right: 0;
  left: auto;
}
nav ul.level2 > li {
  margin-top: 0.8em;
}
nav ul.level2 > li a {
  font: bold 1.2em/1.3em "Open Sans Condensed";
}
nav ul.level3 {
  max-height: 0;
  overflow: hidden;
  position: absolute;
  top: 0.5em;
  left: 12em;
  z-index: 1000;
  width: 13em;
  text-align: left;
  background-color: #d9372b;
  padding: 0 1em;
  border-radius: 0;
  -webkit-transition: max-height 500ms;
  -moz-transition: max-height 500ms;
  -ms-transition: max-height 500ms;
  -o-transition: max-height 500ms;
  transition: max-height 500ms;
  display: block;
}
nav ul.level3 li {
  display: block;
}
nav ul.level3 li:last-child {
  margin-bottom: 1em;
}
nav ul.level2 > li:hover ul {
  max-height: 55em;
  z-index: 100;
  border-radius: 0 8px 8px 0;
}
nav ul.level1 > li:last-child(-n+2) ul.level2 li:hover > ul {
  top: 32px;
  right: 0;
  left: auto;
  max-height: 55em;
  width: 10em;
}

/* Subnavigation ***********   */
#vnav {
  padding: 0;
  margin: 0 0 30px 0;
  list-style: none;
}
#vnav ul {
  list-style-type: none;
  list-style-position: inherit;
  margin-left: 0;
  padding-left: 0;
}
#vnav ul li {
  margin-bottom: 0.5em;
}
#vnav a {
  color: #003476;
  text-decoration: none;
  padding: 0 0 0 16px;
  background: url(../images_layout/subnav_bt.gif) left no-repeat;
}
#vnav a:hover {
  text-decoration: underline;
  color: #003476;
}
#vnav .current, #vnav strong {
  text-decoration: underline;
  background: url(../images_layout/subnav_bt_curr.gif) left no-repeat !important;
  color: #003476;
  padding: 0 0 0 16px;
}
#vnav li a:hover {
  text-decoration: underline;
  background: url(../images_layout/subnav_bt_curr.gif) left no-repeat;
}

@media screen and (max-width: 790px) {
  #navwrapper a.menuLink {
    display: block;
    color: #fff;
    font-weight: bold;
    font-size: 1.2em;
    background-color: transparent;
    float: right;
    text-decoration: none;
    padding: 0.8em 1em;
    position: relative;
    padding-right: 5em;
    cursor: pointer;
  }
  #navwrapper a.menuLink span, #navwrapper a.menuLink:after, #navwrapper a.menuLink:before {
    background: #fff none repeat scroll 0 0;
    content: "";
    display: block;
    height: 3px;
    left: 5em;
    position: absolute;
    width: 24px;
  }
  #navwrapper a.menuLink:before {
    top: 1em;
  }
  #navwrapper a.menuLink span {
    top: 1.5em;
  }
  #navwrapper a.menuLink:after {
    top: 2em;
  }
  #navwrapper a.menuLink:hover, #navwrapper a.menuLink.open {
    border-right: none;
    background-color: #F0A409;
  }
  #navwrapper a.menuLink.open:before, #navwrapper a.menuLink.open:after {
    background-color: transparent;
  }
  #navwrapper {
    width: 100%;
    height: auto;
  }
  nav {
    min-width: inherit;
    float: none;
    border: medium none;
    border-collapse: collapse;
    display: block;
    height: auto;
    width: 100%;
    position: relative;
    padding: 0 0.5rem;
    display: block;
  }
  nav, nav ul.level1 ul.level2, nav ul.level3, nav ul.level1 li:nth-child(2) > ul.level2 {
    overflow: hidden;
    background-color: #A32E25;
    -webkit-transition: max-height 500ms ease-out;
    -moz-transition: max-height 500ms ease-out;
    -ms-transition: max-height time ease-out;
    -o-transition: max-height 500ms ease-out;
    transition: max-height 500ms ease-out;
    display: block;
    position: relative;
    float: none;
    width: 100%;
    left: auto;
    top: auto;
    max-height: 0;
  }
  nav.open, nav.open ul.level2.open, nav.open ul.level3.open, nav.open ul.level1 li.open:nth-child(2) > ul.level2 {
    max-height: 200em;
    -webkit-transition: max-height 500ms ease-in;
    -moz-transition: max-height 500ms ease-in;
    -ms-transition: max-height time ease-in;
    -o-transition: max-height 500ms ease-in;
    transition: max-height 500ms ease-in;
    top: auto;
  }
  nav li, nav ul.level1 > li, nav ul.level2 li {
    display: block;
    float: none;
    text-align: left;
    text-decoration: none;
  }
  nav li a, nav li:first-child a {
    color: #fff;
    display: block;
    font-size: 1.5em;
    line-height: 1.2em;
    padding: 0 0 0 0.5em;
  }
  nav li a:hover, nav li a.active, nav li.open > a {
    background-color: #F0A409;
    text-decoration: underline;
  }
  li.parent.open > a::after {
    height: 0;
    width: 0;
    border-left: 0.25em solid transparent;
    border-right: 0.25em solid transparent;
    border-bottom: 0.25em solid #ffffff;
    border-top: 0.5em solid transparent;
    display: block;
    float: right;
    content: "";
    margin: 0.2em 0.3em 0.3em;
    position: relative;
  }
  /* Level 1 */
  ul.level1 {
    margin-bottom: 2em;
  }
  ul.level1 li {
    border-bottom: 1px solid #8e2820;
  }
  ul.level1 li:last-child {
    border-bottom: none;
  }
  nav ul.level1 > li:hover > ul, nav ul.level2 > li:hover > ul {
    max-height: 0;
    top: 0;
    left: 0;
  }
  nav > ul ul li {
    font-size: 0.95em;
  }
  nav > ul ul li {
    width: auto;
  }
}
@media screen and (max-width: 551px) {
  #vnav {
    display: none;
  }
}
.sliderwrapper {
  display: block;
  margin: 0.5rem auto 2rem;
  background: transparent;
  position: relative;
  max-width: 95%;
}

#slidernav {
  position: absolute;
  top: 20px;
  right: 25px;
  z-index: 102;
}

#slidernav a {
  text-decoration: none;
  color: #ffffff;
  font-size: 3em;
  line-height: 1em;
  font-weight: bold;
  padding-left: 0.5em;
}

#slidernav a:first-child {
  padding-right: 0.5em;
}

#slidernav a:hover {
  color: #A32E25;
}

.sliderpagination {
  position: absolute;
  top: 202px;
  left: 30px;
  font: bold 90px/90px Arial, Verdana, sans-serif;
  color: #b6b6b6;
}

.slider {
  position: relative;
  margin-bottom: 2rem;
}

#slideshow {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

#slideshow > div {
  display: none;
}

#slideshow > div.first {
  display: block;
}

.slide {
  margin: 0;
  padding: 0;
  max-width: 100%;
  overflow: hidden;
  line-height: 0;
}

.slide img {
  max-width: 100%;
  height: auto;
}

.slidertext {
  overflow: hidden;
  position: absolute;
  top: 0px;
  right: 0px;
  min-height: 100%;
  max-width: 310px;
  width: 35%;
  margin: 0;
  padding: 40px 15px 0 25px;
  background-color: rgba(237, 237, 237, 0.8);
}

.slidertext h3 {
  color: #a22f24;
  font: 400 30px/36px "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0;
}

.slidertext h4 {
  font: 20px/24px "Open Sans", Helvetica, Helvetica Neue, Arial !important;
  margin: 0;
}

.slidertext p {
  margin-top: 1em;
  line-height: 1;
}

/* pager */
#slideshow div.pager {
  display: block;
  text-align: center;
  width: 100%;
  z-index: 500;
  position: absolute;
  bottom: 0;
  overflow: hidden;
}

.pager span {
  font-family: arial;
  font-size: 50px;
  width: 16px;
  height: 16px;
  display: inline-block;
  color: #003375;
  cursor: pointer;
}

.pager span.cycle-pager-active {
  color: #A32E25;
}

.pager > * {
  cursor: pointer;
}

@media screen and (max-width: 790px) {
  .sliderwrapper {
    margin: 0.5rem auto 2rem 0;
  }
  .slidertext {
    padding: 20px 1px 0 15px;
  }
  .slidertext h3 {
    font: 400 20px/22px "Open Sans", Helvetica, Helvetica Neue, Arial;
  }
  .slidertext h4 {
    font: 16px/20px "Open Sans", Helvetica, Helvetica Neue, Arial !important;
  }
}
@media screen and (max-width: 650px) {
  .sliderwrapper {
    margin: 1.5rem auto 1rem;
  }
  .slider {
    margin-bottom: 1rem;
  }
  .slidertext {
    padding: 20px 1px 0 15px;
  }
  .slidertext h3 {
    font: 400 16px/18px "Open Sans", Helvetica, Helvetica Neue, Arial;
  }
  .slidertext h4 {
    font: 12px/16px "Open Sans", Helvetica, Helvetica Neue, Arial !important;
  }
  .slidertext p {
    font: 11px/14px "Open Sans", Helvetica, Helvetica Neue, Arial !important;
  }
}
@media only screen and (max-width: 480px) {
  .sliderwrapper {
    display: none;
  }
}
.main-container a:link {
  color: #2b2b2b;
  text-decoration: underline;
}
.main-container a:visited {
  color: #7d7d7d;
  text-decoration: underline;
}
.main-container a:hover, .main-container a:active {
  color: #A32E25;
  text-decoration: none;
}

.main-container, aside {
  /* Elemente mit Icons */
}
.main-container a.buttonYellowList, aside a.buttonYellowList {
  background-color: #F0A409;
  color: #fff;
  font-weight: 600;
  padding: 8px 12px;
  text-decoration: none;
  height: 40px;
  border-radius: 5px;
  display: inline-block;
  margin-top: 1rem;
  transition: background-color 300ms;
  box-shadow: 5px 10px 10px -6px #BABABA;
}
.main-container a.buttonYellowList:hover, aside a.buttonYellowList:hover {
  background-color: #003375;
}
.main-container a.buttonBlueList, aside a.buttonBlueList {
  background-color: #003375;
  color: #fff;
  font-weight: 600;
  padding: 8px 12px;
  text-decoration: none;
  height: 40px;
  border-radius: 5px;
  display: inline-block;
  margin-top: 1rem;
  transition: background-color 300ms;
  box-shadow: 5px 10px 10px -6px #BABABA;
}
.main-container a.buttonBlueList:hover, aside a.buttonBlueList:hover {
  background-color: #F0A409;
}
.main-container a.buttonYellowList:after, .main-container a.buttonBlueList:after, aside a.buttonYellowList:after, aside a.buttonBlueList:after {
  content: url("../images_layout/Icons/List-Icon.png");
  margin-left: 10px;
  vertical-align: -30%;
  padding-top: 5px;
}

.featureset a:link {
  color: #2b2b2b;
  text-decoration: none;
}
.featureset a:visited {
  color: #7d7d7d;
  text-decoration: none;
}
.featureset a:hover, .featureset a:active {
  color: #A32E25;
  text-decoration: none;
}

/* article*/
article {
  margin-bottom: 1rem;
}

article h1 {
  color: #003476;
  font: 400 30px/36px "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0 0 15px 0;
}

article h2 {
  margin: 0 0 15px 0;
  font: 400 24px/28px "Open Sans", Helvetica, Helvetica Neue, Arial;
  color: #555;
}

article h3 {
  font: 600 18px/1.5 "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0 0 0 0;
}

article h4 {
  font: 700 14px/1.5 "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0 0 0 0;
}

article h5 {
  font: 600 14px/1.5 "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0 0 0 0;
}

article h6 {
  font: 600 14px/1.5 "Open Sans", Helvetica, Helvetica Neue, Arial;
  margin: 0 0 0 0;
}

article a {
  color: #003476;
  text-decoration: none;
}

article a:hover {
  text-decoration: underline;
}

article ul {
  margin-left: 1rem;
  padding-left: 0;
}

/* Tables*/
table.price, table.yellow, table.yellowtable {
  width: 80%;
  table-layout: auto;
  border-collapse: collapse;
  font-size: 0.8em;
  margin: 1em 0;
  box-shadow: 5px 10px 10px -6px #BABABA;
}

.price tr:nth-child(odd), .yellowtable tr:nth-child(odd) {
  background-color: #f7b735;
}

.price tr:nth-child(even), .yellowtable tr:nth-child(even) {
  background-color: #f9c457;
}

.price tr:hover, .yellowtable tr:hover {
  background-color: #fad17e;
}

.price th {
  width: 40%;
  padding: 5px 1em;
  color: #003375;
  font-weight: bold;
  border: 1px solid #fff;
  text-align: right;
}

.price td {
  width: 80%;
  padding: 5px 1em;
  text-align: right;
  color: #003375;
  font-weight: bold;
  border: 1px solid #fff;
}

.threeColumnTable.price td {
  width: 30%;
}

.threeColumnTable.price td:nth-child(2) {
  border-right: 1px solid #fff;
}

/* Generell*/
hr {
  border: 0;
  height: 1px;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(2, 52, 118, 0.75), rgba(0, 0, 0, 0));
}

/* Formular */
fieldset.bereich {
  border-style: solid;
  border-width: 1px;
  border-color: #f9c966;
  margin-top: 1em;
  padding: 0.4em 1em 1em;
  display: block;
}

legend {
  font-weight: bold;
}

.maxTwo {
  float: left;
  display: block;
  margin-right: 2.4458%;
  width: 48.7771%;
}
.maxTwo::after {
  clear: both;
  content: "";
  display: table;
}
.maxTwo:nth-child(even) {
  margin-right: 0;
}
.maxTwo input {
  width: 100%;
  padding-right: 1em;
}
.maxTwo input.fit {
  width: auto;
}

.activityPack {
  float: left;
  display: block;
  margin-right: 2.4458%;
  width: 100%;
  margin-bottom: 1em;
}
.activityPack::after {
  clear: both;
  content: "";
  display: table;
}

.full {
  float: left;
  display: block;
  margin-right: 2.4458%;
  width: 100%;
}
.full::after {
  clear: both;
  content: "";
  display: table;
}

label {
  font-weight: bold;
  font-size: 0.9em;
  display: block;
  margin: 0.5em 0 0.2em 0;
}

label.inline {
  display: inline;
}

label.inlinelong {
  display: inline-block;
  margin-right: 1em;
}

div.inlineblock {
  float: left;
  display: block;
  margin-right: 2.4458%;
  width: 61.58282%;
}

div.inlineBlockSmall {
  float: left;
  display: block;
  margin-right: 2.4458%;
  width: 25%;
}

input[type=text], input[type=email], input[type=date], input[type=number] {
  font-size: 1.2em;
  background-color: #FDF0D9;
  color: #2b2b2b;
  border: 1px solid #F0A409;
}

input[type=text]:hover, input[type=email]:hover, input[type=date]:hover, input[type=number]:hover {
  background-color: #F0F7FF;
}

.testdenivel p.label {
  font-weight: bold;
}

#smoker {
  margin-top: 0.5em;
}

textarea {
  font-size: 1.2em;
  background-color: #FDF0D9;
  color: #2b2b2b;
  border: 1px solid #F0A409;
  overflow: hidden;
  width: 100%;
}

select {
  font-size: 1.2em;
  border-radius: 0;
  background-color: #FDF0D9;
  color: #2b2b2b;
  border: 1px solid #F0A409;
  cursor: pointer;
  padding: 0.25em 0.5em;
}

select.small {
  min-width: 2em;
}

fieldset.prices {
  border: 1px solid #75b1ff;
  margin-top: 1em;
  padding: 5px 10px 10px 20px;
  display: block;
}

fieldset.prices label {
  float: left;
  width: 15em;
  text-align: right;
  padding-right: 10px;
}

input.pricefield {
  float: left;
  text-align: right;
  background-color: #CCE3FF;
  min-width: 5em;
  margin-right: 3px;
  border: 1px solid #75b1ff;
}

fieldset.prices div.fee {
  height: 2em;
}

input[type=submit] {
  -moz-appearance: none;
  background-color: #0049a8;
  border: medium none;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 1em;
  font-weight: bold;
  line-height: 1;
  padding: 0.75em 1em;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
  margin-top: 1em;
}

input[type=submit]:hover {
  background-color: #003375;
}

/* Niveltest */
.testdenivel p {
  font-size: 0.75em;
  margin: 0 0 0.8em 0;
  line-height: 160%;
}

.testdenivel label {
  font-size: 1em;
}

#leveltest p {
  font-size: 0.9em;
  line-height: 150%;
}

#leveltest label {
  font-size: 1em;
  padding-right: 1em;
}

#leveltest ol {
  list-style-type: decimal;
  list-style-position: outside;
  margin: 0 0 0 10px;
}

#leveltest li {
  font-size: 0.9em;
  line-height: 180%;
  margin: 0 0 20px 0;
}

#leveltest h2 {
  font-size: 1.1em;
  border-bottom: 1px solid #F8CD98;
}

#leveltest span.nobr {
  white-space: nowrap;
}

#leveltest textarea {
  font-size: 12px;
  overflow: visible;
  width: 100%;
  height: 300px;
}

/* // Niveltest */
.messagetext {
  color: #BE7D10;
}

#messagesTxtBox { /*information message */
  padding: 0.5em 0 1em 0;
  margin: 0.5em 0 1em 0;
  color: #BE7D10;
}

@media screen and (max-width: 650px) {
  .activityPack {
    float: left;
    display: block;
    margin-right: 2.4458%;
    width: 100%;
  }
  .activityPack::after {
    clear: both;
    content: "";
    display: table;
  }
  .maxTwo {
    float: left;
    display: block;
    margin-right: 2.4458%;
    width: 100%;
  }
  div.inlineblock {
    float: left;
    display: block;
    margin-right: 2.4458%;
    width: 50%;
  }
}
@media screen and (max-width: 551px) {
  .maxTwo {
    float: left;
    display: block;
    margin-right: 2.4458%;
    width: 48.7771%;
  }
}
/* Modern CSS */
.form-block-wrapper {
  container-name: course-selection;
  container-type: inline-size;
}

.form-block-wrapper-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

@container course-selection (min-width: 550px) {
  .form-block-wrapper-inner {
    flex-direction: row;
    justify-content: space-between;
    gap: 1rem;
  }
}
/* ==========================================================================
Media Queries
========================================================================== */
@media screen and (max-width: 900px) {
  .headclaim {
    display: none;
  }
  .newsteaser li {
    display: block;
    width: calc(50% - 1rem);
    float: none;
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 790px) {
  div.feature.sector h2 {
    font-size: 20px;
  }
  .newsteaser li {
    display: block;
    margin-right: 2.4458%;
    width: 100%;
    float: none;
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 650px) {
  .headbooking {
    display: none;
  }
  div.feature h2 {
    font-size: 16px;
  }
  div.feature.sector h2 {
    font-size: 16px;
  }
  .imageleft {
    float: none;
    margin: 0 0 1em 0;
    padding: 0;
    max-width: 100%;
    height: auto;
  }
  .imageright {
    float: none;
    margin: 0 0 1em 0;
    max-width: 100%;
    height: auto;
  }
  #footerwrapper .colleft, #footerwrapper .colright {
    float: left;
    display: block;
    margin-right: 1.61735%;
    width: 49.19133%;
  }
  #footerwrapper .colcenter {
    display: none;
  }
}
@media screen and (max-width: 551px) {
  #contact-buttons-bar {
    position: static;
    margin: 1rem 0 2rem;
    flex-direction: row;
    justify-content: flex-end;
  }
  .cb-container {
    margin-right: 0.6rem;
  }
  .featureset {
    flex-wrap: wrap;
    padding: 0 16px;
  }
  div.feature {
    width: 100%;
  }
  .newsteaser {
    flex-wrap: wrap;
  }
  div.column {
    display: block;
    margin-right: 1.61735%;
    width: 100%;
  }
  table.price {
    width: 100%;
    table-layout: auto;
    border-collapse: collapse;
    font-size: 0.8em;
    margin: 1em 0;
    box-shadow: 5px 10px 10px -6px #BABABA;
  }
  .imagerow-block {
    flex-wrap: wrap;
  }
  .imagerow-block a {
    max-width: 100%;
    width: auto;
    margin-bottom: 1rem;
  }
  div.asidecolumn {
    display: block;
    margin-right: 1.61735%;
    width: 100%;
    margin-top: 2em;
  }
  .imageleft {
    float: none;
    margin: 0 0 1em 0;
    padding: 0;
  }
  .imageright {
    float: none;
    margin: 0 0 1em 0;
  }
}
@media only screen and (max-width: 480px) {
  #thirtyfive {
    display: none;
  }
  div.feature {
    margin-bottom: 2rem;
    width: 100%;
  }
  div.feature h2 {
    font: 400 20px/24px "Open Sans", Helvetica, Helvetica Neue, Arial;
  }
  div.feature.sector h2 {
    font: bold 20px/24px "Open Sans Condensed", sans-serif;
    padding-top: 1em;
  }
  .singlecolumn {
    padding: 0 1rem;
  }
  /* Newsseite */
  .newsList li.newsblock {
    flex-wrap: wrap;
  }
  .newsImage {
    width: 100%;
    padding-right: 1rem;
  }
  .newsContent {
    padding-top: 1rem;
    width: 100%;
  }
}
@media only screen and (max-width: 420px) {
  /*  .headlogo {

      display: block;
     // margin-right: 1.61735%;
     // width: 25%;
    }*/
}
/*# sourceMappingURL = styles.css.map */

/*# sourceMappingURL=styles.css.map */
