/***** FONTS *****/

@import url(https://fonts.googleapis.com/css?family=Lato:400,100,100italic,300,300italic,400italic,700,700italic,900,900italic);
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);

/***** ANIMATION *****/

@keyframes bounce {
	0% { transform: scale(1); }
	50% { transform: scale(2); }
	100% { transform: scale(1); }
}

@keyframes bounce-inverse {
	0% { transform: scale(1); }
	50% { transform: scale(0); }
	100% { transform: scale(1); }
}

@keyframes bounce-vert {
	0% { right: 1.5rem; }
	50% { right: 2rem; }
	100% { right: 1.5rem; }
}

@keyframes buttonhover {
	0% { transform: scale(1); }
	50% { transform: scale(1.7); }
	100% { transform: scale(1.3); }
}

@-webkit-keyframes animLoadedHeader {
	to { 
    -webkit-transform: translate3d(0,-100%,0);
	}
}

@keyframes animLoadedHeader {
	to { 
    -webkit-transform: translate3d(0,-100%,0);
    transform: translate3d(0,-100%,0); 
	}
}

@-ms-keyframes animLoadedHeader {
	to { 
    -ms-transform: translate3d(0,-100%,0);
	}
}

@-webkit-keyframes rotation {
  from {-webkit-transform: rotate(0deg);}
  to {-webkit-transform: rotate(359deg);}
}

@-moz-keyframes rotation {
  from {-moz-transform: rotate(0deg);}
  to {-moz-transform: rotate(359deg);}
}

@-o-keyframes rotation {
  from {-o-transform: rotate(0deg);}
  to {-o-transform: rotate(359deg);}
}

@keyframes rotation {
  from {transform: rotate(0deg);}
  to {transform: rotate(359deg);}
}

/***** GENERAL *****/

*, html, body {
	font-family: 'Lato', sans-serif;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	background: #fcfcfc;
}

body.noscroll {
	height: 100%;
	overflow: hidden;
}

*:focus {
  outline: none;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Lato', sans-serif;
	margin-left: 5px;
	margin-right: 5px;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
	color: #888888;
}

h2 {
	font-size: 1.5rem;
}

h4 {
	margin-top: 1rem;
}

a {
	transition: color 0.2s ease-in;
}

.center {
	text-align: center;
}

.button {
	border-radius: 5px;
	font-weight: 700;
	position: relative;
	margin-bottom: 3px;
}

.button:hover, .button:focus {
	background-color: #c51a1b;
}

#index-teaser {
	position: absolute;
	z-index: 50;
	border-top-right-radius: 0.5em;
	border-bottom-left-radius: 0.5em;
	border-bottom-right-radius: 0.5em;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2), 0 6px 10px 0 rgba(0,0,0,0.3);
}

.callout {
	background: #ffffff;
	border-radius: 5px;
	border: none;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.37);
	position: relative;
  z-index: 1;
}

.callout h4 {
	margin-top: 0;
}

.accordion-title {
	font-size: 1rem;
}

.accordion-title img {
	height: 20px !important;
	width: auto !important;
	margin-left: 10px;
}

.feature img {
	height: 75vh;
	width: 100%;
	object-fit: cover;
}

.badge {
	font-size: .8rem;
	font-weight: 700;
	padding: 0.1em;
	min-width: 1.7em;
}

.win,
.failure,
.attention {
	margin-left: -1rem;
  margin-right: -1rem;
  border-radius: 0 !important;
	box-shadow: none !important;
	border: none;
	display: none;
}

.win h4,
.failure h4,
.attention h4 {
	margin-top: 0.2rem !important;
}

.win i {
	color: #3adb76;
}

.win h4,
.win h5 {
	color: #3adb76;
	line-height: 1.2;
	margin-bottom: 0;
}

.callout.win p,
.callout.failure p {
	line-height: 1.2;
	margin-bottom: 0.5rem;
}

.failure i {
	color: #c51a1b; 
}

.failure h4,
.failure h5 {
	color: #c51a1b;
	line-height: 1.2;
	margin-bottom: 0;
}

.attention i {
	color: #ffae00;
}

.attention h4,
.attention h5 {
	color: #ffae00;
	line-height: 1.2;
	margin-bottom: 0;
}

.bounce {
	animation: bounce 0.35s cubic-bezier(.37,-0.07,.56,1.42) 0.5s;
}

.form-error {
	margin-top: -0.8rem;
}

/***** PRELOADER *****/

#preloader {
  position: fixed;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #bbdefb;
  z-index: 99999;
}

#preloader.preloader_animation {
  -webkit-animation: animLoadedHeader 1s cubic-bezier(0.7,0,0.3,1) forwards;
  -moz-animation: animLoadedHeader 1s cubic-bezier(0.7,0,0.3,1) forwards;
  -o-animation: animLoadedHeader 1s cubic-bezier(0.7,0,0.3,1) forwards;
  animation: animLoadedHeader 1s cubic-bezier(0.7,0,0.3,1) forwards;
}

#circle {
  position: absolute;
  top:-15px;
  left:-15px;
  margin: 0 auto;
  width: 330px;
  height: 330px;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  -webkit-animation: rotation 1s infinite linear;
  -moz-animation: rotation 1s infinite linear;
  -o-animation: rotation 1s infinite linear;
  animation: rotation 1s infinite linear;
}

#circle:before {
  content: "";
  display: block;
  position: absolute;
  left: -3px;
  top: -3px;
  height: 100%;
  width: 100%;
  border-top: 3px solid #fff;
  border-left: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-right: 3px solid transparent;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
}

.preloader-image {
  position: relative;
  margin: 0 auto;
  top: calc( 50% - 150px);
  width: 300px;
  height: 300px;
  background: none center center no-repeat transparent;
  background-size: cover;
  -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
      -ms-border-radius: 50%;
       -o-border-radius: 50%;
          border-radius: 50%;
}

/***** GALLERY *****/

.gallery-wrapper {
	position: relative;
}

.gallery {
	position: relative;
}

.gallery .gallery-image {
    height: 500px !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 5px;
}

.gallery figcaption {
	text-align: left;
	position: absolute;
  bottom: 0;
  width: 100%;
  padding: 1rem;
  margin-bottom: 0;
  color: #ffffff;
  background-color: rgba(10, 10, 10, 0.5);
	border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.gallery figcaption .img-copy {
	font-size: 0.75rem;
	padding-top: 0.3rem;
	color: #dddddd;
	float: right;
}

.gallery-nav {
	width: 100%;
	padding-left: 5%;
	padding-right: 5%;
	padding-top: 5px;
	border-radius: 5px;
}

.gallery-nav .slick-slide {
	padding: 5px;
	cursor: pointer;
}

.gallery-nav .nav-image {
	max-width: 150px;
	max-height: 150px;
	border-radius: 5px;
}

.gallery-nav .slick-slide {
  	opacity: 0.5;
}

.gallery-nav .slick-slide.slick-current {
	opacity: 1;
}

/***** USER LIST *****/

.user-list-item {
	line-height: 1;
	border-bottom: 1px #dddddd solid;
	transition: background-color 0.2s ease-in;
}

.user-list-item .columns {
	padding: 1rem;
}

.user-list-item .columns.profile-pic-col {
	padding: 0.5rem 0 0.5rem 1rem;
}

.exp-pic {
	width: 3rem;
	height: 3rem;
	border-radius: 1.5rem;
	background: none;
}

.user-section {
	padding: 0;
	overflow: hidden;
}

.us-header {
	background: #efefef;
	padding: 1rem;
}

.us-header h5 {
	margin: 0;
	line-height: 1;
}

.us-content {
	padding: 1rem 3rem;
}

.user-list-item:hover {
	background: #efefef;
}

#user-list .user-list-item:last-child {
	border: none;
}

.user-actions {
	width: 2rem;
	height: 2rem;
	text-align: center;
	border-radius: 1rem;
	padding: 0.5rem;
	margin-bottom: 0;
	margin-left: 0.5rem;
}

#user-list .label i {
	margin-top: 0.1rem;
	font-size: 0.8rem;
}

#user-list .label,
#user-list .label.success,
#user-list .label.alert {
	background: transparent;
  margin-top: 0.4rem;
	margin-bottom: 0.2rem;
}

#user-list .label.alert {
	color: #cc4b37;
}

#user-list .label.success {
	color: #3adb76;
}

.label.success i.fa-circle {
	text-shadow: 0 0 5px #3adb76;
}

#user-edit h3 {
	margin-left: 1rem;
    margin-top: 0.5rem;
}

#user-edit label {
	width: 100%;
}

#user-edit .switch.tiny .switch-paddle {
	width: 2.8rem;
}

/***** HEADER *****/

.menu-button {
	width: 3rem;
	height: 3rem;
	background: #003761;
	border-radius: 1.5rem;
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 1000;
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.4);
	transition: transform 0.5s ease;
}

.is-open + .menu-button {
	transform: translateX(calc(2.5rem - 250px));
}

.menu-button {
  padding: 0.75rem;
  display: inline-block;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-transform: none;
  border: 0;
  margin: 0;
  overflow: visible; }

.hamburger-box {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.1rem; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 1.5rem;
    height: 3px;
    background-color: #ffffff;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -7px; }
  .hamburger-inner::after {
    bottom: -7px; }

.menu-button .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .menu-button .hamburger-inner::before {
    transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; }
  .menu-button .hamburger-inner::after {
    transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.is-open + .menu-button .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .is-open + .menu-button .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; }
  .is-open + .menu-button .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
		transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); }

#off_canvas_menu h6 {
	font-size: 1.5rem;
	font-style: italic;
	margin: 1.5rem 2.3rem;
	line-height: 1.2;
}

#primary_nav_m {
	background: none;
}

#secondary_nav_m {
	background: #d6d6d6;
}

#primary_nav_m > li > a {
	padding: 0.5rem 1rem;
	border-bottom: 1px #dddddd solid;
}

#secondary_nav_m > li > a {
	font-weight: 400;
	font-style: italic;
	padding: 0.5rem 1rem;
	border-bottom: 1px #cccccc solid;
}

ul.is-accordion-submenu > li > a {
	font-size: 0.7rem;
	padding: 0.3rem 1rem;
	border-bottom: 1px #eeeeee solid;
}

.is-accordion-submenu-parent > a::after {
	content: '\f078';
  font: normal normal normal 0.8rem/1 FontAwesome;
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  width: auto;
  height: auto;
  border-top-style: none;
  border-color: transparent transparent transparent;
  margin-top: 0;
  color: #1e552d;
  border: none;
	transition: all 0.3s ease-in;
}

.sticky-container {
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 100;
	pointer-events: none;
}

.top-bar {
	position: absolute;
}

.top-bar .row {
	pointer-events: none;
}

.top-bar ul.row {
	pointer-events: auto;
}

.top-bar .row .top-bar-title,
.top-bar .row .top-bar-left,
.top-bar .row .top-bar-right {
	pointer-events: auto;
}

.sticky.is-anchored {
	position: absolute;
}

.top-bar-right {
	position: relative;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a {
	position: relative;
	padding-right: 2rem;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
	content: '\f078';
	font: normal normal normal 0.8rem/1 FontAwesome;
	position: absolute;
	right: 1.5rem;
	top: 0.8rem;
	border: none;
}

a.menu-link {
	transition: all 0.3s ease-in;
}

a.menu-link:hover {
	color: #c51a1b;
	transition: all 0.1s ease-in;
}

.menu-login {
	width: 10rem;
}

a.menu-link.active,
.dropdown.menu > li.is-dropdown-submenu-parent > a.menu-link.active::after {
	color: #c51a1b;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a.menu-link::after {
	transition: all 0.3s ease-in;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a.menu-link:hover::after {
	color: #c51a1b;
	transition: all 0.1s ease-in;
}

.top-bar .is-dropdown-submenu {
	width: 150px;
	padding: 0.5rem 0;
	border-radius: 5px;
	border: none;
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);
}

#kat_menu .is-dropdown-submenu {
	width: 250px;
}

#reisen_menu .is-dropdown-submenu {
	width: 300px;
}

#facebook_menu a {
	padding-right: 0.2rem;
}

#instagram_menu a {
	padding-left: 0.2rem;
}

.top-bar .is-dropdown-submenu.row .columns {
	padding: 0;
	border-right: 1px solid #dfdfdf;
}

.top-bar .is-dropdown-submenu.row .columns:last-child {
	border-right: none;
}

.top-bar .is-dropdown-submenu a {
	transition: all 0.2s ease-in;
}

.top-bar .is-dropdown-submenu a:hover {
	background: #efefef;
}

.text-protection {
	position: absolute;
	top: 0; left: 0;
	height: 20rem;
	width: 100%;
	background: linear-gradient(to bottom,rgba(255, 255, 255, 0.75),rgba(255, 255, 255, 0));
	z-index: 50;
	opacity: 1;
	pointer-events: none;
	transition: all 0.3s ease-in;
}

.sticky.is-stuck + .text-protection {
	opacity: 0;
	transition: all 0.3s ease-in 0.3s;
}

.simple + .text-protection {
	display: none;
}

.top-bar {
	background: transparent;
	position: relative;
	top: 0;
	left: 0;
	z-index: 100;
	transition: all 0.3s ease-in;
}

.top-bar.simple {
	background: #eeeeee;
}

.top-bar-title,
.top-bar-left,
.top-bar-right {
	transition: all 0.3s ease-in;
}

.top-bar ul {
	background-color: transparent;
}

.top-bar-title {
	padding: 0 0.5rem 0 0;
}

.top-bar .top-bar-left {
	color: #1e552d;
  font-size: 1.2rem;
  line-height: 1;
  font-style: italic;
	width: auto;
  padding-top: 0.75rem;
}

.menu a {
	font-weight: 900;
	color: #1e552d; 
}

.menu.vertical {
	font-size: .8rem;
	font-weight: 700;
	background: #fefefe;
}

.menu > li > a,
.menu > div > li > a {
    display: block;
    padding: 0.3rem 1rem;
    line-height: 1.5;
}

.menu > li > a img, .menu > li > a i, .menu > li > a svg {
    vertical-align: baseline;
}

.menu > li > a > .badge {
	margin-right: .5rem;
}

.menu > li > a:hover > .badge,
.menu > li > a.hovered > .badge {
	animation: bounce 0.35s cubic-bezier(.37,-0.07,.56,1.42);
	z-index: 100;
}

#secondary_nav {
	top: -2rem;
	transition: all 0.3s ease-in;
}

#secondary_nav .is-dropdown-submenu {
	width: 250px;
}

#secondary_nav .is-dropdown-submenu h5 {
	margin: 0 1rem 0;
}

#secondary_nav .is-dropdown-submenu h6.subheader {
	font-size: 0.875rem;
	font-style: italic;
	line-height: 1.2;
	margin: 0 1rem 0.5rem;
}

#secondary_nav > li > a {
	font-weight: 400;
	font-style: italic;
	white-space: nowrap;
	transition: all 0.2s ease-in;
}

#secondary_nav > li > a:hover {
	color: #c51a1b;
}

#secondary_nav a#user-menu::after {
 display: none;
}

.lang-wrapper {
	display: block;
  min-width: 4rem;
	line-height: 1;
	margin-left: 0.15rem;
	margin-right: 0.8rem;
}

.lang-wrapper > a.lang-select {
	display: inline-block;
	text-transform: uppercase;
	color: #888888;
	font-style: normal;
	font-weight: 900;
	font-size: 0.7rem;
	line-height: 1.5;
	background: rgba(255, 255, 255, 0.5);
	padding: 0.3rem 0.5rem;
	height: 100%;
}

.lang-wrapper > a.lang-select:hover {
	color: #c51a1b;
	background: rgba(255, 255, 255, 1);
}

.lang-wrapper > a.lang-select:first-child {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	margin-right: 1px;
}

.lang-wrapper > a.lang-select:last-child {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.lang-wrapper > a.lang-select.active,
.lang-wrapper > a.lang-select.active:hover {
	background: #ffffff;
}

#secondary_nav a#user-menu {
	background: rgba(255, 255, 255, 0.5);
	border-radius: 5px;
	padding: 0.3rem 0.7rem;
	margin: 0 0.15rem;
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 900;
	text-transform: uppercase;
}

#secondary_nav a#kat-tag {
	background: rgba(255, 255, 255, 0.5);
	border-radius: 5px;
	padding: 0.3rem 1.5rem 0.3rem 0.7rem;
	margin: 0 1rem 0 0.15rem;
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 900;
	text-transform: uppercase;
}

#secondary_nav a#kat-tag::after {
	content: '\f078';
  font: normal normal normal 0.6rem/1 FontAwesome;
  position: absolute;
  right: 1.2rem;
  top: 0.7rem;
  border: none;
	transition: all 0.3s ease-in;
}

#secondary_nav a#kat-tag:hover::after {
	color: #c51a1b;
	transition: all 0.1s ease-in;
}

#secondary_nav a#user-menu:hover,
#secondary_nav a#kat-tag:hover {
	background: rgba(255, 255, 255, 1);
}

#secondary_nav #kat_menu ul li a i {
	margin-top: 0.2rem;
	margin-right: 0;
}

#secondary_nav .is-dropdown-submenu a {
	font-weight: 900;
	font-style: normal;
}

#secondary_nav .is-dropdown-submenu a strong {
	font-weight: 900;
	margin-right: 0.5rem;
}

#settings_nav_m {
	width: 140px;
	text-align: right;
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
}

#settings_nav_m > li {
	display: inline-block;
}

#settings_nav_m > li > a {
	background: rgba(255, 255, 255, 0.5);
	border-radius: 5px;
	padding: 0.3rem 0.7rem;
	margin: 0 0 0.15rem 0.15rem;
	font-size: 0.6rem;
	font-style: normal;
	font-weight: 900;
	text-transform: uppercase;
	display: inline-block;
	transition: all 0.2s ease-in;
}

#settings_nav_m > li > a:hover {
	color: #c51a1b;
	background: rgba(255, 255, 255, 1);
}

#settings_nav_m > li > .lang-wrapper > a.lang-select {
	font-size: 0.6rem;
}

#settings_nav_m a#kat-tag_m {
	position: relative;
	padding-right: 1.3rem;
	transition: all 0.2s ease-in;
}

#settings_nav_m a#kat-tag_m.is-active {
	color: #c51a1b;
	background: rgba(255, 255, 255, 1);
}

#settings_nav_m a#kat-tag_m::after {
	content: '\f078';
	font: normal normal normal 0.5rem/1 FontAwesome;
  position: absolute;
  right: 0.6rem;
  top: 0.45rem;
  color: #1e552d;
  border: none;
	transition: all 0.3s ease-in;
}

#settings_nav_m a#kat-tag_m:hover::after,
#settings_nav_m a#kat-tag_m.is-active::after {
	color: #c51a1b;
	transition: all 0.1s ease-in;
}

#kat-menu_m {
	background: #fefefe;
	position: relative;
	display: none;
}

#kat-menu_m:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  top: -0.5rem;
  right: 5.6rem;
  border-left: 0.5rem transparent solid;
  border-right: 0.5rem transparent solid;
  border-bottom: 0.5rem #fefefe solid;
  z-index: 20;
}

#kat-menu_m h5 {
	padding: 1rem 1rem 0;
	margin-bottom: 0;
	line-height: 1.2;
}

#kat-menu_m h6.subheader {
	margin: 0 1rem 0.5rem;
	line-height: 1.2;
}

#kat-menu_m > ul > li > a {
	font-size: 0.7rem;
  padding: 0.3rem 1rem;
  border-bottom: 1px #eeeeee solid;
}

#kat-menu_m > ul > li > a > i {
	margin: 0.15rem -0.15rem 0 0;
}

#settings_nav_m .lang-wrapper {
	margin: 2px 0 0;
	min-width: 3rem;
}

a#user-menu_m {
	background: rgba(255, 255, 255, 0.5);
	border-radius: 5px;
	padding: 0.3rem 0.7rem;
	margin: 0 0.15rem;
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 900;
	text-transform: uppercase;
}

#profile-menu_m {
	background: #fefefe;
	padding-top: 0.5rem;
	display: none;
	position: relative;
}

#profile-menu_m:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  top: -0.5rem;
  right: 1.55rem;
  border-left: 0.5rem transparent solid;
  border-right: 0.5rem transparent solid;
  border-bottom: 0.5rem #fefefe solid;
  z-index: 20;
}

#profile-menu_m .profile-actions {
	border-radius: none;
}

#account-pic_m {
	position: relative;
	top: 0.35rem;
	right: 0;
	margin-left: 0.5rem;
	float: right;
	transition: all 0.5s ease-out;
	z-index: 100;
}

#account-pic_m .profile-pic {
	width: 3rem;
	height: 3rem;
}

#profile-menu_m p:last-child {
	margin-bottom: 0;
}

.logo {
  width: 4rem;
  height: 4rem;
  transition: all 0.3s ease-in;
}

a#account-pic {
	pointer-events: auto;
	transition: all 0.3s ease-in;
}

.profile-pic {
	background: none;
	height: 4rem;
	width: 4rem;
	border-radius: 2rem;
	transition: all 0.3s ease-in;
}

a#account-pic:hover,
a#account-pic.hover {
	transform: translateY(-2px);
}

a#account-pic:hover .profile-pic,
a#account-pic.hover .profile-pic {
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.4);
}

#account {
	display: none;
	float: right;
}

#account-pic {
	width: 4rem;
	height: 4rem;
	margin-top: 1rem;
	display: block;
	transition: all 0.3s ease-in;
}

#profile-menu {
	border: none;
	border-radius: 5px;
	padding: 0;
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);
	pointer-events: auto;
	width: 320px;
}

#profile-menu:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	top: -0.5rem;
	right: 1.5rem;
	border-left: 0.5rem transparent solid;
	border-right: 0.5rem transparent solid;
	border-bottom: 0.5rem #fefefe solid;
	z-index: 20;
}

.profile-details {
	font-size: 0.8rem;
	line-height: 1;
	color: #666666;
	padding: 1rem;
}

.profile-details h6 {
	color: #111111;
	font-weight: 700;
	margin-bottom: 0;
}

.profile-details p {
	line-height: 1.2;
}

.profile-actions {
	background: #efefef;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
	padding: 1rem;
}

.profile-actions .button {
	margin-bottom: 0.5rem;
	width: 8rem;
	margin-left: 0.5rem;
	margin-right: 0.5rem;
}

.is-stuck .logo {
	width: 5rem;
    height: 5rem;
}

.top-bar.is-stuck {
	background: #eeeeee;
	z-index: 100;
	height: 4rem;
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
}

.top-bar.is-stuck .top-bar-title {
	padding-right: 0;
}

.top-bar.is-stuck .top-bar-left {
	padding-top: 1.2rem;
	font-size: 1.5rem;
}

.is-stuck .top-bar-right {
	margin-top: 1rem;
}

.is-stuck #secondary_nav {
	top: -4rem;
}

.is-stuck #account-pic {
	margin-top: 0.5rem;
	padding: 0 0.5rem;
	width: 4rem;
	height: 3rem;
}

.is-stuck .profile-pic {
	width: 3rem;
	height: 3rem;
}

#login {
	min-width: 35rem;
}

#aktuelles_submenu > a {
	color: white;
}

.angebote_travelzoo {
	height: 1.5rem;
}

.angebote_kurier {
	height: 80px;
}


.is-stuck .angebote_kurier {
	height: 50px;
	position: relative;
	bottom: 10px;
}

/***** FOOTER *****/

#footer {
	background-color: #292c2f;
	text-align: center;
	font-size: 1rem;
	width: 100%;
	min-height: 11rem;
	padding: 2rem 4rem;
	position: relative;
	z-index: 80;
	pointer-events: auto;
}

#footer.sticky.is-stuck {
	position: fixed;
	z-index: 5;
}

#footer.simple {
	font-size: 0.8rem;
	height: 7rem;
	min-height: 7rem;
	padding: 1.5rem 3rem;
}

#footer.simple.sticky {
	padding: 1rem 1rem;
	height: 5rem;
	min-height: 5rem;
}

#footer h3.slogan {
	color: #8d9093;
	margin: 0 0 0.5rem;
}

#footer.simple h3.slogan {
	font-size: 1rem;
	margin: 0 0 0.25rem;
}

#footer.simple.sticky h3.slogan {
	font-size: 1.5rem;
	margin: 0.5rem 0 0.25rem;
}

#footer h3 a {
	display: inline-block;
}

#footer p.copyright {
	color: #8f9296;
	font-size: 0.875rem;
	line-height: 1.2;
	margin: 0;
}

#footer.simple p.copyright {
	font-size: 0.75rem;
}

#footer.simple .links {
	margin-bottom: 0.25rem;
}

#footer .links a {
	list-style: none;
	font-weight: bold;
	color: #ffffff;
	padding: .5rem 0 .5rem;
	margin: 0;
}

#footer .links a::after {
	content: "•";
	padding: 0 0.4rem 0 0.8rem;
}

#footer .links a:last-child::after {
	content: "";
	padding: 0 0.4rem 0 0.8rem;
}

#footer.simple.sticky .links a:last-child::after {
	display: none;
}

#cookie-hinweis {
	color: #cccccc;
	background: rgba(0, 0, 0, 0.8);
	width: 100%;
	padding: 2rem 12rem 2rem 3rem;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 120;
	display: none;
}

a#cookie-accept {
	font-weight: 700;
	position: absolute;
	top: 50%;
	right: 3rem;
	padding-left: 3rem;
	padding-right: 3rem;
	margin-top: -1rem;
}

/***** HOME *****/

.hero {
	max-height: 100vh;
	height: 75vh;
}

.hero .slick-arrow {
	height: 40px;
	width: 40px;
	z-index: 50;
}

.hero .slick-prev:before,
.hero .slick-next:before {
	font-size: 40px;
	color: #ffffff;
	opacity: 0.5;
	transition: opacity 0.3s ease-in;
}

.hero .slick-prev:hover:before,
.hero .slick-prev:focus:before,
.hero .slick-next:hover:before,
.hero .slick-next:focus:before
{
	opacity: 1;
}

.hero .slick-prev {
	left: 1rem;
}

.hero .slick-next {
	right: 1rem;
}

/***** ROUTEN *****/

/*g#routes > g.active > g.r_button {
	transform: scale(1);
	transform-origin: 50% 50%;
	transition: all 0.2s ease-out;
}

g#routes > g.active > g.r_button.hovered {
	transform: scale(1.3);
	animation-delay: 0s !important;
	transform-origin: 50% 50%;
	animation: buttonhover 0.35s cubic-bezier(.37,-0.07,.56,1.42);
}*/

.is-drilldown-submenu-parent > a {
	position: relative;
}

.is-drilldown-submenu-parent > a::after {
	content: '\f054';
	font: normal normal normal 0.8rem/1 FontAwesome;
	position: absolute;
	right: 1.5rem;
	top: 0.9rem;
	border: none;
}

.is-drilldown-submenu-parent > a:hover::after,
.is-drilldown-submenu-parent > a.hovered::after {
	animation: bounce-vert 0.35s cubic-bezier(.37,-0.07,.56,1.42);
}

.label {
	font-size: 0.6rem;
	line-height: 1;
	text-transform: uppercase;
	font-weight: 700;
	border-radius: 3px;
}

.label i {
	line-height: 0.8;
	margin-right: 0.1rem;
}

.reveal {
	border: none;
	border-radius: 5px;
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);
}

#reise-modal {
	overflow: visible;
}

#reise-modal .badge {
	position: absolute;
  top: 2rem;
  left: -1.4rem;
  width: 2.8rem;
  height: 2.8rem;
  font-size: 1.6rem;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.4);
}

#reise-modal h3 {
	line-height: 1.2;
	margin: 0.5rem 1rem 0;
}

#reise-modal h5.subheader {
	line-height: 1.2;
	margin: 0 1rem 1rem;
}

#reise-modal h5 {
	margin-top: 1rem;
	margin-bottom: 0;
}

#reise-modal h6 {
	margin-bottom: 1rem;
}

#reise-modal p {
	font-size: 0.875rem;
	font-style: italic;
	line-height: 1.4;
	margin-bottom: 2rem;
}

.modal-image {
	position: relative;
	width: calc(100% + 2rem);
	margin: 0 -1rem;
}

#reise-modal img {
	position: relative;
	width: 100%;
	height: 250px;
	object-fit: cover;
	z-index: -1;
}

#reise-modal .row {
	position: relative;
}

.stages {
	background: #eeeeee;
	padding-top: 1rem; 
	padding-bottom: 1rem; 
	margin-bottom: 1rem;
}

.stage {
	text-align: center;
}

.stage .badge {
	font-size: 1.5rem;
}

.decks label {
	padding: 0 5px;
	border-radius: 3px;
}

h1#reise_name,
h1#schiff_name,
h1#fluss_name {
	margin-bottom: 0;
	font-size: 2.5rem;
}

h1#schiff_name {
	float: left;
}

#schiff_kronen {
	height: 20px;
	width: auto;
	position: relative;
	top: 15px;
	left: 10px;
}

h2#reise_descr,
h2#schiff_descr,
h2#fluss_descr {
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 1.0rem;
	font-size: 1.5rem;
	display: inline-block;
}
#schiff .kronen {
	height: 16px;
	position: relative;
	top: -4px;
	left: 5px;
	width: auto;
}

#fluss-detail h3 {
	font-size: 1.1rem;
	text-align: justify;
}

#fluss-detail #text_top,
#fluss-text #text_bottom {
	text-align: justify;
}

.trigger-fs-modal,
.trigger-fs-deckplan {
	cursor: zoom-in;
	display: block;
	position: relative;
}

.trigger-fs-karte {
	margin-bottom: 1rem;
	border-radius: 5px;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.4);
	position: relative;
	display: block;
	overflow: hidden;
	cursor: zoom-in;
}

#stepmap_logo {
	position: absolute;
	bottom: 5px;
	right: 5px;
	display: none;
	width: 70px;
	height: 17px;
}

#moderator_bild {
	border-radius: 0px;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.4);
	position: relative;
	overflow: hidden;
	display: none;
}

/***** REISE *****/

#reise-detail,
#schiff-detail,
#fluss-detail,
.sonderangebote {
	height: 100%;
	width: 100%;
	padding: 2rem 0;
	background: #fcfcfc;
	position: relative;
	z-index: 60;
}

#reise_intro {
	font-style: italic;
	margin-bottom: 1rem;
	text-align: justify;
}

#main_text, #public_text {
	text-align: justify;
	font-style: italic;	
}

#public_text {
	padding-left: 1rem;
	padding-right: 1rem;
	padding-bottom: 1rem;
}

#reise-add {
	background: #f3f3f3;
	padding: 2rem 0;
}

#schiff-add {
	/*background: #f3f3f3;*/
	background: #ffffff;
	padding: 3rem 0;
}

#schiff-add h3 {
	text-align: center;
}

#schiff-reisen,
#fluss-reisen, {
	background: rgba(32, 150, 212, 0.05);
	padding: 3rem 0;
}

#schiff-reisen h2,
#fluss-reisen h2 {
	text-align: center;
	margin-bottom: 2rem;
}

.zoom-link {
	display: none;
	color: #ffffff;
	font-size: 2rem;
	width: 3.6rem;
	height: 3.6rem;
	border-radius: 1.8rem;
	background: rgba(10, 10, 10, 0.5);
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -1.8rem;
	margin-left: -1.8rem;
	pointer-events: none;
	z-index: 10;
}

#fs-image {
	text-align: center;
	max-height: 100vh;
	max-width: 100vw;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.85);
	padding: 0;
}

#fs-image svg#kategorien {
	display: none;
}

#fs-image.dp_fs img {
	display: none;
}

#fs-image.dp_fs {
	background: rgba(255,255,255,0.85);
}

#fs-image.dp_fs #kategorien {
	transform: scale(0.8);
}

/*#fs-image.dp_fs #kategorien .category .headline {
	opacity: 1;
}*/

#fs-image #fs_loading {
	fill: #ffffff;
	width: 5rem;
	height: 5rem;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -2.5rem;
	margin-left: -2.5rem;
	display: none;
	z-index: 100;
}

#fs-image.dp_fs #fs_loading {
	fill: #003761;
}

#fs-image h3 {
	color: #ffffff;
	margin: 0;
	padding: 1rem 1rem 3rem;
	background: linear-gradient(to bottom,rgba(0, 0, 0, 0.75),rgba(0, 0, 0, 0));
	width: 100%;
	white-space: nowrap;
	position: absolute;
	top: 0;
}

#fs-image.dp_fs h3 {
	color: #003761;
	background: linear-gradient(to bottom,rgba(255, 255, 255, 0.75),rgba(255, 255, 255, 0));
}

#fs-image .fs-error {
	color: #ffffff;
  font-weight: 700;
  line-height: 1;
  font-style: italic;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 5rem;
  padding: 2rem;
  margin-top: -2.5rem;
  text-align: center;
}

#fs-image .fs-error::after {
	content: '\f05e';
  font-family: 'FontAwesome';
  color: rgba(255, 255, 255, 0.2);
  font-size: 10rem;
  font-style: normal;
  position: absolute;
  top: -2.5rem;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: -1;
}

#fs-image .fs-copy {
	color: #aaaaaa;
	font-size: 0.875rem;
	background: linear-gradient(to top,rgba(0, 0, 0, 0.75),rgba(0, 0, 0, 0));
	width: 100%;
	padding: 3rem 1rem 1rem;
	position: absolute;
	bottom: 0;
}

#fs-image.dp_fs .fs-copy {
	background: linear-gradient(to top,rgba(255, 255, 255, 0.75),rgba(255, 255, 255, 0));
}

#fs-image .helper {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

#fs-image img {
	width: auto;
	height: auto;
	object-fit: cover;
	max-width: initial;
	object-position: 50% 50%;
	vertical-align: middle;
	display: none;
}

#fs-image img.zoomed_out {
	max-width: 100vw;
	max-height: 100vh;
	object-fit: contain;
}

#fs-image .fs-controls {
	color: #ffffff;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 1.3rem;
	background: rgba(0, 0, 0, 0.5);
	cursor: pointer;
	position: absolute;
	transition: all 0.3s ease-in;
}

#fs-image .fs-controls.disabled {
	display: none !important;
}

#fs-image .fs-controls:hover {
	background: rgba(0, 0, 0, 1);
}

#fs-image .fs-change {
	top: 50%;
	margin-top: -1.3rem;
}
	
#fs-image .fs-next {
	right: 1rem;
}

#fs-image .fs-prev {
	left: 1rem;
}

#fs-image .fs-zoom {
	top: 1rem;
	left: 1rem;
}

#fs-image .close-button {
	border-radius: 1.3rem;
  width: 2.6rem;
  height: 2.6rem;
  top: 1rem;
  background: #ffffff;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.4);
	transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

#fs-image.dp_fs .close-button {
	color: #ffffff;
	background: #003761;
}

#fs-image .close-button:hover {
	transform: translateY(-3px);
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2), 0 6px 10px 0 rgba(0,0,0,0.3);
}

.detail [type='checkbox'] {
	margin-bottom: 0.3rem;
}

.teilen {
	margin-bottom: 0.5rem;
	font-size: 12px;
	margin-left: 1rem;
}

.details .teilen img {
	width: 25px;
}

.monat-divider {
	height: 2rem;
	margin-bottom: 1.2rem;
	font-weight: 700;
	font-size: 1.5rem;
	width: 100%;
	text-align: center;
}

.card.angebot.kalender {
	height: 200px;
	margin-bottom: 1.5rem;
}

.card.angebot.kalender .card-img {
	position: absolute;
	width: 300px;
	height: 200px;
}

.card.angebot.kalender .card-divider {
	background: #ffffff;
	position: absolute;
	width: 100%;
	bottom: unset;
	padding: 1.25rem;
	z-index: 10;
	overflow: hidden;
	left: 300px;
}

.card.angebot.kalender .card-section {
	position: absolute;
	bottom: unset;
	left: 300px;
	top: 100px;
	background: #ffffff;
	padding: 0 1.25rem 1.25rem 1.25rem;
	width: 100%;
	z-index: 10;
}

.card.angebot .card-img {
	position: absolute;
	width: 100%;
	height: 15rem;
}

.card.angebot img {
	width: 100%;
	height: 15rem;
	object-fit: cover;
	object-position: 50% 50%;
	overflow: hidden;
	transition: all 0.5s cubic-bezier(0.4,0,0.2,1);
}

.card-teaser {
	color: #c51a1b;
	width: 10rem;
	background: #f5e826;
	border-style: solid;
	border-radius: 0rem .5rem .5rem .5rem;
	border-color: #2599d3;
	border-width: .15rem;
	padding: 0;
	text-align: center;
	position: relative;
	font-weight: bold;
	float: right;
	top: -13rem;
	right: 1rem;
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.4);
	transform: rotate(10deg);
	z-index: 10;
}

.preis-text {
	display: table-cell;
	vertical-align: middle;
}

.promo-container {
	right: -6px;
	top: 0.375rem;
	position: absolute;
	list-style-type: none;
	text-align: right;
	margin: 0;
	z-index: 5;
}

.list.angebot .promo-container {
	left: -6px;
	right: auto;
	text-align: left;
}

.book .promo-container {
	right: calc(100% + 1rem);
	top: -0.5rem;
}

.book .promo-container > li {
	display: table-cell;
}

.promo-label {
	background: #dddddd;
	padding: 0.35rem 0.5rem 0.4rem 1.625rem;
	margin-top: 0.5rem;
	border-radius: 3px 0 3px 3px;
	text-transform: uppercase;
	white-space: nowrap;
	font-size: 0.7rem;
	line-height: 1;
	font-weight: 700;
	box-shadow: 0 -1px 3px 0 rgba(0,0,0,0.1), 0 0 6px 0 rgba(0,0,0,0.2);
	position: relative;
	display: inline-block;
}

.list.angebot .promo-label {
	padding: 0.35rem 1.625rem 0.4rem 0.5rem;
	border-radius: 0 3px 3px 3px;
}

.book .promo-label {
	background: rgba(255, 255, 255, 0.75);
	border-radius: 3px;
	margin-left: 1.875rem;
	font-size: 1rem;
}

.promo-label::before {
	content: '';
	width: 0;
	height: 0;
	border-left: 6px #888888 solid;
	border-top: 6px transparent solid;
	border-bottom: 6px transparent solid;
	position: absolute;
	right: 0;
	top: -6px;
	transition: all 0.2s ease;
	z-index: -1;
}

.list.angebot .promo-label::before {
	border-right: 6px #888888 solid;
	border-left: none;
	left: 0;
	right: auto;
}

.book .promo-label::before {
	display: none;
}

.promo-label .promo-icon {
	height: 1.75rem;
	width: 1.75rem;
	padding: 0.375rem 0;
	background: #ffbe0d;
	border-radius: 50%;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	top: 50%;
	left: -0.5rem;
	transform: translateY(-50%);
	position: absolute;
}

.book .promo-label .promo-icon {
	height: 2.25rem;
	width: 2.25rem;
	padding: 0.5rem 0;
	font-size: 1.25rem;
	left: -1.25rem;
}

.list.angebot .promo-label .promo-icon {
	right: -0.5rem;
	left: auto;
}

.amount {
	font-size: 1.7rem;
	line-height: 1;
	font-weight: 900;
	margin: 0 auto;
	display: inline-block;
}

.amount .ab-zusatz {
	font-size: 0.8rem;
	font-weight: 700;
	width: 100%;
	margin-bottom: 0.1rem;
	display: block;
	text-align: left;
	text-indent: 0.2rem;
}

.person-zusatz {
	color: #aaaaaa;
	font-size: 0.8rem;
	font-weight: 700;
	width: 100%;
	display: block;
	text-align: right;
}

.preis-detail {
	line-height: 1;
	font-size: .8rem;
	margin-top: 0;
	padding: 5px;
	border: 1px #cccccc solid;
}

.preis-detail-einzel {
	color: #666666;
	border: 1px #cccccc solid;
	font-size: .8rem;
	line-height: 1;
	margin-top: 0;
	padding: 5px;
}

.preis-detail-einzel span.amount {
	font-size: 1.6rem;
}

a.schiff {
	width: 100%;
	background: #ffffff;
	border: none;
	border-radius: 5px;
	display: block;
	margin-bottom: 2rem;
	position: relative;
	top: 0;
	overflow: visible;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.4);
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

a.schiff:hover {
	top: -3px;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2), 0 6px 10px 0 rgba(0,0,0,0.3);
	transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

a.schiff .bild {
	height: 15rem;
	width: 100%;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	object-fit: cover;
}

a.schiff .card-section h5 {
	line-height: 1;
	margin: 0;
	transition: all 0.2s ease-in;
	float:left;
}

a.schiff:hover .card-section h5 {
	color: #c51a1b;
}

.kronen {
	height: 16px;
	position: relative;
	top: -4px;
	left: 5px;
}

#fluss_karte {
	margin-bottom: 0px;
}



#reise_schiff {
	float: left;
	margin-bottom: 0px;
	line-height: 1;
}

#reise_pdf img {
	width: 1.5rem;
	margin-bottom: 0.75rem;
	margin-left: 0.25rem;
}

#deckplan_schiff {
	padding: 1rem 0 0.5rem;
	margin-top: 2rem;
	height: 260px;
}

#deckplan_schiff #deckplan_svg,
#deckplan_schiff #deckplan_svg .category {
	pointer-events: none;
}

#deckplan_schiff h5 {
	margin: 0 1rem 0 1rem;
}

#tech_data {
	padding: 1rem 0;
}

#tech_data h5 {
	margin: 0 1rem 0.5rem;
}

#tech_data tr td:first-child {
	width: 70%;
	padding-left: 1rem;
}

#tech_data tr td:last-child {
	width: 30%;
	padding-right: 1rem;
}

#texte_misc h4 {
	text-transform: capitalize;
}

#reise_legal {
	color: #666666;
	margin: 0.5rem;
}

#map {
  height: 100%;
}

a.badge:hover {
	color: #ffffff;
}

/* TIMELINE */

.path-container {
	margin-top: 0;
	margin-bottom: 2rem;
	position: relative;
}

.path-container .path-item h1 {
  text-align: center;
  margin-bottom: 4rem;
}

.path-container .path-item h3 {
  margin-bottom: 0.675rem;
  line-height: 1.15;
}

.path-container .path-item p {
	font-size: 1rem;
	text-align: justify;
	line-height: 1.7;
	margin: 0;
}

.path-container .path-item a {
	font-weight: bold;
	font-size: 0.875rem;
}

.path-container .path-item {
	position: relative;
	min-height: 6rem;
}

.path-container .path-item .circle {
  background-color: #dddddd;
  background-size: 5rem 5rem;
  border-radius: 2.5rem;
  width: 5rem;
  height: 5rem;
  position: absolute;
  top: 50%;
	left: 50%;
	margin-top: -2.5rem;
  margin-left: -2.5rem;
  z-index: 2;
  text-align: center;
  display: block;
	cursor: pointer;
  line-height: 5rem;
	transition: all 0.2s ease-in;
}

.path-container .path-item .circle:hover {
	background-color: #cccccc;
}

.path-container .path-item.in-view .circle {
	color: #ffffff;
	transition: all 0.2s ease-in;
}

.path-container .path-item .path-text {
	padding-right: 0;
	padding-left: 0;
}

.path-container .path-item .path-text p {
	padding: 1rem;
	position: relative;
	transition: all 0.2s ease-in;
}

.path-container .path-item .path-text.left {
	text-align: right;
}

.tagesfahrt {
	padding-top: 1rem;
	position: relative;
	background-color: #ffffff;
}

.path-container .path-item.in-view .path-text p {
	background: #ffffff;
	border-radius: 5px;
	transition: all 0.2s ease-in;
}

.path-container .path-item .path-text.left p:after {
	content: '';
	position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  right: -0.5rem;
	margin-top: -0.5rem;
  z-index: 20;
	border-top: 0.5rem transparent solid;
  border-bottom: 0.5rem transparent solid;
	border-left: 0.5rem transparent solid;
	transition: all 0.2s ease-in;
}

.path-container .path-item.in-view .path-text.left p:after {
  border-left: 0.5rem #ffffff solid;
}

.path-container .path-item .path-text.right p:after {
	content: '';
	position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  left: -0.5rem;
	margin-top: -0.5rem;
  z-index: 20;
	border-top: 0.5rem transparent solid;
  border-bottom: 0.5rem transparent solid;
	border-right: 0.5rem transparent solid;
	transition: all 0.2s ease-in;
}

.path-container .path-item.in-view .path-text.right p:after {
  border-right: 0.5rem #ffffff solid;
}

.path-container .line {
  background: #ddd;
  width: 2px;
  bottom: 0;
  position: absolute;
  top: 100px;
  left: 50%;
  margin-left: -1px;
  z-index: 0;
  height: 95%;
}

/***** BOOKING FORM *****/

#booking-tabs {
	background: #eeeeee;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.37);
}

#booking-tabs li {
	text-align: center;
	overflow: hidden;
	pointer-events: none;
}

#booking-tabs li:first-child {
	border-right: 1px solid #dddddd;
}

#booking-tabs li:last-child {
	border-left: 1px solid #dddddd;
}

#booking-tabs li:first-child a {
	border-top-left-radius: 5px;
}

#booking-tabs li:last-child a {
	border-top-right-radius: 5px;
}

#booking-tabs li a {
	font-size: .8rem;
	color: #777;
	padding: .5rem 1rem;
	background: transparent;
	transition: all 0.1s ease-in;
	position: relative;
	z-index: 10;
	pointer-events: none;
}

.tabs {
	border: none;
}

#booking-tabs li .badge {
	color: #777;
	background: transparent;
	border: 2px #777 solid;
	font-size: 1.1rem;
	width: 2rem;
	height: 2rem;
	padding: 0.3rem;
	margin-right: 0.3rem;
}

#booking-tabs li .tab-text {
	position: relative;
	top: -0.1rem;
	margin-top: 0.5rem;
	display: inline-block;
}

#booking-tabs li.is-done a,
#booking-tabs li.in-progress a {
	pointer-events: auto;
}

#booking-tabs li.is-done .badge,
#booking-tabs li.in-progress .badge {
	color: #ffffff;
	background: #777;
	pointer-events: auto;
}

#booking-tabs li.is-active,
#booking-tabs li.in-progress {
	overflow: visible;
	pointer-events: auto;
}

#booking-tabs li.is-active a {
	background: #e6e6e6;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.37);
	padding: 0.7rem 0.5rem;
	margin-top: -0.4rem;
	z-index: 20;
	pointer-events: auto;
}

#booking-tabs li a:hover {
	background: #fefefe;
}

#booking-tabs li.is-active a:hover {
	background: #e6e6e6;
}
	
#kabine-1_details {
	display: block;
}

#kabine-2_details, #kabine-3_details, #kabine-4_details {
	display: none;
}

#book_phone, #book_phone:hover {
	line-height: 1.5rem;
	font-weight: 700;
	margin-bottom: 1rem;
	display: none;
	cursor: default;
}

#check_availibility {
	font-weight: 700;
	margin-bottom: 1rem;
}

.termine .button {
	padding-top: .3rem;
	padding-bottom: .3rem;
	margin-bottom: .5rem;
}

.termine input {
	margin-bottom: 0;
}

.termine label {
	color: #fff;
}

label {
	display: inline-block;
}

#panel3 label {
	display: block;
}

#buchen_agentur_option_datum, #buchen_agentur_buchung_info {
	font-size: 0.6em;
	margin-top: 5px;
}

#buchen_agentur_option_info {
	font-size: 100%;
	margin-top: 1rem;
}

.accordion-title {
	padding: .5rem 0;
	font-size: 1rem;
	background: #ffffff;
	border: none;
	color: #000000;
}

.kat_name {
	font-size: .8rem;
	font-weight: 700;
}

.kat_list {
	font-size: 0.875rem;
	vertical-align: top;
}

.kat_info {
	color: red;
	margin-left: 0.2rem;
}

.kat_preis,
.zi_preis,
.sp_preis,
.lei_preis,
.rp_preis,
.vs_preis,
.kat_rabatt,
.tb_rabatt,
.zi_rabatt,
.sp_rabatt,
.rc_preis {
	float: right;
	font-size: 0.875rem;
	font-weight: normal;
	line-height: 1.4;
	text-align: right;
	margin-top: 0.125rem;
	margin-left: 1rem;
}

.versicherung_preis {
	font-weight: 700;
}

.versicherung_pib {
	font-size: 0.8rem;
	margin-left: 0.2rem;
	line-height: 1rem;
}

.versicherung .has-tip {
	
	border-bottom: none;
	font-weight: normal;
}

.versicherung .info-icon {
	color: #e9a400;
	font-size: 1.25rem;
}

.tb_rabatt {
	color: #af0917;
}

#hotel-form,
#versicherung-form {
	min-height: 12rem;
}

#hotel-form .callout:hover {
	cursor: pointer;
}

.zimmer-radio {
	height: 2.5rem;
	width: 2.5rem;
	display: block;
	margin-top: 0.15rem;
	margin-bottom: 0;
	line-height: 1;
}

.zimmer-input {
	position: absolute;
	opacity: 0;
}

.zimmer-paddle {
	color: #ffffff;
	font-size: 2rem;
	position: relative;
	background: #cacaca;
	border-radius: 50%;
	margin: 0;
	padding: 0rem 0.2rem 0 0.25rem;
	line-height: 1;
	transition: all 0.25s ease-out;
}

.rc_preis {
	font-weight: 700;
}

#kab_hover::after {
	content: '';
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

#kab_hover .kat_preis {
	padding-top: 0.125rem;
}

[type='file'], [type='checkbox'], [type='radio'] {
    margin: 0 0 .3rem;
}

#kabine-1_details label {
	color: #000000;
	font-weight: normal;
	line-height: 1.4;
	margin-right: 0;
}

#kabine-1_details .badge {
	margin-right: .3rem;
}

legend {
	font-size: 0.875rem;
}

#kat_hover span.code {
	float: left;
}

#kat_hover span.code.mit-kab {
	height: 2.25rem;
}

div.kat_item {
	padding-top: .25rem;
	padding-left: .25rem;
	padding-right: .25rem;
	cursor: pointer;
	pointer-events: auto;
	border: 1px solid white;
	border-radius: 5px;
	transition: all 0.2s ease-in;
}

div.kat_item:hover, div.kat_item.choice {
	border-radius: 5px;
}

span.code {
	display: inline-block;
	height: 1rem;
	width: 1rem;
	border-radius: 3px;
	margin: 0.125rem .5rem 0 0;
}

.gk {
	background: url(/images/div/10/glueckskabine.png);
	background-size: 1rem;
	background-repeat: no-repeat;
}

.accordion-content {
	position: relative;
}

#plan_all {
	margin-left: 1rem;
}

.book {
	position: relative;
	margin-top: -7rem;
	background: #ffffff;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.37);
}

.book .callout,
.book .card {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

.book .card img {
	border-radius: 0;
}

.book #check_availibility {
	margin-bottom: 0;
	border-radius: 0;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.4);
	z-index: 10;
}

.share {
	margin-bottom: 1rem;
}

.share img {
	width: 25px;
}

#termine {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-top: 0;
	padding: 1rem 0 1rem;
	max-height: 410px;
	z-index: 5;
}

#gruppe {
	padding: 1rem 0 1rem;
	max-height: 200px;
}

#termine h5, #gruppe h5 {
	margin-left: 1rem;
}

#termine_liste {
	max-height: 300px;
	overflow-y: auto;
}

span.booking_termine_datum_von_en {
	display: inline-block;
	width: 5.4rem;
}

span.booking_termine_datum_von {
	display: inline-block;
	width: 4.8rem;
}

span.booking_termine_datum_bis {
	display: inline-block;
	width: 5.5rem;
	margin-left: 0.2rem;
}

#termine *::-webkit-scrollbar, 
#gruppe *::-webkit-scrollbar,
#volltext_result *::-webkit-scrollbar {
    width: 6px !important;
    height: 6px !important;
}

#termine *::-webkit-scrollbar-thumb, 
#gruppe *::-webkit-scrollbar-thumb,
#volltext_result *::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.2);
}

#termine *::-webkit-scrollbar-track, 
#gruppe *::-webkit-scrollbar-track,
#volltext_result *::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.08);
}

.termin_list, .gruppe_list {
	border: none;
	border-collapse: collapse;
	margin-bottom: 0;
	white-space: nowrap;
}

.termin_list tr,
.gruppe_list tr {
	border-bottom: 1px #eeeeee solid;
}

.termin_list tr:hover,
.gruppe_list tr:hover {
	background: #eeeeee;
}

.termin_list tbody, .gruppe_list tbody {
	border: none;
}

.termin_list td.buchbar {
	cursor: pointer;
}

span.reise_termine_mod {
	padding-left: 1rem;
}

span.reise_termine_datum_von_en {
	display: inline-block;
	width: 6.2rem;
}

span.reise_termine_datum_von {
	display: inline-block;
	width: 5.3rem;
}

span.reise_termine_datum_bis {
	display: inline-block;
	width: 6.0rem;
	margin-left: 0.2rem;
}

.termin_list tr:nth-child(even), .gruppe_list tr:nth-child(even) {
	background: transparent;
	border-bottom: 1px #eeeeee solid;
}

.termin_list tr:hover,
.termin_list tr:nth-child(even):hover,
.gruppe_list tr:hover,
.gruppe_list tr:nth-child(even):hover {
	background: #eeeeee;
}

.termin_list td, .gruppe_list td {
	font-size: 1rem;
	padding: 0;
	width: 1.5rem;
	text-align: center;
	vertical-align: middle;
}

.termin_list td.available {
	color: #46b520;
}

.termin_list td.not-available {
	color: #cacaca;
}

.termin_list td img {
	height: 1rem;
	width: auto;
	margin-top: -3px;
}

.termin_list td .material-icons {
	font-size: 1.25rem;
	margin-top: 5px;
}

.termin_list tr td:first-child, .gruppe_list tr td:first-child {
	color: #0a0a0a;
	padding: 0.2rem 0.2rem 0.2rem 1rem;
	width: auto;
	text-align: left;
}

.termin_list tr td:last-child {
	padding-right: 1rem;
	width: 2.5rem;
}

.termin_list .has-tip, .gruppe_list .has-tip {
	border-bottom: none;
	font-weight: normal;
}

.termin_list .label.alert, .gruppe_list .label.alert {
	background: transparent;
	color: #cc4b37;
	float: left;
	position: relative;
}

.termin_list .info-icon {
	color: #e9a400;
	font-size: 1.25rem;
}

.tooltip {
	max-width: 15rem;
	padding: 0.5rem 0.75rem;
	border-radius: 3px;
	background-color: #888888;
	font-size: 80%;
	color: #fefefe;
}

.tooltip:before {
  border: .5rem inset;
  border-color: transparent transparent #888888;
}

.plan {
	width: 100%;
	height: 0;
	position: relative;
	padding: 0;
	padding-bottom: 100%;
	text-align: center;
	margin-top: 1rem;
}

#deckplan_svg {
	position: relative;
  width: 100%;
	height: 0;
  padding-bottom: 50%;
}

#bus-tln .callout {
	transition: all 0.2s ease;
}

#bus-tln .callout .sp_tln_edit {
	background: #c51a1b;
	transform: scale(0);
	transition: all 0.2s ease;
}

#bus-tln .callout:not(.active):hover .sp_tln_edit {
	transform: scale(1);
}

#bus-tln .callout > span {
	font-size: 0.875rem;
}

#bus-tln .callout:hover {
	cursor: pointer;
}

#bus-tln .callout.done {
	padding-left: 4.5rem;
}

#bus-tln .callout label {
	display: none;
}

#bus-tln .callout .success-label {
  font-size: 1rem;
  color: #3adb76;
  position: absolute;
  top: 0.75rem;
	right: 0.75rem;
	transform: scale(0);
	transition: all 0.2s ease;
}

#bus-tln .callout.done.mit-zustieg .success-label {
	transform: scale(1);
}

#bus-tln .callout {
	overflow: hidden;
}

#bus-tln .callout,
#bus-tln .callout h5 {
	line-height: 1;
}

#bus-tln .sitz-choice {
	font-size: 1.25rem;
	font-weight: 700;
	text-align: center;
	color: #ffffff;
	padding: 0.5rem;
	height: 100%;
	width: 3.5rem;
	position: absolute;
	left: -4rem;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.2s ease;
}

#bus-tln .done .sitz-choice {
	left: 0;
}

#bus-tln .sitz-choice span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.b_sitz_frei .b_sitz_bezug,
.b_sitz_frei .b_sitz_beine,
.b_sitz_frei .b_sitz_lehne {
	transition: all 0.2s ease;
}

#svg_busplan.done .b_sitz_frei {
	pointer-events: none;
}

#svg_busplan.done .b_sitz_frei:not(.bchoice) .b_sitz_bezug,
#svg_busplan.done .b_sitz_frei:not(.bchoice) .b_sitz_beine,
#svg_busplan.done .b_sitz_frei:not(.bchoice) .b_sitz_lehne {
	fill-opacity: 0.5;
}

#svg_busplan.done .b_sitz_frei.bchoice {
	pointer-events: auto;
}

/*.b_sitz_frei:hover {
	opacity: 0.5;
}*/

.b_sitz_frei:hover .b_sitz_bezug {
	/*fill: #12491D;*/
	fill-opacity: 0.5;
}

.b_sitz_frei:hover .b_sitz_beine {
	/*stroke: #41AA54;*/
	stroke-opacity: 0.5;
}

.b_sitz_frei:hover .b_sitz_hover {
	opacity: 0 !important;
}

.b_sitz_frei.bchoice .b_sitz_bezug {
	fill: #E9A11B;
}

.b_sitz_frei.bchoice .b_sitz_lehne {
	fill: #986608;
}

.b_sitz_frei.bchoice .b_sitz_beine {
	stroke: #E9A11B;
}

.b_sitz_frei .sitz_tln {
	fill: #222222;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 14px;
	font-weight: 700;
}

.b_sitz_frei.bchoice .sitz_edit {
	opacity: 0;
}

.b_sitz_frei.bchoice:hover .sitz_edit {
	opacity: 1;
}

.bus-descr {
	line-height: 1;
}

#kategorien {
	position: absolute;
	height: 100%; 
	width: calc(100% - 2rem);
	top: 0;
	left: 0;
}

.loading_text {
	width: 100%;
	text-align: center;
	font-size: 0.8rem;
	font-weight: 700;
	display: block;
}

.kabine_details {
	display: block;
	max-height: 210px;
	text-align: left;
}

.kabine_details img {
	max-height: 210px;
	width: auto;
	display: inline-block;
}

h6 {
	color: #000000;
}

.descr {
	font-size: 0.875rem;
	line-height: 0.875;
	display: block;
}

.tabs-content {
	border: none;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.37);
	margin-bottom: 1rem;
	position: relative;
	z-index: 30;
}

.tabs-content .button {
	margin-bottom: 0;
}

.accordion-content {
	padding: 0 1rem;
}

#panel2 {
	padding-top: 0;
	padding-bottom: 0;
}

#panel2-submit {
	display: none;
	margin-bottom: 0;
}

#panel2-submit-content .columns {
	padding-top: 0.5rem;
}

#panel2-submit label {
	font-size: 1rem;
	line-height: 1.6;
}

.rcode-column {
	border-bottom: 1px #eeeeee solid;
	position: relative;
	overflow: hidden;
}

.rcode-column label {
	display: block;
}

.rcode-column .button {
	margin: -0.375rem 0 0 1rem;
}

#bu_rabattcode {
	width: 10rem;
	display: inline-block;
}

#rcode-check {
	background: transparent;
	max-width: 50%;
	height: 100%;
	padding: 0.75rem 1rem 0.75rem 5rem;
	margin: 0 -1rem;
	border-radius: 0;
	box-shadow: none;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	transform: translateX(100%);
	transition: all 0.3s ease-out;
}

#rcode-check-txt {
	line-height: 1.5;
	padding-right: 1.5rem;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

#rcode-check.show-full {
	transform: translateX(0);
}

#rcode-check.show-status {
	transform: translateX(100%);
	right: 6.5rem;
	padding-left: 7rem;
}

#rcode-check i {
	color: #888888;
	position: absolute;
	top: 50%;
	left: 1rem;
	margin-top: -1.5rem;
}

#rcode-check.show-full.failure {
	background: #f7e4e1;
}

#rcode-check.show-full.failure i {
	color: #c51a1b;
}

#rcode-check.win {
	background: transparent; /*#e1faea;*/
}

.rcode-wert {
	color: #3adb76;
	background: #e1faea;
	border-radius: 1.5rem;
	height: 3rem;
	padding: 0.75rem 3.5rem 0.75rem 1rem;
	font-size: 1.5rem;
	line-height: 1;
	font-weight: 700;
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translate(120%, -50%);
	transition: all 0.3s ease-out;
}

.rcode-wert.show {
	transform: translate(0, -50%);
	transition: all 0.2s ease-out;
}

#rcode-check.win i {
	color: #3adb76;
}

.p2-summe-column {
	border-bottom: none;
	border-radius: 0 0 5px 5px;
	text-align: right;
	position: relative;
}

.p2-summe {
	line-height: 1;
	font-weight: 700;
	text-align: left;
	position: absolute;
	left: 2rem;
	top: 50%;
	transform: translateY(-50%);
}

.p2-summe-wert {
	color: #0a0a0a;
	font-weight: 700;
	line-height: 1;
	margin: 0.375rem 0 0 0;
}

.p2-summe-wert .preis-neu + .preis-alt {
	font-size: 80%;
	margin-left: 0.5rem;
}

.p2-summe-wert .preis-alt::before {
	height: 3px;
	border-radius: 2px;
}

.p2-summe .rabatt_descr {
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0;
}

#weiter-2 {
	margin: 1.5rem 1rem 2rem;
}

.step-wrapper,
.step-content {
	/*padding: 0;
	max-height: 0;
	overflow: hidden;*/
	position: relative;
	/*opacity: .5;
	pointer-events: none;
	transition: max-height 0.3s ease-out;*/
}

.step-wrapper .step-content.initial {
	display: none;
}

.step-wrapper .step-header {
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
	height: 4.5rem;
	position: relative;
	display: none;
}

.step-wrapper .step-header .active,
.step-wrapper .step-header .done {
	width: 100%;
	position: absolute;
}

.step-wrapper .step-header .success {
	display: none;
	font-size: 1rem;
	color: #3adb76;
	position: absolute;
	top: 0.65rem;
	right: 0.5rem;
}

.done-step .step-header {
	display: block;
	background: #f8f8f8;
	border-bottom: 1px #dddddd solid;
	transition: all 0.5s ease;
}

.active-step .step-header {
	display: block;
	background: none;
	border-bottom: 1px transparent solid;
	transition: all 0.5s ease;
}

.hidden-step .step-header,
.hidden-step .step-content {
	display: none;
}

.active-step .step-header .active {
	display: block;
}

.active-step .step-header .done,
.done-step .step-header .done {
	display: none;
}

.active-step .step-content {
	display: inline-block;
	padding-bottom: 1rem;
}

.step-wrapper legend {
	color: #777777;
	display: inline-block;
	margin-bottom: 0;
	margin-right: .5rem;
}

.step-header h4 {
	line-height: 1;
	margin-top: 0;
	margin-bottom: 0;
}

.step-header h6 {
	font-size: .8rem;
	line-height: 1.4;
	color: #333333;
	margin-top: 0;
	margin-bottom: 0;
	max-width: 790px;
}

.panel-submit h6 {
	font-size: .8rem;
	color: #333333;
	margin-bottom: 1rem;
	max-width: 790px;
}

#bu_infotext {
	margin-bottom: 0.3rem;
}

.kabine_personen {
	background: #efefef;
	border-bottom: 2px #ffffff solid;
	padding: 0.5rem 0;
}

.kabine_personen h5 {
	margin: 0rem;
	line-height: 1.5;
	font-style: italic;
}

#kat_hover {
	min-width: 20rem;
	line-height: 1.2;
	position: absolute;
	top: 0;
	right: 0;
	overflow: hidden;
	transition: all 0.3s ease-in;
}

#kat_hover.hover {
	transition: all 0.3s ease-out;
}

#kat_hover .kat_hover_container {
	border-radius: 0 0 0 .5rem;
	padding: .75rem 1rem 0.75rem .75rem;
	box-sizing: border-box;
	transform: translateX(120%);
	transition: all 0.2s ease;
}

#kat_hover.hover .kat_hover_container {
	transform: translateX(0);
}

#svg_plan,
#kategorien,
#deckplan {
	pointer-events: none;
}

#kabinen-auswahl,
#busplan-auswahl {
	position: relative;
	pointer-events: none;
}

.loading-wrapper {
	width: 100%;
  height: 100%;
	position: relative;
  text-align: center;
  padding: 10rem 0;
  z-index: 100;
}

.loading-icon {
	margin: 0 auto;
  width: 5rem;
  height: 5rem;
  display: block;
}

#kabinen-auswahl #loading-plan,
#step-2 #loading-hotel,
#step-3 #loading-bus,
#step-6 #loading-versicherung {
	width: calc(100% - 1rem);
  height: 100%;
	background: rgba(255, 255, 255, 0.8);
  text-align: center;
  position: absolute;
	padding: 10rem 0;
	pointer-events: auto;
  z-index: 100;
}

#step-2 #loading-hotel {
	padding: 3rem 0;
	left: 0.5rem;
	height: calc(100% - 5rem);
}

#step-6 #loading-versicherung {
	padding: 3rem 0;
	left: 0.5rem;
	top: -0.5rem;
	height: calc(100% - 0.5rem);
}

#loading-plan #book_loading,
#loading-hotel #zimmer_loading, 
#loading-bus #sitzplan_loading,
#loading-versicherung #vs_loading {
	margin: 0 auto;
  width: 5rem;
  height: 5rem;
  display: block;
}

#book_loading,
#zimmer_loading,
#sitzplan_loading,
#vs_loading,
#booking_loading,
#mitglied_loading {
	margin: 0 auto;
  width: 5rem;
  height: 5rem;
	margin-top: 8rem;
  display: block;
}

.kategorie .columns {
	font-size: 0.8rem;
	padding-right: 0.5rem;
	padding-left: 0;
}

.kategorie .code {
	margin-top: 0.15rem;
}

.kategorie .kat_preis {
	text-align: right;
	min-width: 4.2rem;
	margin-top: 0.05rem;
	margin-left: 0.5rem;
}

.preis_container {
	font-weight: 700;
}

.preis-neu {
	color: #af0917;
	font-weight: 700;
}

.preis-alt {
	padding: 0 0.125rem;
	position: relative;
	display: inline-block;
}

.preis-neu + .preis-alt {
	margin-left: 0.25rem;
}

.preis-alt::before {
	content: '';
	height: 2px;
	width: 100%;
	background: #af0917;
	border-radius: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-10deg);
}

.rabatt_descr {
	color: #af0917;
	font-size: 0.75rem;
	line-height: 1.25;
	padding: 0.25rem 0 0.5rem;
	text-align: right;
}

.hotel-row .rabatt_descr {
	text-align: left;
	padding: 0;
}

.kategorie .kat_preis .ab-zusatz {
	text-align: left;
	float: left;
}

.preis-zusatz {
	font-size: .8rem;
	color: #888888;
}

.disabled {
	pointer-events: none !important;
	opacity: .5;
}

.disabled + .kat_preis {
	opacity: .5;
}

.step {
	color: #ffffff;
	height: 2rem;
	width: 2rem;
	font-size: 1rem;
	line-height: 1;
	font-weight: 700;
	background: #777777;
	text-align: center;
	padding: .5rem 0 .5rem .5rem;
	position: relative;
	left: 0;
	top: 0;
	display: inline-block;
	margin-right: 1rem;
}

.step:after {
	content: "";
	position: absolute;
	right: -.5rem;
	top: 0;
	border-left: .5rem #777777 solid;
	border-top: 1rem transparent solid;
	border-bottom: 1rem transparent solid;
}

.card.kat_images {
	display: none;
}

.card.kat_images.hover {
	display: block;
}

.card.kat_images.auswahl {
	display: block;
}

.kat_images .card-divider {
	font-size: 0.875rem;
	line-height: 1.2;
	padding: 0.75rem 1rem;
	margin: 0;
}

.kat_images .trigger-fs-bild {
	position: relative;
	cursor: zoom-in;
}

.kat_images .kabine_img {
	margin-bottom: 0;
}

.kat_images .symbolfoto {
	color: #888888;
	font-size: 0.8rem;
}

.kat_images .kabine_plan {
	width: 100%;
	height: auto;
	margin-bottom: 0.5rem;
}

.kab_name {
	line-height: 1.4;
}

.option_row {
	background: #f3f3f3;
	padding: .5rem;
	border-bottom: 2px #ffffff solid;
	min-height: 2.5rem;
}

.option_buchenfur {
	font-size: 0.875rem;
	line-height: 1.2;
	display: block;
}

.option_name {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.4;
	max-width: 70%;
	display: inline-block;
}

.option_preis {
	float: right;
	font-size: 1rem;
	font-weight: 700;
}

.option_gratis {
	color: #af0917;
	font-size: 0.875rem;
	padding-top: 0.125rem;
	float: right;
	font-weight: 700;
}

.option_descr {
	font-size: 0.875rem;
	margin-left: 1.5rem;
	/*margin-bottom: .5rem;*/
	font-style: italic;
	display: block;
}

.switch.tiny {
	height: 1.2rem;
	display: block;
	margin-top: 0.15rem;
	margin-bottom: 0;
	line-height: 1;
}

.switch.tiny .switch-paddle {
	width: 2.8rem;
	height: 1.2rem;
	border-radius: 0.6rem;
}

.switch.tiny .switch-paddle:after {
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 0.4rem;
	left: 0.2rem;
	top: 0.2rem;
}

.switch-label {
	padding-left: .5rem;
}

.switch-active,
.switch-inactive {
	font-size: 0.55rem;
	font-weight: 700;
	color: #ffffff;
}

.switch-active {
	left: 15%;
}

.switch-inactive {
	right: 15%;
}

.rp_tln { border-bottom: 1px #eeeeee solid; padding-top: 0.5rem; padding-bottom: 0.5rem; cursor: pointer; }
.rp_tln.is-active { background: #eeeeee; }
.rp_tln:hover { background: #f5f5f5; }
.rp_tln:hover i, .rp_tln.is-active i { color: #af0917; }

.rp_option.disabled { opacity: 0.25; pointer-events: none; }
.rp_option label { width: auto; display: block; }
.option_head { background: #e5e5e5; padding: 0.5rem; }

#reisepakete-warning {
	line-height: 1.2;
	display: block;
	margin-top: -1rem;
}

#rp-next-btn, #rp-all-btn, #rp-continue-btn, #rp-optionen {
	margin-bottom: 0.5rem;
}

#reisepakete-alert .close-button {
	z-index: 20;
}

#booking-state,
.booking-detail {
	min-height: calc(100vh - 11rem);
	height: auto;
	padding-top: 12rem;
	padding-bottom: 6rem;
}

.book .card img {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.kabinen_tln {
	margin: 0 0 1rem 0 !important;
}

#personen-form {
	padding: 0;
}

.tb_button {
	margin-top: 1.5rem;
}

.callout.tb_callout {
	margin-left: 0;
	margin-bottom: 0;
}

.tb_wert {
	color: #32904f;
	font-weight: 700;
}

.teilnehmer,
.leistungen {
	padding: 0 1rem;
	margin: 0;
}

.teilnehmer {
	padding-top: 1rem;
  border-bottom: 1px #eeeeee solid;
}

.leistung_row.callout {
	margin: 0 0 1rem 0;
	padding-left: 0;
	padding-right: 0;
}

.teilnehmer .columns {
	padding-left: 1rem;
	padding-right: 0;
}

.teilnehmer .columns:first-child,
.teilnehmer .columns:nth-child(2) {
	padding-left: 0;
}

.teilnehmer .columns label {
	display: block;
}

.teilnehmer .columns h6 {
	margin-bottom: 0;
}

.leistungen .columns label {
	display: inline-block;
	margin-left: .5rem;
}

#tln_button {
	display: none;
}

#submit-mg-buchung {
	font-size: 1.25rem;
}

#booking-status,
#mitglied-status {
	display: none;
}

/***** BOOKING SUMMARIES *****/

.summary h4 {
	color: #ffffff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	border-radius: 5px;
	margin: 0;
	padding: 0.3rem 0.3rem 0.5rem;
}

.summary_kabine h5,
.summary_zimmer h5 {
	color: #af0917;
	line-height: 1;
}

.summary .descr {
	margin-top: .5rem;
}

.summary h6 {
	color: #0a0a0a;
	margin-bottom: 0;
}

#summary_auswahl {
	padding: .5rem;
}

#summary_buchung {
	background: #af0917;
	padding: .5rem;
}

#summary_buchung .summary_kabine,
#summary_buchung .summary_zimmer,
#summary_buchung #summary_bus,
#summary_buchung #summary_reisepakete,
#summary_buchung #summary_leistungen,
#summary_buchung #summary_versicherung,
#summary_buchung #summary_treuebonus,
#summary_buchung #summary_rabattcodes,
#summary_buchung #summary_gebuehren {
	margin-bottom: 0.5rem;
	overflow: hidden;
}

#summary_gebuehren .sum_gesamt,
#summary_gebuehren .sum_preis {
	font-weight: normal;
}

.summary_kabine,
.summary_zimmer,
#summary_bus,
#summary_buchung,
#summary_reisepakete,
#summary_leistungen,
#summary_versicherung,
#summary_treuebonus,
#summary_rabattcodes,
#summary_gebuehren,
#summary_preis {
	display: none;
}

.sum_termin,
.sum_kabinenanzahl,
.sum_personenanzahl,
.sum_personen,
.sum_tln,
.sum_kategorie,
.sum_kabine {
	position: relative;
	display: none;
}

.sum_kab_line,
.sum_zi_line,
.sum_sp_line,
.sum_rabatt_line {
	border-bottom: 1px #eeeeee solid;
}

.sum_sp_line {
	display: block;
}

.sum_rabatt_line,
#summary_rabattcodes .sum_preis {
	color: #af0917;
}

.sum_kab_line::after,
.sum_zi_line::after,
.sum_sp_line::after,
.sum_rabatt_line::after {
	content: '';
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

#summary_bus h5,
#summary_reisepakete h5,
#summary_leistungen h5,
#summary_versicherung h5,
#summary_treuebonus h5 {
	line-height: 1;
	margin-bottom: 0.5rem;
}

.sum_tln {
	background: #f3f3f3;
	line-height: 1.2;
  margin: -0.5rem -1rem 0;
  padding: 1rem;
  bottom: -1rem;
}

.sum_tln .descr {
	margin-top: 0;
}

.sum_kabine h5 .kat_preis {
	font-weight: bold;
}

.summary_kabine,
.summary_zimmer {
	position: relative;
	overflow: hidden;
}

.sum_min {
	font-size: 1rem;
	text-align: center;
	width: 1.5rem;
	height: 1.5rem;
	position: absolute;
	top: 0.75rem;
	right: 2.75rem;
}

.edit_button {
	font-weight: 700;
	position: absolute;
	top: 0;
	right: 0;
}

.edit_button.active {
	pointer-events: none;
	background: #c51a1b;
}

.edit_button .active_text {
	display: none;
}

.edit_button.active .active_text {
	display: block;
}

.edit_button .hovered_text {
	font-size: 0.6rem;
	padding: 0.1rem 0.3rem;
	float: left;
	display: none;
}

.tiny.edit_button {
	top: 0.85rem;
	right: 0.8rem;
	min-width: 1.6rem;
	width: auto;
  height: 1.6rem;
	font-size: 0.7rem;
  text-align: center;
  border-radius: 1rem;
  padding: 0.35rem;
	margin-bottom: 0;
  margin-left: 0.5rem;
}

#summary_buchung .sum_tln .tiny.edit_button {
	top: 50%;
	margin-top: -0.8rem;
}

.lei_name,
.rp_name,
.rc_name,
.vs_name,
.tb_name {
	display: block;
	line-height: 1.2;
	margin-bottom: 0.5rem;
}

.rc_code {
	color: #af0917;
	font-weight: 700;
}

.sum_gesamt {
	font-weight: 700;
}

.sum_preis {
	font-weight: 700;
	float: right;
}

#summary_preis {
	font-size: 1.2rem;
	font-weight: 700;
	background: #e6e6e6;
	padding: 0.75rem 1rem;	
}

.gesamt_preis {
	float: right;
}

.tech_data {
	width: 100%;
	border: none;
}

.leistungen label {
	margin-left: 0.3rem;
}

/***** PAGES *****/

#page_kalender {
	padding-top: 5rem!important;
	padding-bottom: 6rem!important;
	margin-top: -10rem;
	z-index: 60;
	position: relative;
}

#page_kalender h1 {
	text-shadow: 0 0 10px #ffffff;
	z-index: 60;
	position: relative;
	margin-bottom: 4rem;
}

#header_img {
	min-height: 50vh;
	height: 50vh;
	width: 100%;
	object-fit: cover;
	position: relative;
}

.details {
	margin-top: 0;
	margin-bottom: 0;
}

.details img {
	width: 100%;
	height: auto;
}

.content {
	height: 100vh;
}

#kontakt label {
	width: 100%;
}

#gutschein label {
	width: 100%;
}

#impressum img {
	background: none;
}

#agentur-profile {
	padding: 0;
	margin: 1rem 0 0 1rem;
	overflow: hidden;
}

#klug-profile {
	padding: 0;
	margin: 1rem 0 0 1rem;
	overflow: visible;
}

#newsletter h6.subheader {
	margin-bottom: 1.5rem;
}

#ag-register label,
#newsletter label {
	width: 100%;
}

#newsletter #dsgvo {
	transform: translateY(-9px);
}

#newsletter input[type="checkbox"] + label {
	line-height: 1.2;
	width: 90%;
	display: inline-block;
}

#ag-register h3,
#newsletter h3 {
	line-height: 1;
	margin-top: 0.5rem;
	margin-bottom: 0;
}

#ag-register .or {
	color: #aaaaaa;
	background: #ffffff;
	font-size: 0.8rem;
	font-weight: 900;
	display: inline-block;
	padding: 0.5rem;
	margin: 1rem auto;
}

#ag-register .or::after {
	content: '';
	width: 100%;
	position: absolute;
	height: 2px;
	margin-top: -1px;
	background: #cccccc;
	top: 50%;
	left: 0;
	z-index: -1;
}

.ag_header {
	background: #efefef;
	padding: 1rem 1rem 0.5rem;
}

.ag_header h1 {
	line-height: 1;
	margin-bottom: 1rem;
}

.ag_header a {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	height: 2rem;
	display: block;
	margin-left: -2rem;
	margin-bottom: 0.5rem;
}

.ag_header a i {
	font-size: 1rem;
	padding: 0.5rem;
	margin-right: 0.5rem;
	color: #ffffff;
	border-radius: 1rem;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.4);
	transition: all 0.2s ease-in;
	float: left;
}

.ag_header a:hover i {
	color: #ffffff;
	background: #c51a1b;
	transform: translateY(-2px);
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2), 0 4px 6px 0 rgba(0,0,0,0.3);
}

.ag_header a span {
	line-height: 1;
	padding: 0.25rem 0;
	display: block;
}

.ag_content {
	padding: 1rem 1rem 0.5rem;
}

.ag_content h6 {
	color: #0a0a0a;
}

#book-fail {
	margin-top: -1rem;
}

#kunden-form {
	margin-bottom: 1rem;
}

.booking-form-data {
	padding: 0 1rem;
}

.booking-form-data .columns {
	padding-left: 0;
	padding-right: 1rem;
}


.booking-form-data .columns:last-child {
	padding-right: 0;
}

#neukunde_form #password_form {
	display: none;
}

.zart-row {
	margin-bottom: 0.5rem;
}

.zart-row .columns {
	text-align: center;
}

.zart-container {
	opacity: 1;
	pointer-events: auto;
	cursor: initial;
}

.zart-container.hidden {
	opacity: 0.5;
	pointer-events: none;
	cursor: not-allowed;
}

.zart-row img {
	background: none;
}

#booking-form label.zart,
#mitglied-form label.zart {
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: center;
	transition: all 0.2s ease-in;
	border-radius: 5px;
	padding: 1rem;
	margin-bottom: 0.5rem;
	border: 1px solid rgba(10, 10, 10, 0.25);
	min-height: 5.3rem;
}

label.zart:hover {
	background: #f3f3f3;
}

input[name="paymentType"]:hover+label.zart {
	background: #f3f3f3;
}

input[name="paymentType"]:checked+label.zart { 
	background: #f3f3f3;
	border-color: #32904f;
	transition: all 0.2s ease-in;
}

#kunden-form input[type="checkbox"] {
	vertical-align: top;
	margin-top: 0.25rem;
}

#kunden-form input[type="checkbox"] + label {
	line-height: 1.4;
}

.zart.is-invalid-label {
	border-color: #cc4b37 !important;
  background-color: #f9ecea;
}

.zart img {
	height: 40px;
	width: auto;
	margin-right: 0.5rem;
	object-fit: auto;
}

.zart img:last-child {
	margin-right: 0;
}

.zart-radio {
	position: relative;
	bottom: -0.8rem;
	z-index: 10;
}

/***** MEDIATHEK *****/

.mefi_header {
	background: #efefef;
	padding: 0.75rem 1rem 0.5rem;
}

.mefi_item {
	padding: 0.5rem 1rem 0rem;
}

.mefi_item .descr {
	margin-bottom: 0.4rem;
}

label.mefi_checkbox {
	margin-left: 0.1rem;
}

#mefi-suche {
	padding: 0;
	margin: 1rem 0 0 1rem;
	overflow: hidden;
}

#mefi-suche .button {
	margin: 0.5rem 0.5rem 0.5rem 0.5rem;
	width: 6.5rem;
}

.meli_item {
	margin-right: 6px;
	margin-bottom: 6px;
	width: 210px;
	float: left;
}

.meli_image {
	cursor: pointer;
}
	
.meli_item .descr {
	font-size: 0.9rem;
	line-height: 1rem;
	margin-top: 0.1rem;
	padding: 0.2rem;
	color: white;
	height: 2.4rem;
	background: rgba(0, 0, 0, 0.5);
}

.meli_loading_overlay {
	background: rgba(221, 234, 240, 0.75);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	z-index: 60;
}

#meli_loading {
	background: #ffffff;
	border-radius: 2.75rem;
	width: 5.5rem;
	height: 5.5rem;
	padding: 0.25rem;
	position: relative;
	top: 5rem;
	left: 50%;
	margin-left: -2.75rem;
	display: none;
	z-index: 10;
	transition: all 0.3s ease;
}

#meli_action {
	background: #ffffff;
	border-radius: 2.75rem;
	width: 4rem;
	height: 4rem;
	padding: 0.25rem;
	position: absolute;
	top: 11.25rem;
	right: 2rem;
	display: none;
	z-index: 10;
	transition: all 0.3s ease;
}

.meli_actions {
	width: 2rem;
	height: 2rem;
	text-align: center;
	border-radius: 1rem;
	padding-top: 0.5rem;
	padding-left: 0.6rem;
	margin-right: 0.30rem;
	margin-top: 0.30rem;
}

#mediathek-action {
	width: 60rem;
}

#mediathek-action .bild {
	width: 700px;
}

#mediathek-action .download {
	position: relative;
	right: 0.4rem;
	width: 12rem;
	float: right;
	height: 100%;
}

#button_download_web, #button_download_print {
	display: inline-block;
	margin-bottom: 1rem;
	width: 11rem;
	line-height: 1.2rem;
}

/***** BUCHUNGSLISTE *****/

.bufi_header {
	background: #efefef;
	padding: 0.75rem 1rem 0.5rem;
}

.bufi_item {
	padding: 0.5rem 1rem 0rem;
}

.bufi_item .descr {
	margin-bottom: 0.4rem;
}

#bufi-suche {
	padding: 0;
	margin: 1rem 0 0 1rem;
	overflow: hidden;
}

#bufi-suche .button {
	margin: 0.5rem 0.5rem 0.5rem 0.5rem;
	width: 6.5rem;
}

.bufi_nr, .bufi_dat, .bufi_text, .bufi_list {
	width: 6.5rem;
	display: inline-block;
	height: 1.7rem;
	margin-bottom: 0.5rem;
}

.bufi_status label {
	width: 5.5rem;
	margin-right: 0rem;
	margin-left: 0.25rem;
	line-height: 0;
	color: black;
}

div.bufi_status {
	margin-bottom: 0.25rem;
}

#bufi_teiln, #bufi_exp {
	width: 13.9rem;
}

.buli_loading_overlay {
	background: rgba(221, 234, 240, 0.75);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	z-index: 60;
}

#buli_loading {
	fill: #1e552d;
	background: #ffffff;
	border-radius: 2.75rem;
	width: 5.5rem;
	height: 5.5rem;
	padding: 0.25rem;
	position: relative;
	top: 5rem;
	left: 50%;
	margin-left: -2.75rem;
	display: none;
	z-index: 10;
	transition: all 0.3s ease;
}

#buli_action {
	fill: #1e552d;
	background: #ffffff;
	border-radius: 2.75rem;
	width: 4rem;
	height: 4rem;
	padding: 0.25rem;
	position: absolute;
	top: 11.25rem;
	right: 2rem;
	display: none;
	z-index: 10;
	transition: all 0.3s ease;
}

#bu_action_text {
	display: none;
	line-height: 1.2rem;
}

#buchungen-action {
	width: 25rem;
}

#buchungen-action .button {
	width: 7rem;
}

#buchungen-action #bu_footer {
	min-height: 50px;
}

#buchungen-action #bu_result {
		display: none;
}

.buli_item {
	line-height: 1;
	border-bottom: 1px #dddddd solid;
	transition: background-color 0.2s ease-in;
}

.buli_item .columns {
	padding: 0.5rem;
	line-height: 1.25rem;
}

.buli_item .status {
	font-size: 0.75rem;
}

.status.ok {
	color: green;
}

.status.xx {
	color: red;
}

.buli_actions {
	width: 2rem;
	height: 2rem;
	text-align: center;
	border-radius: 1rem;
	padding: 0.5rem;
	margin-bottom: 0;
	margin-left: 0.5rem;
	margin-top: 0.25rem;
}

.buli_item:hover {
	background-color: #efefef;
}

#buli_items .buli_item:last-child {
	border: none;
}

/***** ANGEBOTE PAGE *****/

#page_angebote .subtext {
	font-style: italic;
	margin-bottom: 1rem;
	text-align: justify;
}

/***** SUCHE *****/

#filter {
	position: relative;
	padding: 0;
	min-height: 16.5rem;
	margin-top: 0;
}

#filter.issearch {
	min-height: 17.25rem;
	padding: 17.25rem 0 0;
}

.filter_nav_container {
	z-index: 70;
}

#filter_nav {
	height: 16.5rem;
	padding: 3rem 0;
	z-index: 70;
	transition: all 0.3s ease;
}

#filter.issearch #filter_nav {
	height: 22.5rem;
	padding: 9rem 0 3rem;
}

#filter_nav.is-stuck {
	height: 17.25rem;
	padding: 3rem 0 1rem;
	transform: translateY(-2rem);
}

#filter.issearch #filter_nav, 
#filter.issearch #filter_nav.is-stuck {
	height: 17.25rem;
	padding: 3rem 0 1rem;
}

#filter_nav .row {
	pointer-events: auto;
}

#filter_nav h2 {
	color: #ffffff;
	visibility: visible;
	opacity: 1;
	transition: all 0.3s ease;
}

#filter.issearch #filter_nav h2,
#filter_nav.is-stuck h2,
#filter_nav.is-at-bottom h2 {
	visibility: hidden;
	opacity: 0;
}
	
#filter_nav .button {
	font-size: 0.95rem;
	min-height: 2.75rem;
	margin-right: 0;
	margin-bottom: 0.5rem;
	display: inline-block;
}

#filter_nav .button:hover {
	background: #c51a1b;
}

#filter_search {
	width: calc(100% + 0.5rem); 
	margin-left: -0.5rem; 
	display: block;
}

#search_content {
	min-height: calc(100vh - 24.25rem);
	position: relative;
}

#filter_results {
	padding: 3rem 0 5rem;
	min-height: calc(100vh - 24.25rem);
	position: relative;
	display: none;
}

#filter_results:empty {
	display: none !important;
}

#filter_results .no-result {
	text-align: center;
}

#filter_noresults .fa.bounce {
	color: #ffae00;
}

#filter_start,
#filter_noresults {
	padding: 5rem 0;
	min-height: calc(100vh - 24.25rem);
	text-align: center;
}

#filter_start .fa {
	margin-bottom: 1.5rem;
}

#filter_noresults {
	display: none;
}

#results_overview h6 .results_number {
	font-size: 1.5rem;
}

.filter_dropdown {
	color: #ffffff;
	font-size: 0.9rem;
	line-height: 1;
	font-weight: 700;
	cursor: pointer;
	background: rgba(0,0,0,0.15);
	border-radius: 5px;
	padding: 0.5rem 2.5rem 0.5rem 0.75rem;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	position: relative;
	transition: all 0.3s ease;
}

#filter_row .filter_text {
	color: #ffffff;
	font-size: 0.9rem;
	line-height: 1;
	font-weight: 700;
	cursor: pointer;
	background: rgba(0,0,0,0.15);
	border-radius: 5px;
	border:none;
  background-image:none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
	width: 100%;
	max-width: calc(100% - 0.5rem);
	height: 2.75rem;
	padding: 1.25rem 2.5rem 0.5rem 0.75rem;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	position: relative;
	transition: all 0.3s ease;
}

.dropdown-pane .no-result {
	color: #666666;
  font-size: 0.8rem;
  background: #ffffff;
  padding: 0.25rem 0.875rem 0.25rem 0.75rem;
  display: block;
  width: 100%;
}

.dropdown-pane .no-result .search-str {
	font-weight: 700;
	font-style: italic;
}

mark {
	color: inherit;
	background: #ffbe0d;
	position: relative;
}

#filter_row .filter_text {
	color: #ffffff;
	font-size: 0.9rem;
	line-height: 1;
	font-weight: 700;
	cursor: pointer;
	background: rgba(0,0,0,0.15);
	border-radius: 5px;
	border:none;
  background-image:none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
	width: 100%;
	max-width: calc(100% - 0.5rem);
	height: 2.75rem;
	padding: 1.25rem 2.5rem 0.5rem 0.75rem;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	position: relative;
	transition: all 0.3s ease;
}

#filter_row .filter_text:hover {
	background: rgba(0,0,0,0.3);
	cursor: text;
}

#filter_row .filter_text::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: rgba(255, 255, 255, 0.65);
  opacity: 1; /* Firefox */
}

#filter_row .filter_text:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: rgba(255, 255, 255, 0.65);
}

#filter_row .filter_text::-ms-input-placeholder { /* Microsoft Edge */
  color: rgba(255, 255, 255, 0.65);
}

#filter_row .filter_text.open {
	border-radius: 5px 5px 0 0;
	background: rgba(0,0,0,0.3);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2), 0 6px 10px 0 rgba(0,0,0,0.3);
  border-radius: 5px 5px 0 0;
}

#reset-text {
	top: 0.2875rem;
	right: 1.425rem;
}

#reset-text.onfocus, 
#reset-text:hover {
	color: #ffffff;
}

#volltext_result {
	width: calc(100% - 0.5rem);
}

#volltext_result ul {
	max-height: 50vh;
	overflow-y: auto;
}

#volltext_result .search_text {
	width: 100%;
	padding: 0.5rem 0.75rem;
	margin: 0.5rem 0 -0.5rem 0;
	border-radius: 0 0 5px 5px;
	font-weight: 700;
	text-align: center;
	display: block;
	transition: all 0.3s ease;
}

label[for="filter_volltext"] {
	position: absolute;
	left: 0.75rem;
	top: 0.5rem;
	z-index: 1;
}

.filter_container {
	color: #ffffff;
	font-size: 0.9rem;
	line-height: 1;
	font-weight: 700;
	background: rgba(0,0,0,0.15);
	border-radius: 5px;
	padding: 0.5rem 0.75rem 0.5rem 0.75rem;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	position: relative;
	transition: all 0.3s ease;
}

.date-column {
	width: calc(50% - 2rem);
	position: relative;
	display: inline-block;
	cursor: pointer;
}

.date-column-to {
	width: 1.5rem;
	display: inline-block;
}

.date-output {
	position: relative;
}

.date-output::after {
	content: '';
	width: 100%;
	height: 2px;
	background: transparent;
	border-radius: 1px;
	position: absolute;
	left: 0;
	bottom: -0.25rem;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-300%);
	transition: all 0.5s ease;
}

.date-column:hover .date-output::after,
.date-column .date-output.active::after {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.date-column .date-output.selected::after {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.date-column:hover .date-output.selected::after {
	background: #c51a1b;
}

.dauer-column {
	width: auto;
	margin-top: 1.5rem;
	margin-right: 0.5rem;
	display: inline-block;
}

#filter_nav #dauer_slider {
	margin-top: 0.75rem;
	margin-bottom: 0.75rem;
}

.slider-column {
	width: 55%;
	margin-top: 1.5rem;
	margin-right: 0.25rem;
	display: block;
	float: right;
}

.filter_dropdown:hover,
.filter_container:hover {
	background: rgba(0,0,0,0.3);
}

.filter_dropdown.hover {
	background: rgba(0,0,0,0.3);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2), 0 6px 10px 0 rgba(0,0,0,0.3);
	border-radius: 5px 5px 0 0;
}

#filter_nav .filter_output {
	overflow: hidden !important;
	white-space: nowrap;
	text-overflow: clip;
	margin-right: 1rem;
}

#filter_nav small {
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.8rem;
}

#filter_nav .sort_dropdown small {
	font-weight: 400;
	font-size: 0.7rem;
}

#filter_nav label {
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.625rem;
	line-height: 1;
	text-transform: uppercase;
	cursor: inherit;
	margin-bottom: 0.25rem;
	display: block;
}

.filter_dropdown .fa,
.filter_container .fa,
.sort_dropdown .fa {
	font-size: 1.25rem;
	text-align: center;
	width: 1.5rem;
	position: absolute;
	right: 0.75rem;
	bottom: 0.75rem;
	transition: all 0.3s ease;
}

.filter_container .fa {
	top: 0.75rem;
	bottom: auto;
}

.preis_slider_container {
	display: block;
	margin-top: 0.875rem;
}

#filter_nav .filter_dropdown:hover .fa,
#filter_nav .filter_dropdown.hover .fa,
#filter_nav .sort_dropdown:hover .fa,
#filter_nav .sort_dropdown.hover .fa {
	color: #ffffff;
}

.filter_dropdown .row .columns:last-child {
	margin-top: 1.5rem;
}

#filter_nav .slider {
	height: 0.25rem;
	background-color: rgba(255, 255, 255, 0.65);
	border-radius: 0.125rem;
	margin-top: 0.75rem;
	margin-bottom: 0.75rem;
}

#filter_nav .slider-fill {
	height: 0.25rem;
	background-color: rgba(255, 255, 255, 1);
}

#filter_nav .slider-handle {
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	transform-origin: center center;
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0);
	transition: box-shadow 0.2s cubic-bezier(.37,-0.07,.56,1.42);
}

#filter_nav .slider-handle:hover,
#filter_nav .slider-handle:focus {
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.4);
}

#filter_nav .dropdown-pane {
	border: none;
	border-radius: 0 0 5px 5px;
	padding: 0.5rem 0;
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.4);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2), 0 6px 10px 0 rgba(0,0,0,0.3);
	pointer-events: auto;
}

#filter_nav .dropdown-pane * {
	visibility: hidden;
	opacity: 0;
}

#filter_nav .dropdown-pane.is-open * {
	visibility: visible;
	opacity: 1;
}

#filter_nav .dropdown-pane.is-open::before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	top: -0.5rem;
	right: 1rem;
	border-left: 0.5rem transparent solid;
	border-right: 0.5rem transparent solid;
	border-bottom: 0.5rem #fefefe solid;
	z-index: 20;
}

#filter_nav .dropdown-pane.col-2.is-open::before {
	right: calc(50% + 1rem);
}

#filter_nav .dropdown-pane.col-3.is-open::before {
	right: calc(66% + 1rem);
}

#filter_nav #filter_datum {
	border-radius: 5px;
}

#filter_nav #filter_datum.is-open::before,
#filter_nav #filter_datum.select-start::before {
	right: auto;
	left: 1.5rem;
}

#filter_nav #filter_datum.select-start::before {
	left: 9rem;
}

#filter_nav .dropdown-pane ul {
	margin: 0;
	list-style-type: none;
}

#filter_nav .dropdown-pane .row .columns {
	padding: 0;
	border-right: 1px solid #dfdfdf;
}

#filter_nav .dropdown-pane .row .columns:last-child {
	border-right: none;
}

#filter_nav .dropdown-pane ul li a {
	font-size: 0.8rem;
	font-weight: 900;
	background: #ffffff;
	padding: 0.25rem 0.875rem 0.25rem 0.75rem;
	transition: all 0.3s ease;
	display: block;
	width: 100%;
}

#filter_nav .dropdown-pane ul li a small {
	font-size: 0.7rem;
	font-weight: 400;
}

#sort_pane ul li:nth-child(odd) {
	padding-top: 0.5rem;
}

#sort_pane ul li:nth-child(even) {
	padding-bottom: 0.5rem;
	border-bottom: 1px #f3f3f3 solid;
}

#sort_pane ul li:first-child,
#sort_pane ul li:last-child {
	padding-top: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
	
#filter_nav .dropdown-pane ul li a:hover {
	background: #efefef;
}

#filter_nav .dropdown-pane .badge {
	font-size: 1rem;
	background: #d8d8d8;
	margin-left: .5rem;
	line-height: 1;
	min-height: 1.25em;
	width: 1.25em;
	min-width: 1.25em;
	float: right;
	animation: bounce-inverse 0.35s cubic-bezier(.37,-0.07,.56,1.42);
}

#filter_nav .dropdown-pane ul li a.is-active .badge {
	animation: bounce 0.35s cubic-bezier(.37,-0.07,.56,1.42);
	z-index: 100;
}

#filter_nav .dropdown-pane ul li a .fa {
	font-size: 1rem;
	line-height: 1.25rem;
	width: 1.25rem;
	text-align: center;
	display: block;
	float: right;
}

#filter_reservierung {
	float: left;
	height: 2.75rem;
	display: none;
}

#filter_grandclass {
	float: left;
	height: 2.75rem;
}

#filter_reservierung .switch,
#filter_grandclass .switch {
	height: 0.8rem;
	margin-top: 0.325rem;
}

#filter_reservierung .switch-paddle,
#filter_grandclass .switch-paddle {
	background: rgba(255, 255, 255, 0.35);
	height: 0.75rem;
	width: 2.5rem;
	border-radius: 0.375rem;
	margin-bottom: 0;
	cursor: pointer;
}

#filter_reservierung input:checked~.switch-paddle,
#filter_grandclass input:checked~.switch-paddle {
	background: rgba(255, 255, 255, 0.8);
}

#filter_reservierung .switch .switch-paddle:after,
#filter_grandclass .switch .switch-paddle:after {
	width: 1rem;
	height: 1rem;
	border-radius: 0.5rem;
	top: -0.125rem;
	left: -0.125rem;
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.4);
}

#filter_reservierung .switch input:checked~.switch-paddle:after,
#filter_grandclass .switch input:checked~.switch-paddle:after {
	left: 1.625rem;
}

#filter_reservierung .switch .switch-active,
#filter_reservierung .switch .switch-inactive,
#filter_grandclass .switch .switch-active,
#filter_grandclass .switch .switch-inactive {
	text-transform: none;
}

#filter_reservierung .switch .switch-inactive,
#filter_grandclass .switch .switch-inactive {
    right: 10%;
}

.sort-column {
	padding-left: 0;
}

.sort_dropdown,
.view_container {
	font-size: 0.9rem;
	line-height: 1;
	font-weight: 700;
	height: 2.75rem;
	background: rgba(255,255,255,0.2);
	border-radius: 5px;
	padding: 0.5rem 0.75rem;
	margin-bottom: 0.5rem;
	margin-left: -0.5rem;
	position: relative;
	transition: all 0.3s ease;
}

.sort_dropdown {
	cursor: pointer;
}

.sort_dropdown:hover,
.view_container:hover {
	background: rgba(255,255,255,0.5);
}

.sort_dropdown.hover {
	background: rgba(255,255,255,0.5);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2), 0 6px 10px 0 rgba(0,0,0,0.3);
	border-radius: 5px 5px 0 0;
}

#filter_nav .sort_dropdown label,
#filter_nav .view_container label {
	font-size: 0.625rem;
	line-height: 1;
	text-transform: uppercase;
	margin-bottom: 0.25rem;
	display: block;
}

.view_container .fa {
	font-size: 1.25rem;
	text-align: center;
	width: 1.5rem;
	margin-left: 0.25rem;
	margin-top: -0.575rem;
	display: block;
	transition: all 0.3s ease;
	float: right;
}

#view_results {
	font-size: 1.25rem;
	line-height: 1;
	text-align: center;
	border-radius: 5px 0 0 5px;
	min-width: 2.75rem;
	width: 2.75rem;
	padding: 0.75rem 0.125rem;
	margin-right: 0.5rem;
	float: left;
	z-index: 10;
}

#view_results:hover {
	background: rgba(255,255,255,0.2);
}

#view_results:empty {
	display: none;
}

.search_loading_overlay,
.login_loading_overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	z-index: 60;
}

#search_loading,
.login-loading-icon {
	background: transparent;
	border-radius: 2.75rem;
	width: 5.5rem;
	height: 5.5rem;
	padding: 0.25rem;
	position: absolute;
	top: 26rem;
	left: 50%;
	margin-left: -2.75rem;
	display: none;
	z-index: 10;
	transition: all 0.3s ease;
}

#filter_nav.is-stuck + #search_loading {
	position: fixed;
	top: 19.25rem;
	margin-top: -2.5rem;
}

.calendar-title .slick-next,
.calendar-title .slick-prev {
	z-index: 10;
	transition: all 0.3s ease;
}

.calendar-title .slick-next:before,
.calendar-title .slick-prev:before {
	font-family: 'Material Icons';
	font-size: 2rem;
	line-height: 1;
	opacity: 1;
	color: #ffffff;
	transition: all 0.3s ease;
}

.calendar-title .slick-next:focus:before, 
.calendar-title .slick-prev:focus:before {
	color: #ffffff;
}

.calendar-title .slick-next:hover:before, 
.calendar-title .slick-prev:hover:before {
	opacity: 1;
}

.calendar-title .slick-next.slick-disabled:before,
.calendar-title .slick-prev.slick-disabled:before,
.calendar-title .slick-next.slick-disabled:hover:before,
.calendar-title .slick-prev.slick-disabled:hover:before, 
.calendar-title .slick-next.slick-disabled:focus:before,
.calendar-title .slick-prev.slick-disabled:focus:before{
	opacity: .25;
	color: #ffffff;
	cursor: default;
}

/* Responsive Calendar for Foundation */

.calendar, .calendar-head {
	margin: 0;
	border-radius: 10px;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.1), 0 6px 10px 0 rgba(0,0,0,0.2);
}
.calendar *, .calendar-head * {
	list-style: none;
	line-height: 1;
}

.calendar-title { 
	color: #ffffff;
	text-align: center;
	font-size: 1rem;
	font-weight: 700;
	padding: 0.5rem;
}

.calendar .week {
	padding: 0px;
	margin: 0px;
}

.calendar .week:last-child {
	border-bottom: none;
}

.calendar-head .day-header:before, .calendar-head .day-header:after,
.calendar .week:before, .calendar .week:after {
	content: " ";
	display: table;
}

.calendar-head .day-header:after,
.calendar .week:after {
	clear: both; 
}

.calendar .day,
.calendar .days,
.calendar-head .day {
  position: relative;
  padding: 1rem 0.5rem;
  width: 100%;
  height: 3rem;
  text-align:center;
  float: left;
  background: #ffffff;
  border-right: 1px #eeeeee solid;
  transition: all 0.3s ease;
}

.calendar .day,
.calendar .days {
	border-bottom: 1px #eeeeee solid;
}

.calendar.small, .calendar-head.small {
	margin: 0;
	border-radius: 0;
	box-shadow: none;
}

.calendar-head.small .day,
.calendar.small .day,
.calendar.small .days {
	font-size: 0.9rem;
	line-height: 1rem;
	height: 2rem;
	padding: 0.5rem;
}

.day[data-available] {
  background-color: #f5f3ee;
}

.calendar .day[data-month]:before {
  content: attr(data-month);
  font-size: 0.7rem;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  left: 2px;
  top: 2px;
}

.calendar.small .day[data-month]:before {
	font-size: 0.6rem;
	left: 1px;
	top: 1px;
}

.calendar li:first-child .day:first-child {
	border-top-left-radius: 10px;
}

.calendar li:first-child .day:last-child {
	border-top-right-radius: 10px;
}

.calendar li:last-child .day:first-child {
	border-bottom-left-radius: 10px;
}

.calendar li:last-child .day:last-child {
	border-bottom-right-radius: 10px;
}

.calendar.small li:first-child .day:first-child,
.calendar.small li:first-child .day:last-child,
.calendar.small li:last-child .day:first-child,
.calendar.small li:last-child .day:last-child {
	border-radius: 0;
}

.calendar-head .day-header .day:last-child,
.calendar .day:last-child,
.calendar .days:last-child,
.calendar .day.choice:last-child,
.calendar .day.disabled:last-child {
	border-right: none;
}

.calendar .day.disabled,
.calendar .day.disabled-start,
.calendar .day.disabled-end {
	color: #bbbbbb;
	opacity: 0.65 !important;
	pointer-events: none;
}

.calendar .day.choice {
	background: #41bd41;
	border-right: 1px #41bd41 solid;
	color: #ffffff;
	font-weight: 500;
}

.calendar-head .day-header .day,
.calendar-head .day-header .days { 
	color: #ffffff;
	text-align: center;
	min-height: 0.5rem;
	display: none;
}

.calendar .week .day.hover, .week .days.hover,
.calendar .week .day.selected, .week .days.selected {
	cursor: pointer;
}

.calendar .week .day.selected.unhover, .week .days.selected.unhover {
	background: #ffffff;
}

.calendar .week .day.disabled:hover, .week .days.disabled:hover {
	cursor: not-allowed;
	background: #dddddd;
	color: #bbbbbb;
}

.calendar .week .day.choice:hover, .week .days:hover {
	color: #ffffff;
	background: #41bd41;
}

.calendar .week .day:hover, .week .days:hover {
	color: #ffffff;
	cursor: pointer;
}

.calendar .week .day.is-start,
.calendar .week .day.is-end {
	color: #ffffff;
	font-weight: 700;
}

.calendar .week .day.is-start:hover,
.calendar .week .day.is-end:hover {
	background: #c51a1b;
}


.day.previous-month,
.days.previous-month,
.day.next-month,
.days.next-month {
  background: #eeeeee;
  color: #222222;
  display: none;
}

.day.today, .days.today {
  background: #76df9d;
}
.day.today:hover, .days.today:hover {
  background: #65ce8c;
}

@media only screen {
	.calendar .small-1,
	.calendar-head .small-1 {
		position: relative;
		width: 14.28571%;
	}

	.calendar-head .day-header .small-1,
	.small-1.previous-month,
	.small-1.next-month {
		display: block;
	}
}
@media only screen and (min-width: 40.063em) {
	.calendar .medium-1,
	.calendar-head .medium-1 {
		position: relative;
		width: 14.28571%;
	}

	.calendar-head .day-header .medium-1,
	.medium-1.previous-month,
	.medium-1.next-month {
		display: block;
	}
}
@media only screen and (min-width: 64.063em) {
	.calendar .large-1,
	.calendar-head .large-1 {
		position: relative;
		width: 14.28571%;
	}

	.calendar-head .day-header .large-1,
	.large-1.previous-month,
	.large-1.next-month {
		display: block;
	}
}
@media only screen and (min-width: 90.063em) {
	.calendar .xlarge-1,
	.calendar-head .xlarge-1 {
		position: relative;
		width: 14.28571%;
	}

	.calendar-head .day-header .xlarge-1,
	.xlarge-1.previous-month,
	.xlarge-1.next-month {
		display: block;
	}
}
@media only screen and (min-width: 120.063em) {
	.calendar .xxlarge-1,
	.calendar-head .xxlarge-1 {
		position: relative;
		width: 14.28571%;
	}

	.calendar-head .day-header .xxlarge-1,
	.xxlarge-1.previous-month,
	.xxlarge-1.next-month {
		display: block;
	}
}

/***** REPORTING *****/

.refi_header {
	background: #efefef;
	padding: 0.75rem 1rem 0.5rem;
}

.refi_header_icons {
	display: block;
	float: right;
}

.refi_header_icons a {
	margin-left: 0.5rem;
}

.refi_item {
	padding: 0.5rem 1rem 0rem;
}

.refi_item .descr {
	margin-bottom: 0.4rem;
}

#refi-suche {
	padding: 0;
	margin: 1rem 0 0 1rem;
	overflow: hidden;
}

#refi-suche .button {
	margin: 0.5rem 0.5rem 0.5rem 0.5rem;
	width: 6.5rem;
}

.repo_loading_overlay {
	background: rgba(221, 234, 240, 0.75);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	z-index: 60;
}

#repo_loading {
	background: #ffffff;
	border-radius: 2.75rem;
	width: 5.5rem;
	height: 5.5rem;
	padding: 0.25rem;
	position: relative;
	top: 5rem;
	left: 50%;
	margin-left: -2.75rem;
	display: none;
	z-index: 10;
	transition: all 0.3s ease;
}

div#repo_items.fullscreen {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	height: 100%;
	background-color: white;
}

#repo_screen {
	float: left;
}

div#repo_items table {
	border-collapse: collapse;
	font-size: 90%;
}

div#repo_items td {
	line-height: 0.8rem;
	border-right: 1px dotted black;
	text-align: center;
}

div#repo_items table th {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1001;
	background-color: white;
	line-height: 0.8rem;
	border-right: 1px dotted black;
	text-align: center;
	background-clip: padding-box;	
}

div#repo_items tr {
	border-left:1px solid black;
	border-right:1px solid black;
	border-bottom:1px dotted black;
}

div#repo_items tr.gs {
	border-top:1px solid black;
}

div#repo_items tr.f0 {
	background-color: #efefef;
}

div#repo_items tr.f1 {
	background-color: white;
}

/**************** GENERAL STYLES ****************/

select[readonly]{
	background: #e6e6e6;
	cursor: not-allowed;
}

select[readonly] option {
	display: none;
}

input[readonly]:focus, 
textarea[readonly]:focus {
	background: #e6e6e6;
	cursor: not-allowed;
}

.login-error-special {
	display: none;
}

#login-partner {
	font-size: 0.875rem; 
	ine-height: 1.4;
}

#login-intern {
	position: absolute;
	right: 15px;
	bottom: 15px;	
}

.intern_list {
	font-size: 0.875rem;
	height: 1.6rem;
	width: auto;
	padding-top: 0.1rem;
	padding-bottom: 0.1rem;
	padding-left: 0.3rem;
	margin: 0px;
}

.intern_set {
	padding-top: 0.4em;
	padding-bottom: 0.4em;
	padding-left: 0.2em;
	padding-right: 0.2em;
}

#login_lost.success,
#login_reset.success,
#login_request.success,
#login_complete.success {
	background: #e1faea;
}

#login_lost label,
#login_reset label,
#login_request label,
#login_complete label {
	width: 100%;
}

#login_lost .button,
#login_reset .button,
#login_request .button,
#login_complete .button {
	width: 100%;
	margin: 1.5rem 0 0;
}

#login_lost #password_form,
#login_reset #password_form,
#login_complete #password_form {
	display: block;
}

#nl-teaser {
	display: block;
	margin-bottom: 1rem;
}
	
#nl-text {
	display: none;
	margin-bottom: 1rem;
}


/***** ISOTOPE GRID STYLES *****/

.grid {
	padding: 0;
}

.grid-sizer,
.grid-item {
	width: 25%;
}

.grid-item {
	height: 29.5rem;
}

.gutter-sizer {
	width: 2%;
}

.grid-item-feature {
	width: 100%;
	height: 75vh;
}
.grid-item-x2 {
	width: 50%;
}
.grid-item-x3 {
	width: 75%;
}
.grid-item-x4 {
	width: 100%;
}
.grid-item-x5 {
	width: 100%;
}

/***** RESPONSIVE STYLES *****/

@media screen and (max-width: 1050px) {
	#facebook_menu, #instagram_menu	{
		display: none;
	}
	
	.grid-sizer,
	.grid-item {
		width: 33.333%;
	}

	.grid-item-x2,
	.grid-item-x3 {
		width: 66.666%;
	}

	.grid-item-x4 {
		width: 100%;
	}
}

/* Medium and up */
@media screen and (min-width: 40em) {

	.top-bar {
    height: 6rem;
    padding-top: 0;
    position: relative;
  }
  
  .top-bar .top-bar-left {
		font-size: 1.5rem;
		padding-top: 3.1rem;
		line-height: 1; 
		float: left;
  }

  .top-bar-right {
	 margin-top: 3rem; 
  }

  #secondary_nav {
    position: absolute;
    right: 0;
    top: -35px;
  }

  .logo {
    width: 5rem;
		height: 5rem;
		margin-top: 0.5rem;
	}
	
	h2 {
		font-size: 2.5rem;
	}
	
	.top-bar-title {
		padding: 0 1rem 0 0;
	}
	
	.routen {
		height: 0;
		padding-bottom: calc(100vh - 13rem);
		margin-top: 6rem;
	}

}

@media screen and (max-width: 63.9375em) {

	#filter {
		padding-top: 0;
	}
	
	.filter_nav_container {
		position: relative;
	}
	
	#filter_nav {
		height: auto;
		padding: 1rem 0;
	}
	
	.sort-column {
		padding-left: .9375rem;
	}
	
	.sort_dropdown, .view_container {
		width: calc(50% - 0.5rem);
		margin-left: 0;
		margin-right: 0.5rem;
	}
	
	.sort_dropdown {
		display: block;
    float: right;
    margin-top: -3.25rem;
	}
	
	.path-container .path-item {
		margin-top: 4rem;
	}
	
	.path-container .path-item .circle {
		top: 0;
	}
	
	.path-container .path-item .path-text p {
		padding-top: 3rem;
		border-radius: none;
	}
	
	.path-container .path-item .path-text p::after {
		display: none;
	}

}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
	.grid-sizer,
	.grid-item,
	.grid-item-x2 {
		width: 50%;
	}

	.grid-item-x3,
	.grid-item-x4 {
		width: 100%;
	}

	.callout.routen-legende {
		top: 2rem;
		left: 2rem;
	}

	#about,
	#agb,
	#content,
	#datenschutz,
	#impressum,
	#kontakt,
	#gutschein,
	#ag-register,
	#newsletter,
	#profile,
	#buchungen,
	#reporting,
	#angebote,
	#page_angebote,
	#page_kalender,
	#login_lost, #login_reset, #login_request, #login_complete,
	#mediathek	{
		padding-top: 6rem;
		padding-bottom: 3rem;
		height: auto;
		min-height: calc(100vh - 11rem);
	}

}

/* Extra Small only */
@media screen and (max-width: 25em) {
	
	.top-bar .top-bar-left {
		max-width: 10rem;
    font-size: 1.1rem;
    padding-top: 1.5rem;
	}
	
	#nl-teaser {
		display: none;
	}
	
	#nl-text {
		display: block;
	}

	#about,
	#agb,
	#content,
	#datenschutz,
	#impressum,
	#kontakt,
	#gutschein,
	#ag-register,
	#newsletter,
	#profile,
	#buchungen,
	#reporting,
	#angebote,
	#login_lost, #login_reset, #login_request, #login_complete,
	#page_angebote,
	#page_kalender,
	#mediathek	{
		padding-top: 6rem;
		padding-bottom: 3rem;
		height: auto;
		min-height: calc(100vh - 11rem);
	}
	
}

/* Small only */
@media screen and (max-width: 39.9375em) {
	.reveal {
		border-radius: 0;
	}
	
	#routen {
		padding: 2.5rem 0;
	}
	
	.sort-column {
		padding-left: .625rem;
	}
	
	.callout.routen-legende {
		position: relative;
		top: 0;
		left: 0;
		margin: 0 0.5rem;
		width: calc(100% - 1rem);
	}
	
	#reise-modal .badge {
		left: 0.5rem;
	}
	
	.preis {
		right: 1rem;
	}
	
	.grid-sizer,
	.grid-item,
	.grid-item-x2
	.grid-item-x3,
	.grid-item-x4 {
		width: 100%;
	}

	#nl-teaser {
		display: none;
	}
	
	#nl-text {
		display: block;
	}

	#about,
	#agb,
	#content,
	#datenschutz,
	#impressum,
	#kontakt,
	#gutschein,
	#ag-register,
	#newsletter,
	#profile,
	#buchungen,
	#reporting,
	#angebote,
	#login_lost, #login_reset, #login_request, #login_complete,
	#page_angebote,
	#page_kalender,
	#mediathek	{
		padding-top: 6rem;
		padding-bottom: 3rem;
		height: auto;
		min-height: calc(100vh - 11rem);
	}

	#reise-modal {
		width: 45%;
		top: 8rem !important;
	}

}

/* Large and up */
@media screen and (min-width: 64em) {
	
	.text-protection {
		position: fixed;
	}
	
	.feature {
		height: 75vh;
		width: 100%;
		position: relative;
		overflow: hidden;
		z-index: 50;
	}

	#about,
	#agb,
	#content,
	#datenschutz,
	#impressum,
	#kontakt,
	#gutschein,
	#ag-register,
	#newsletter,
	#profile,
	#buchungen,
	#reporting,
	#angebote,
	#login_lost, #login_reset, #login_request, #login_complete,
	#page_angebote,
	#page_kalender,
	#mediathek	{
		padding-top: 10rem;
		padding-bottom: 6rem;
		height: auto;
		min-height: calc(100vh - 11rem);
	}

	#reise-modal {
		width: 45%;
		top: 8rem !important;
	}

}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
	
}


/***** BACKUP *****/

/*.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
	float: left;
}*/