/* Spalten = 4 Desktop, 3 tablet, 2 smartphone, 1 klein */

@media only screen and (max-width: 479px) {
	ul.list {
		width: 100%;
		
	}
	.list_container:after {
		content: '';
   		display: block;
    		clear: both;
	}
}

@media only screen and (min-width: 480px) and (max-width: 767.9px) {
	ul.list {
		width: 50%;
		float: left;
	}
	ul.list:nth-child(3n) { 
		clear: left;
	}
	.list_container:after {
		content: '';
   		display: block;
    		clear: both;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024.9px) {
	ul.list {
		width: 33%;
		float: left;
	}
	ul.list:nth-child(3n+1) {
		clear: left;
	}
	.list_container:after {
		content: '';
   		display: block;
    		clear: both;
	}
}

@media only screen and (min-width: 1025px) {
	ul.list {
		width: 25%;
		float: left;
	}
	ul.list:nth-child(4n+1) {
		clear: left;
	}
	.list_container:after {
		content: '';
   		display: block;
    		clear: both;
	}
}

/* zwei spalten, auch 30 70 */

@media only screen and (min-width: 768px) {
	section.one_column_centered > div {
		width: 40%;
		margin-left: 30%;
	}
	
	section.two_columns > div {
		float: left;
		width: 47%;
	}
	
	section.two_columns:not(.two_columns_70_30):not(.two_columns_30_70):not(.two_columns_40_60):not(.two_columns_assymetric_grid_left):not(.two_columns_assymetric_grid_right) > div:first-of-type {
		margin-right: 6%;
	}
	
	section.two_columns_70_30 > div:first-of-type {
		float: left;
		width: 70%;
	}
	section.two_columns_70_30 > div:last-of-type {
		float: left;
		width: 25%;
		margin-left: 5%;
	}
	
	section.two_columns_30_70 > div:first-of-type {
		float: left;
		width: 25%;
		margin-right: 5%;
	}
	section.two_columns_30_70 > div:last-of-type {
		float: left;
		width: 70%;
	}
	
	section.two_columns_assymetric_grid_right,
	section.two_columns_assymetric_grid_left {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	
	section.two_columns_assymetric_grid_right > div,
	section.two_columns_assymetric_grid_left > div {
		padding: 20px 0;
	}
	
	section.two_columns_assymetric_grid_left > div:first-of-type {
		float: left;
		width: calc((100% - 20px) / 3);
		margin-right: 20px;
	}
	section.two_columns_assymetric_grid_left > div:last-of-type {
		float: left;
		width: calc((100% - 20px) / 3 * 2);
	}
	
	section.two_columns_assymetric_grid_right > div:first-of-type {
		float: left;
		width: calc((100% - 20px) / 3 * 2);
		margin-right: 20px;
	}
	section.two_columns_assymetric_grid_right > div:last-of-type {
		float: left;
		width: calc((100% - 20px) / 3);
	}
}

@media only screen and (min-width: 944px) {
	section.two_columns_40_60 > div:first-of-type {
		float: left;
		width: 33%;
		margin-right: 4%;
	}
	section.two_columns_40_60 > div:last-of-type {
		float: left;
		width: 63%;
	}
}

@media only screen and (max-width: 943.9px) {
	section.two_columns_40_60 > div {
		display: block;
		float: none;
		width: 100%;
		margin-left: 0;
	}
	
	section.two_columns_40_60 > div:last-child {
		margin-top: 80px; /* general-padding */
	}
	
	section.two_columns_40_60.padding_top_small > div:last-child,
	section.two_columns_40_60.padding_bottom_small > div:last-child {
		margin-top: 20px;
	}
}

@media only screen and (max-width: 767.9px) {
	section.two_columns > div {
		display: block;
		float: none;
		width: 100%;
		margin-left: 0;
	}
	
	section.two_columns > div:last-child {
		margin-top: 80px; /* general-padding */
	}
	
	section.two_columns.padding_top_small > div:last-child,
	section.two_columns.padding_bottom_small > div:last-child {
		margin-top: 20px;
	}
}


/* drei / vier  spalten */

section .height_100p_section {
	height: calc(100% - 160px); /* general-padding */	
}

section + section .height_100p_section {
	height: calc(100% - 80px); /* general-padding */	
}

@media only screen and (min-width: 768px) {
	section.three_columns > div {
		float: left;
		width: 31.3%;
		margin-right: 3%;
	}
	
	section.three_columns.three_columns_35_40_25 > div:nth-child(1) {
		float: left;
		width: 32%;
		margin-right: 5%;   
	}
	
	section.three_columns.three_columns_35_40_25 > div:nth-child(2) {
		float: left;
		width: 42%;
		margin-right: 5%;   
	}
	
	section.three_columns.three_columns_35_40_25 > div:nth-child(3) {
		float: left;
		width: 16%;   
	}
	
	section.three_columns.three_columns_20_40_40 > div {
		float: left;
		width: 35%;
		margin-right: 5%;   
	}
	
	section.three_columns.three_columns_20_40_40 > div:first-child {
		float: left;
		width: 18%;
		margin-right: 5%;
	}
	
	section.four_columns > div {
		float: left;
		width: 22.75%;
		margin-right: 3%;
	}
	
	section.three_columns.three_columns_items > div:nth-child(1) {
		float: left;
		width: 29%;
		margin-right: 0;
	}
	
	section.three_columns.three_columns_items > div:nth-child(2) {
		float: left;
		width: 48%;
		margin-right: 3%;
	}
	
	section.three_columns.three_columns_items > div:nth-child(3) {
		float: left;
		width: 19%;
		margin-right: 0;
	}
	
	section.three_columns > div:last-child,
	section.four_columns > div:last-child {
		margin-right: 0;
	}
}

@media only screen and (max-width: 767.9px) {
	section.three_columns > div,
	section.four_columns > div {
		display: block;
		float: none;
		width: 100%;
		margin-left: 0;
	}
	
	section.three_columns > div:not(:first-child),
	section.four_columns > div:not(:first-child) {
		margin-top: 80px; /* general-padding */
	}
	
	section .height_100p_section {
		height: auto;	
	}
	
	section + section .height_100p_section {
		height: auto;	
	}
}

/* eycatcher */

@media only screen and (max-width: 1024.9px) {
	img.wide {
		width: 100%;
	}
	
}

@media only screen and (min-width: 1025px) {
	img.wide {
		width: auto;
		display: block;
 		margin: 0 auto; 
	}
	div.center_wide {
		position: relative;
		width: 2560px;
		left: 50%;
		margin-left: -1280px;
	}
}
 
 /* tabelle */

section:not(.left).table table {
	margin: auto;
}

@media only screen and (min-width: 768px) {
	section.table table.three_columns tr td:not(:first-child) {
		width: 38%;
	}
}

section.table tr td {
	border-width: 4px;
	border-style: solid;
	vertical-align: top;
}

section.table tr td.bottom {
	vertical-align: bottom;
}

section.table.new tr td {
	border-width: 1px;
}

section.table td {
	padding: 20px;
}

section.table.new td {
	padding: 20px 0 20px 0;
}

section.table.new td:first-child {
	padding-right: 40px;
}

section.table h3,
section.table h2 {
	text-align: center;
}

/*section.table.image_titles  table tr:first-child td {
	padding-left: 0;
	padding-right: 0;
}*/

@media only screen and (min-width: 768px) {
	section.table.fixed_columns_30_70 td:first-child {
		width: 30%;
	}
	section.table.fixed_columns_30_70 td:last-child {
		width: 70%;
	}
}

@media only screen and (max-width: 767.9px) {
	section.table {
		padding-left: 0;
		padding-right: 0;
	}
	
	#facts_popup section.table {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	section.table td {
		display: block;
	}
	
	section.table tr:not(:last-child) td:last-child {
		margin-bottom: 40px;
	}
	
	section.table:not(.normal) tr td:first-child {
		border-bottom: none;
	}
	
	section.table.table_five_columns tr td:nth-child(n+3),
	section.table.table_three_columns tr:not(.two_columns) td:last-child {
		border-top: none;
	}
	
	section.table td label {
		display: block !important;
		margin-bottom: 5px;
	}
	section.table > h3,
	section.table > h2 {
		padding-left: 25px;
		padding-right: 25px;
	}
}

/* text neben bild */

section.text_box_image {
	display: flex;
}
section.text_box_image .image {
	flex: 1;
}
section.text_box_image .text {
	flex: 1;
	display: flex;
	flex-direction: column;    /* Inhalte vertikal stapeln */
  	justify-content: center;
}

section.text_beside_image > div:first-child {
	z-index: 2;
}

section.text_beside_image > div:last-child {
	z-index: 1;
}

section.image_beside_image > div,
section.text_beside_image > div {
	width: 50%;
	box-sizing: border-box;
}

@media only screen and (min-width: 768px) and (max-width: 1024.9px) {
	section.text_beside_image.bleed > div.text {
		width: 50%;
	}
	
	section.text_beside_image.bleed > div.image {
		width: calc((100vw - 120px) / 2);
	}
}

section.text_beside_image .video.width_711 .layer {
	background-color: black;
	width: 711px;
	height: 100%;
	position: absolute;
	top: 0;	
}

@media only screen and (min-width: 768px) {
	section.text_beside_image > div.height_333 {
		height: 333px;
	}
	
	section.text_beside_image > div.height_485,
	section.text_beside_image > div.height_752,
	section.text_beside_image > div.height_400,
	section.text_beside_image > div.height_533 {
		height: 400px;
	}
		
	section.text_beside_image > div.height_600 {
		height: 600px;
	}
	
	/*section.text_beside_image.center > div.text > div,
	section.text_beside_image.border > div.text > div*/
	section.text_beside_image.photo > div.text > div {
		position: relative;
	   	top: 50%;
	   	transform: translateY(-50%);
	}
	
	/*section.text_beside_image.center > div.image > div {
		position: relative;
	   	top: 50%;
	   	left: 50%;
	   	transform: translate(-50%,-50%);
	}*/
	
	/*section.text_beside_image.borderless, 
	section.text_beside_image.center,
	section.text_beside_image.border*/ 
	section.text_beside_image.photo:not(.vertical_padding_both) {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	section.text_beside_image.photo.vertical_padding_top {
		padding-top: 80px;
	}
	
	section.text_beside_image.photo.vertical_padding_bottom {
		padding-bottom: 80px;
	}
			
	section:not(.auto_shadow):not(.drop_shadow).text_beside_image > div.image {
		overflow: hidden;
	}
	
	section:not(.auto_shadow):not(.drop_shadow).text_beside_image.bleed > div.image {
		overflow: visible;
	}
	
	section.text_beside_image.graphic > div.image img,
	section.text_beside_image.screenshot > div.image img {
		width: 100%;
	}

	section.text_beside_image.flex > div.image img {
		width: auto;
		height: 100%;
	}
	
	section.text_beside_image.image {
		display: none;
	}
	
	section.text_beside_image > div.text.float_left {
		padding-right: 60px;	
	}
	
	section.text_beside_image > div.text.float_right {
		padding-left: 60px;	
	}
	
	section.text_beside_image svg.play {
		position: absolute;
		left: calc(50% - 38px);
		top: calc(50% - 38px);
		z-index: 3;
		opacity: 0;
	}
	
	section.text_beside_image .video {
		position: relative;
		cursor: pointer;
	}
	
	section.text_beside_image > div.video.float_right.width_711 .layer {
		right: 239px;
		z-index: 2;
	}
	
	section.text_beside_image .video .layer {
		opacity: 0.2;
	}
	
	section.text_beside_image .video:hover .layer {
		opacity: 0.4;
	}
	
	section.text_beside_image.graphic .image > div {
		overflow: visible !important;
	}
	
	/*section.text_beside_image.graphic > div.image img {
		width: auto;
	}*/
}

@media only screen and (min-width: 1280px) {
	section.text_beside_image > div.height_485,
	section.text_beside_image > div.height_752 {
		height: 485px;
	}
}

@media only screen and (min-width: 1480px) {
	section.text_beside_image > div.height_533 {
		height: 467px;
	}
	
	section.text_beside_image > div.height_752 {
		height: 619px;
	}
}

@media only screen and (min-width: 1680px) {
	section.text_beside_image > div.height_533 {
		height: 533px;
	}
	
	section.text_beside_image > div.height_752 {
		height: 752px;
	}
}
/*
@media only screen and (max-width: 1024px) {
	section.text_beside_image.graphic.bleed.text_left {
		padding-right: 0;
	}
	
	section.text_beside_image.graphic.bleed.text_right {
		padding-left: 0;
	}
}
*/

@media only screen and (min-width: 768px) and (max-width: 1024.9px) {
	section.text_beside_image > div.text.float_left {
		padding-right: 40px;	
	}
	
	section.text_beside_image > div.text.float_right {
		padding-left: 40px;	
	}
	
	section.text_beside_image.photo > div.image div {
		position: relative;
	   	left: 50%;
	   	transform: translateX(-50%);
	}
	
	section.text_beside_image > div.text.float_right svg.new {
		left: 40px;
	}
	
	section.text_beside_image.graphic {
		padding-left: 40px;
		padding-right: 40px;
		max-width: 1024px;
	}
	
	section.text_beside_image.photo {
		padding: 0;
		max-width: 1024px;
	}
	
	section.text_beside_image.photo.vertical_padding_both {
		padding: 80px 0;
	}
	
	section.text_beside_image.photo.vertical_padding_top {
		padding: 80px 0 0 0;
	}
	
	section.text_beside_image.photo.vertical_padding_bottom {
		padding: 0 0 80px 0;
	}
	
	section.text_beside_image.photo > div.text {
		width: calc(50% - 20px);
	}
	
	section.text_beside_image.photo > div.image {
		width: calc(50% + 20px);
	}

	section.text_beside_image.graphic.text_left,
	section.text_beside_image.photo.text_left {
		padding-left: 40px;
	}

	section.text_beside_image.graphic.text_right,	
	section.text_beside_image.photo.text_right {
		padding-right: 40px;
	}
}

@media only screen and (min-width: 1024px) {
	section.text_beside_image > div.image.float_right div.break_section_graphic.bleed div {
		right: calc((100vw - 904px) / 2);
		z-index: 1;
	}
}

@media only screen and (max-width: 1023.9px) {
	section.image_beside_image > div.image.image_right div.break_section_graphic.bleed div {
		left: -1vw;
	}
	
	section.text_beside_image > div.image.float_right div.break_section_graphic.bleed div {
		left: -60px;
		z-index: 1;
	}
}

@media only screen and (min-width: 1025px) {
	section.text_beside_image > div.video.float_right.width_711 .layer {
		top: -400px;
	}
	
	section:not(.auto_shadow):not(.drop_shadow).text_beside_image > div.image {
		overflow: visible;
		
	}
	section.text_beside_image > div.image picture {
		width: 100%;
	}
	
	section.text_beside_image > div.image.float_right.width_600 div,
	section.text_beside_image > div.image.float_right.width_800 div {
		position: relative;
		right: 128px;
		z-index: 1;
	}
	
	section.image_beside_image > div.image.image_right div.break_section_graphic div,
	section.text_beside_image > div.image.float_right div.break_section_graphic div {
		right: 128px;
		z-index: 1;
	}
	
	section.image_beside_image > div.image.image_right div.break_section_graphic.bleed div,
	section.text_beside_image > div.image.float_right div.break_section_graphic.bleed div {
		right: calc((100vw - 944px)/2);
		z-index: 1;
	}
	
	section.text_beside_image > div.image.float_right.width_711 div {
		position: relative;
		right: 239px;
		z-index: 1;
	}
	
	section.text_beside_image > div.text.float_right svg.new {
		left: 60px;
	}
	
	section.text_beside_image .video:hover svg.play {
		opacity: 1;
	}
	
	section.text_beside_image .video .layer {	
		opacity: 0;
	}
}

@media only screen and (min-width: 1024px) {
	div.big_img {
		width: 944px;
	}
	div.big_img.bleed {
		width: 100vw;
	}
}

@media only screen and (min-width: 1025px) {
	section.text_beside_image.asymmetric > div.float_right.image {
		left: -128px;
		position: relative;
	}
}

@media only screen and (min-width: 1280px) {
	section.text_beside_image.asymmetric > div.float_left {
		left: -128px;
		position: relative;
	}
	
	section.text_beside_image.asymmetric > div.float_right.text {
		left: 128px;
		position: relative;
	}
	
	div.big_img {
		width: 1200px;
	}
}

@media only screen and (min-width: 1480px) {
	
	section.text_beside_image > div.image.float_right.width_800 div {
		position: relative;
		right: 228px;
		z-index: 1;
	}
	
	section.text_beside_image > div.image.float_right div.break_section_graphic.width_800 div {
		right: 228px;
		z-index: 1;
	}
	
	section.text_beside_image.asymmetric > div.float_left.height_752 {
		left: -228px;
		position: relative;
	}
	
	section.text_beside_image.asymmetric > div.float_right.image.height_752 {
		left: -228px;
		position: relative;
	}
	
	section.text_beside_image.asymmetric > div.float_right.text.height_752 {
		left: 228px;
		position: relative;
	}
	
	div.big_img {
		width: 1400px;
	}
}

@media only screen and (min-width: 1680px) {
	section.text_beside_image > div.image.float_right.width_800 div {
		position: relative;
		right: 328px;
		z-index: 1;
	}
	
	section.text_beside_image > div.image.float_right div.break_section_graphic.width_800 div {
		right: 328px;
		z-index: 1;
	}
	
	section.text_beside_image.asymmetric > div.float_left.height_752 {
		left: -328px;
		position: relative;
	}
	
	section.text_beside_image.asymmetric > div.float_right.image.height_752 {
		left: -328px;
		position: relative;
	}
	
	section.text_beside_image.asymmetric > div.float_right.text.height_752 {
		left: 328px;
		position: relative;
	}
	
	div.big_img {
		width: 1600px;
	}
}

.image_shade {
	position: relative;
}

.image_shade > div:nth-child(2) {
	z-index: 2;
	position: absolute;
}

.image_shade > div:last-child {
	z-index: 1;
	position: static;
}

.image_shade > div:first-child {
	z-index: 3;
	display: none;
	position: absolute;
}

body.animation .image_shade > div:first-child {
	display: block;
}

body:not(.animation) .image_shade:hover > div:first-child {
	display: block;
	cursor: pointer;
}

@media only screen and (max-width: 767.9px) {
	.image_shade > div:first-child {
		width: calc(100% - 50px);
	}
	
	section.text_beside_image > div {
		float: none;
		width: 100%;
	}

	section.text_beside_image > div.text.height_333 {
		height: auto;
	} 
	
	section.text_beside_image > div:last-child.text {
		padding-top: 80px;	/* general-padding */
	}
	
	section.text_beside_image div.image {
		display: none;
	}
	
	section.text_beside_image.full.image > div > img {
		padding: 80px 25px 0 25px; /* general-padding */
		box-sizing: border-box;
	}
	
	section.text_beside_image  svg.new {
		top: -80px; /* general-padding */
	}
	
	section.text_beside_image.video {
		position: relative;
	}
	
	section.image_before_text.photo {
		padding-left: 0;
		padding-right: 0;
		padding-top: 0;
		padding-bottom: 0;
	}
	
	section.image_before_text.graphic,
	section.image_before_text.screenshot {
		padding-bottom: 0;
	}
}

@media only screen and (max-width: 1024.9px) { 
	.image_shade > div:first-child {
		
	}	
	
	section.text_beside_image.video .layer {
		height: 100%; 
		position: absolute;
		top: 0;	
		opacity: 0.2;
		background-color: black;
		cursor: pointer;
	}
	
	section.text_beside_image svg.play {
		position: absolute;
		left: calc(50% - 38px);
		top: calc(50% - 38px);
		z-index: 3;
		opacity: 1;
		cursor: pointer;
	}
}

section.text_beside_image svg.new {
	position: absolute;
}


/* panorama image */

@media only screen and (min-width: 1025px) {
	div.panorama > picture img { 
		position: relative;
	   	left: 50%;
	     	transform: translateX(-50%);
	} 

	div.height_110 {
		height: 110px;
	}
	
	div.height_190 {
		height: 190px;
	}
	
	div.height_300 {
		height: 300px;
	}
	
	div.height_470 {
		height: 470px;
	}
	
	div.height_560 {
		height: 560px;
	}
	
	div.height_700 {
		height: 700px;
	}
	
	div.height_850 {
		height: 850px;
	}
}

div.panorama {
	overflow: hidden;
	width: 100%;
}

/* buy box */

p.product_new {
	z-index: 2;
}

div.product_icons div:not(.clear) {
	width: 25%;
	float: left;
	text-align: center;
}

div.product_icons.addon div:not(.clear) {
	width: 33%;
}

div.product_icons.upgrade div:not(.clear) {
	width: 20%;
}

div.product_icons.addon.upgrade div:not(.clear) {
	width: 25%;
}

@media only screen and (min-width: 768px) {
	/*
	section.two_products div.product_description {
		height: 130px;
	}
	
	section.two_products div.product_abstract {
		height: 40px;
	}*/
	
	section.one_product div.product_image,
	section.two_products div.product_image {
		margin-bottom: 20px;
	}
}

section.one_product > div {
	width: 50%;
	max-width: 443px;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (max-width: 767.9px) {
	section.one_product > div {
		width: 100%;
	}
}

section.one_product div.product_image img,
section.two_products div.product_image img {
	width: 100%;	
}

@media only screen and (max-width: 767.9px) {
	div.product_icons div:not(.clear) {
		width: 33% !important;
		margin: 10px 0;
	}
	
	div.move_top + div > section {
		 top: -150px; 
		 z-index: 0; 
		 margin-bottom: -150px;
		 position: relative;
	}
	
	div.move_top {
		padding-bottom: 80px;
	}	
}

div.product_icons div svg {
	display: block;
	margin: auto;
	width: 38px;
	height: 38px;
}

div.product_rules div {
	padding-top: 8px;
	padding-bottom: 8px;
}

div.product_buttons > div.at_left {
	float: left;
	width: 40%;
	min-width: 160px;
	margin-top: 5px;
}

div.product_buttons > div.at_right {
	width: 60%;
	float: left;
	min-width: 250px;
	margin-top: 5px;
}

div.product_buttons > div.at_right *:not(.checkbox):not(label) {
	width: 100%;
}

div.product_buttons:after {
	content: '';
	clear: both;
	display: block;
}

svg.disruptor {
	top: 86px;
	right: -57px;	
}

.text_right svg.disruptor {
	left: -57px;	
}

p.product_new svg.disruptor {
	position: absolute;
	top: 110px; /* general-padding */
	left: 9%;
}

p.product_new.floating svg.disruptor {
	position: absolute;
	top: 112px; 
	left: 18%;
}

@media only screen and (max-width: 767.9px) {
	p.product_new.floating svg.disruptor {
		top: 89px;
		left: 18%; 
	}
	svg.disruptor {
		top: -80px; 	
	}
	p.product_new svg.disruptor {
		top: 95px;
		left: 10%;
	}
}

p.product_new svg.disruptor.recommoned {
	left: 80%;
}

@media only screen and (max-width: 767.9px) {
	p.product_new svg.new {
		left: 0;
	}
}

/* tabbar */

.tab {
	width: 1080px;
	max-width: calc(100vw - 6px);
	margin: auto;
	margin-bottom: 80px;
}

.tab.wide {
	width: 1200px;
}

.tab.extra_wide {
	width: 1422px;
}

section.tabbar {
	
	font-size: 0;
}

@media only screen and (max-width: 767.9px) {
	section.tabbar div {
		cursor: pointer;
		padding: 15px 0;
	}
}

@media only screen and (min-width: 768px) {
	
	section.tabbar {
		padding: 0;
	}
	
	section.tabbar div {
		cursor: pointer;
		padding: 20px 16px 21px 16px;
		line-height: 21px;
		margin: 0;
		display: inline-block;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
	}
}

@media only screen and (max-width: 767.9px) {
	section.tabbar {
		text-align: center;
		padding-bottom: 15px;
	}
	
	section.tabbar div {
		display: block;
		padding: 10px 15px 12px 12px;
		border-radius: 5px;
	}
}

/* zentriert */

section.center h4,
section.center p {
	max-width: 540px;
	margin-left: auto;
	margin-right: auto; 
}

section.center.wide p,
.disruptor_section_wide section.center p {
	max-width: 740px;
} 

section.center h3 {
	margin-left: auto;
	margin-right: auto;
	max-width: 688px;
}
.width_wide,
#content.wide section.center p {
	max-width: 688px;
}

.width_small,
section.small {
	max-width: 540px;
}

.width_tiny {
	max-width: 420px;
}

.width_tinyer {
	max-width: 405px;
}

/* in banner */

section.in_banner {
	position: relative;
}

section.in_banner > div {
	position: absolute;
	z-index: 1;
	width: 100%;
	max-width: 944px; 
	left: -0;
}

@media only screen and (min-width: 1025px) {
	section.in_banner_desktop {
		padding-top: 0;
		padding-bottom: 0;
	}
}

@media only screen and (min-width: 768px) {
	section.in_banner_tablet,
	section.in_banner_mobile {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	section.in_banner > div {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media only screen and (max-width: 1024.9px) {
	section.in_banner_desktop {
		position: static;
	}
	
	section.in_banner_desktop > div {
		position: static;
		display: block !important;
		padding-left: 0;
		padding-right: 0;
	}
	
	div.height_110,
	div.height_190,
	div.height_300,
	div.height_470,
	div.height_560,
	div.height_700,
	div.height_850 {
		height: 100%;
	}
	
	div.height_560.panorama.in_box,
	div.height_700.panorama.in_box,
	div.height_850.panorama.in_box,
	div.height_300.panorama.in_slider,
	div.height_470.panorama.in_slider,
	div.height_560.panorama.in_slider,
	div.height_700.panorama.in_slider,
	div.height_850.panorama.in_slider {
		height: auto;
	}
	
	section.in_banner {
		position: static;
		height: 100%;
	}
	
	section.in_banner.in_box,
	section.in_banner.in_slider {
		height: auto;
	}
	
	section.in_banner:not(.in_slider):not(.in_box) > div {
		box-sizing: border-box;
		max-width: 1024px;
	}
}

@media only screen and (max-width: 767.9px) {
	section.in_banner_tablet {
		position: static;
	}
	
	section.in_banner_tablet > div {
		position: static;
		display: block !important;
	}
	
	section.in_banner_tablet  div {
		display: inline-block;
	}
	
	section.in_banner_mobile > div,
	section.in_banner_mobile {
		padding: 0 25px;
	}
}

.panorama.layer {
	top: 0;
}

.panorama.layer > div {
	margin: auto;  
	top: 0; 
	background-color: black; 
	opacity: 0.6;
}

.panorama.layer > div.gradient {
	background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 25%,rgba(0,0,0,0.7) 75%,rgba(0,0,0,0) 100%);
	opacity: 1;
}

/* video, search */ 

video.lightbox,
#video_layer {
	position: fixed;
	top: 0;
	left: 0;
	/*opacity: 0.5;*/
}

#search_layer > .close,
#video_layer > .close {
	position: absolute;
	right: 20px;
	top: 20px;
}

#search_layer {
	position: fixed;
	width: calc(100% - 40px);
	max-width: 800px;
	height: calc(100vh - 40px);
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-overflow-scrolling: touch;
}

#search_results {
	/* height: calc(100vh - 327px); */
	overflow-y: auto;
	padding-bottom: 0;
	padding-top: 0;
}

#search_results > div:hover {
	background-color: #e5e5e5;
}

#search_results {
	background: url(../images/icons/search.svg) no-repeat center center;
	background-size: contain;
}

@media only screen and (max-width: 767.9px), only screen and (max-height: 767.9px) {
	#search_layer > section {
		padding-top: 25px;
		padding-bottom: 15px;
	}
}

@media only screen and (max-width: 767.9px) {
	#search_layer {
		width: 100vw;
		height: 100vh;
		top: 0;
		left: 0;
		transform: translateX(0);
	}
	
	#search_results {
		/*height: calc(100vh - 201px);*/
	}
} 	

#search_results > div {
	padding: 20px 40px 20px 40px;
	margin: 0 -40px 0 -40px;
	cursor: pointer;
}

@media only screen and (max-width: 767.9px) {
	#search_results > div {
		padding-left: 25px;
		padding-right: 25px;
		margin-left: -25px;
		margin-right: -25px;
	}
} 

/* grid */ 

section.grid:not(.padding_bottom_big) {
	padding-bottom: 0;
}

section.grid:not(.small_gap) > div {
	margin-bottom: 80px; /* general-padding */
}

section.grid.small_gap > div {
	margin-bottom: 40px; /* general-padding */
}

section.grid.humans > div {
	margin-bottom: 40px;
}
section.grid.paragraphs > div {
	margin-bottom: 20px;
}

@media only screen and (min-width: 1025px) {
	section.grid_five_columns > div {
		float: left;
		width: calc((100% - 80px) * 0.2);
		margin-right: 20px;
	}
	
	section.grid_four_columns > div {
		float: left;
		width: calc((100% - 90px) * 0.25);
		margin-right: 30px;
	}
	
	section:not(.panorama).grid_three_columns > div {
		float: left;
		width: calc((100% - 80px) * 0.3333333);
		margin-right: 40px;
	}
	
	section:not(.panorama).grid_two_columns > div {
		float: left;
		width: calc((100% - 60px) / 2);
		margin-right: 60px;
	}
	
	section:not(.panorama).grid_two_columns > div:nth-of-type(2n),
	section:not(.panorama).grid_three_columns > div:nth-of-type(3n),
	section.grid_four_columns > div:nth-of-type(4n),
	section.grid_five_columns > div:nth-of-type(5n) {
		margin-right: 0;
	}
	
	section.panorama.grid_two_columns,
	section.panorama.grid_three_columns {
		display: flex; 
		flex-wrap: wrap; 
		justify-content: center; 
		padding: 0 10px;
	}
	
	section.panorama.grid_two_columns > div {
		margin-left: 30px;
		margin-right: 30px;
		width: 442px;
		/*height: 651px;*/
	}
	
	section.panorama.grid_three_columns > div {
		margin-left: 20px;
		margin-right: 20px;
		width: 228px;
		/*height: 296px;*/
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024.9px) {
	section.grid > div {
		float: left;
		width: calc((100% - 40px) * 0.49);
		margin-right: 40px;
	}
	
	section.grid.grid_five_columns > div {
		float: left;
		width: calc((100% - 90px) * 0.25);
		margin-right: 30px;
	}
	
	section.grid.grid_five_columns > div:nth-of-type(4n),
	section.grid:not(.grid_five_columns) > div:nth-of-type(2n) {
		margin-right: 0;
	}
}

@media only screen and (max-width: 767.9px) {
	section.grid:not(.grid_padding) {
		padding-left: 0;
		padding-right: 0;
	}
	
	section.grid > div {
		display: block;
		float: none;
		width: 100%;
		margin-left: 0;
	}
	
	section.grid:not(.grid_padding) > div > div:last-of-type {
		padding-left: 25px;
		padding-right: 25px;
	}
} 

/* hover effekte */

/*
section.grid.image_hover_zoom div.image {
	overflow: hidden;
}

section.grid.image_hover_zoom div.image img {
	width: 95%;
	position: relative;
	left: 47.5%;
	top: 50%;
	transform: translate(-47.5%,-50%);
	transition: width 0ms linear;
}

section.grid.image_hover_zoom div.image div {
	height: 250px;
}

section.grid.image_hover_zoom div:hover img {
	width: 100%;
	transition: width 100ms linear;
	left: 50%;
	transform: translate(-50%,-50%);
}
*/

img.banderole.design {
	top: -9px;
	right: -9px; 
}

svg.banderole.paragraph {
	top: -5px;
	right: -5px;
}

svg.banderole.paragraph.extra {
	top: 17px;
	right: 17px;
}

svg.banderole.paragraph.portrait {
	top: -6px;
	right: -6px;
}

svg.eye {
	top: 0px;
	left: 0px;
	height: 62px;
	width: 62px;
}

@media only screen and (max-width: 767.9px) {
	.image_hover_shadow_raise > *:not(.banderole):not(.eye) {
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
	}
}

@media only screen and (min-width: 768px) {
	.box_shadow_zoom > * {
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
		transition: all 300ms ease;
	}
	
	.box_shadow_zoom img {
		position: relative;
		transform: scale(1, 1);
		transition: all 300ms ease;
	}
	
	.box_shadow_zoom:hover img {
		position: relative;
		transform: scale(1.05, 1.05);
		transition: all 300ms ease;
	}
	
	.box_shadow_zoom:hover .reserve {
		padding-bottom: 0 !important;
	}
	
	.image_shadow {
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
	}
	
	.image_hover_shadow_raise > *:not(.banderole):not(.eye) {
		/*transform: translateY(0px);*/
		transform: scale(1, 1);
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
		transition: all 300ms ease;
	}
	
	.image_hover_shadow_raise:hover > *:not(.banderole):not(.eye) {
		position: relative;
		box-shadow: 0 0 40px 0 rgba(0,0,0,0.2);
		/*transform: translateY(-10px);*/
		transform: scale(1.05, 1.05);
		background-color: white;
		transition: all 300ms ease;
	}
	
	.image_hover_shadow_raise > .eye,
	.image_hover_shadow_raise > .banderole.paragraph,
	.image_hover_shadow_raise > .banderole.design {
		/*transform: translateY(0px);*/
		transform: scale(1, 1) translate(0, 0);
		transition: all 300ms ease;
	}
	
	.image_hover_shadow_raise:hover > .banderole.design {
		/*transform: translateY(-10px);*/
		transform: scale(1.05, 1.05) translate(8px, -5px);
		transition: all 300ms ease;
	}
	
	.image_hover_shadow_raise:hover > .banderole.paragraph {
		/*transform: translateY(-10px);*/
		transform: scale(1.5, 1.5) translate(-5px, 4px);
		transition: all 300ms ease;
	}
	
	.image_hover_shadow_raise:hover > .banderole.paragraph.extra {
		transform: scale(1.5, 1.5) translate(-3px, 3px);
	}
	
	.image_hover_shadow_raise:hover > .banderole.paragraph.new {
		transform: scale(1.5, 1.5) translate(-4px, 5px);
	}
	.image_hover_shadow_raise:hover > .banderole.paragraph.new.portrait {
		transform: scale(1.5, 1.5) translate(-4px, 1px);
	}
	
	.image_hover_shadow_raise:hover > .eye {
		/*transform: translateY(-10px);*/
		transform: scale(1.05, 1.05) translate(-2px, 0);
		transition: all 300ms ease;
	}
	
	.div_hover_shadow_raise {
		transition: all 100ms ease;
	}
	
	.div_hover_shadow_raise:hover {
		box-shadow: 0 0 40px 0 rgba(0,0,0,0.2);
		transform: scale(1.015, 1.015) translate(1px, -1px);
		position: relative;
		transition: all 300ms ease;
	}
}

/* icons */

table.facts .svg svg {
	width: 17%;
	float: left;
	margin-right: 10%;
}

table.facts .svg svg:last-child {
	margin-right: 0%;
}

table.facts .svg div {
	max-width: 600px;
	margin: auto;
}

section.icons_5 svg {
	width: 20%;
	float: left;
}

@media only screen and (max-width: 767.9px) {
	section.icons_5 svg {
		width: 50%;
	}
}

/* slider */

section.page_slider .cover > div {
	height: 100%;
}

section.page_slider .cover > div:nth-child(2) {
	
}

section.page_slider > div.stage a.slide {
	position: absolute;
	top: 50px;
	line-height: 0;
}

section.page_slider > div.stage > a.slide:first-of-type {
	z-index: 50;
	left: 0;
}

section.page_slider > div.stage > a.slide:last-of-type {
	z-index: 50;
	right: 0;
}

section.page_slider > div.stage {
	position: relative;
	overflow: hidden;
}

section.page_slider.preview > div.stage {
	overflow: visible;
}

section.page_slider > div > div,
section.page_slider > div > div > div {
	overflow: visible;
}

section.page_slider > div.stage > div.slider_images {
	position: absolute;
}

section.page_slider > div.stage > div.slider_images.animate {
	transition: left 300ms ease;
}

section.page_slider > div.stage > div.slider_images > div {
	display: inline-block;
	vertical-align: middle;
}

section.page_slider.fade > div.stage > div.slider_images > div {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	transition: opacity 250ms ease-in;
}

section.page_slider.fade > div.stage > div.slider_images > div.appear {
	opacity: 1;
	transition: opacity 250ms ease-out;
}

section.page_slider > div.stage > div.slider_images > div > div {
	overflow: visible !important;
}

.shadow {
	box-shadow: 0 0 8px 0 rgba(0,0,0,0.17);
}

.button.color_black.details {
	background-image: url(../images/icons/button_details.svg);
	background-position: right 10px center;
	padding-right: 55px;
	padding-left: 0;
}

/*
.button.color_black {
	animation: wobble 1400ms linear infinite;
}

@keyframes wobble {
  	50% {
    		border-radius: 20px;
  	}
}
*/		

.top_80 {
	position: relative;
	top: -80px;
}

.bottom_80 {
	position: relative;
	top: 80px;
}

.border_radius {
	border-radius: 20px;	
} 

section.page_slider {
	padding-top: 0;
	padding-bottom: 0;
}

@media only screen and (max-width: 1024.9px) {
	section.page_slider {
		padding-left: 0;
		padding-right: 0;
		max-width: 1024px;
	}	
	
	section.page_slider > div.stage > a.slide:first-of-type {
		left: 20px;
	}
	
	section.page_slider > div.stage > a.slide:last-of-type {
		right: 20px;
	}
}

section.in_banner.in_box > div,
section.in_banner.in_slider > div {
	width: 35%;
}

.padding_banner {
	padding-top: 80px; /* general-padding */
}

@media only screen and (max-width: 767.9px) {
	section.page_slider h2 {
		padding-left: 25px;
		padding-right: 25px;
	}	
	
	section.in_banner.in_slider > div.layer {
		display: none !important;
	} 
	
	section.in_banner.in_box > div,
	section.in_banner.in_slider > div {
		width: 100%;
	}
	
	.padding_banner {
		padding-top: 0;
	}
}

div.banner_slider a.slide:first-of-type {
	left: 20px;
}
	
div.banner_slider a.slide:last-of-type {
	right: 20px;
}

.banner_slider > div > section > div.text {
	transition: transform 300ms ease;
	transform: translateY(120px);
	opacity: 0;
}

.in_box > div.text,
.banner_slider > div.visible > section > div.text {
	top: 80px; /* general-padding */
	transform: translateY(0px);
	opacity: 1;
}

div.visible > section.in_box > div.text {
	top: 80px; /* general-padding */
	transform: translateY(0px);
	opacity: 1;
}

@media only screen and (max-width: 1024.9px) and (min-width: 768px) {
	section.page_slider h2 {
		padding-left: 40px;
		padding-right: 40px;
	}
	
	section.in_box > div.text,
	.banner_slider > div.visible > section > div.text {
		top: 50px;
	}
	
	.padding_banner {
		padding-top: 50px;
	}
}

@media only screen and (max-width: 1177.9px) and (min-width: 768px) {
	div.banner_slider a.slide:first-of-type {
		left: calc(35% + 100px);
	}	
}

div.banner_slider a.slide {
	position: absolute;
	top: calc(50% - 19px);
	background-color: rgba(255,255,255,0);
}

div.banner_slider {
	position: relative;
} 

div.banner_slider > div {
	position: absolute;
} 

div.banner_slider > div > section > div:first-child {
	background-color: #383838;
	opacity: 0.85;
}

/**/

.button_vertical_bottom {
	top: calc(100% - 39px);
	position: relative;
}

.vertical_45_percent {
	position: relative;
	top: 45%;
	transform: translateY(-45%);
}

.vertical_middle_tablet,
.vertical_middle_mobile,
.vertical_middle  {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.center_middle_in_container  {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.center_middle_bottom_in_container  {
	position: absolute;
	top: 75%;
	left: 50%;
	transform: translate(-50%,-75%);
	z-index: 1;
}

@media only screen and (max-width: 1024.9px) {
	section.in_banner_desktop .vertical_middle {
		position: static;
		top: auto;
		transform: none;
	}
}

@media only screen and (max-width: 767.9px) {
	.vertical_middle_tablet,
	section:not(.in_banner_mobile) .vertical_middle {
		position: static;
		top: auto;
		transform: none;
	}
}

/* voucher */

section.voucher > div:first-child > div {
	padding: 40px 0 40px 40px;
}

section.voucher > div:last-child > div {
	padding: 40px 40px 40px 0;
}

section.voucher .voucher_head {
	line-height: 34px;
	top: 0;
}

section.voucher .voucher_text {
	margin-top: 10px;
}

section.voucher .voucher_number {
	top: 84px;
	right: 53px;
	font-size: 139px;
	letter-spacing: -5px;
}

section.voucher .voucher_euro {
	top: 37px;
	right: 30px;
}

@media only screen and (min-width: 768px) and (max-width: 1024.9px) {
	section.voucher .voucher_number {
		top: 64px;
		font-size: 84px;
	}	
	
	section.voucher .voucher_head {
		line-height: 28px;
		font-size: 26px;
	}
}

@media only screen and (max-width: 767.9px) {
	section.voucher .voucher_number {
		top: 100px;
		right: 54px;
		font-size: 30px;
		font-family: ProximaNova-LightWeb, sans-serif;
		letter-spacing: 0;
	}	
	
	section.voucher .voucher_euro {
		top: 91px;
		right: 21px;
	}
	
	section.voucher > div:last-child {
		margin-top: 15px !important;
		padding-top: 15px;
	}
}

.voucher_container section {
	background-image: url(../images/icons/gutschein_vertikal.svg);
	background-position: center;
	background-clip: content-box;
}

.voucher_container section.no_padding_top {
	background-position: top;
}

.voucher_container section.no_padding_bottom {
	background-position: bottom;
}

@media only screen and (max-width: 767.9px) {
	.voucher_container section {
		background-image: url(../images/icons/gutschein_horizontal.svg);
		background-repeat: repeat-x;
	}
	
	section.voucher.two_columns > div:last-child {
		margin-top: 40px;
	}
	
	section.voucher > div:first-child > div {
		padding: 40px 25px 20px 25px;
	}
	section.voucher > div:last-child > div {
		padding: 20px 25px 40px 25px;
	}
}

/* bezahen */

section.form.payment_formular {
	top: -60px;
	position: relative;
	padding-bottom: 20px;
}

section.form.payment_formular > div {
	margin: 0;
}

#credit_card_frame {
	width: 540px; 
	height: 295px; /* general-padding */ 
}

@media only screen and (max-width: 767.9px) {
	#credit_card_frame {
		width: 100%;
	}
}

/* schöner link */

#welcome h3 a {
	background-image: url(../images/icons/link.svg);
	background-position: right;
	background-size: 18px;
	padding-right: 30px;
}

#welcome_boxes + div a + a,
#welcome_boxes a + a {
	margin-left: 15px;
}

@media only screen and (max-width: 767.9px) {
	#welcome h3 a {
		background-image: url(../images/icons/link_schwarz.svg);
	}
	
	#welcome .color_white_childs h3 a {
		background-image: url(../images/icons/link.svg);
	}
}

#welcome h3 a:hover,
#welcome .color_white_childs a:not(.button):hover {
	text-decoration: underline !important;
}

a.button.button_important,
button.button_important,
input.button_important {
	background-image: url(../images/icons/link.svg);
	background-position: calc(100% - 17px);
	background-size: 16px;
	padding-right: 45px;
}

/* akkordeon */

section.accordion div {
	max-width: 688px;
	margin: auto;
}

section.accordion h3:hover {
	cursor: pointer;
	transition: color 200ms ease, fill 200ms ease;
}

section.accordion div p {
	overflow: hidden;
	box-sizing: border-box;
	max-height: 0;
}

section.accordion div p { 
	transition: max-height 1200ms ease;
}

section.accordion div.open p {
	transition: max-height 1200ms ease;
}

section.accordion div svg {
	transform: rotate(0deg);
	transition: transform 200ms ease;
}

section.accordion div.open svg {
	transform: rotate(90deg);
	transition: transform 200ms ease, fill 200ms ease;
}

@media only screen and (max-width: 767.9px) {
	section.accordion div.open p {
		max-height: 1000px;
	}
}

@media only screen and (min-width: 768px) {
	section.accordion div.open p {
		max-height: 265px; /* 10 zeilen */
	}
}

/* line */

section.line > div {
	width: 80px;
	height: 80px;
	border: 1px solid #e1e1e1;
	border-radius: 40px;
	position: relative;
	margin: auto;
	text-align: center;
	font-size: 43px;
	padding-top: 30px;
	box-sizing: border-box;
	font-family: ProximaNova-LightWeb, sans-serif;
}

section.line.animate > div {
	border: 1px solid #999999;
}

section.line > div > div:nth-child(1) {
	position: absolute;
	display: block;
	top: 39px;
	background-color: #e1e1e1;
	height: 1px;
	
}

section.line > div > div:nth-child(2) {
	position: absolute;
	display: block;
	top: 39px;
	left: 79px;
      background-color: #e1e1e1;
      height: 1px;
  
}

section.line > div > div > span {
	width: 0%;
	background-color: #999999;
	display: block;
	height: 1px;
}

section.line.animate > div > div > span {
	width: 100%;
	transition: width 1300ms linear;
}

section.line > div > div:first-child span {
	float: right;
}

/*
section.line:not(.naimate) > div:nth-child(1),
section.line:not(.naimate) > div:nth-child(3) {
	width: 0;
}

section.line:not(.naimate) div:nth-child(1) {
	left: 0;
}
*/

@media only screen and (max-width: 767.9px) {
	section.line > div > div:first-child {
		left: calc(-1 * ((100vw - 50px) / 2 - 40px));
	}
	
	section.line > div > div {
		width: calc((100vw - 50px) / 2 - 40px);
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024.9px) {
	section.line > div > div:first-child {
		left: calc(-1 * ((100vw - 80px) / 2 - 40px));
	}
	section.line > div > div {
		width: calc((100vw - 80px) / 2 - 40px);
	}
}

@media only screen and (min-width: 1025px) {
	section.line > div > div:first-child {
		left: calc(-1 * ((1024px - 80px) / 2 - 40px));
	}
	
	section.line > div > div {
		width: calc((1024px - 80px) / 2 - 40px);
	}
}

/* 4 spalten brechen aus */

section.break_three_columns > div:first-child,
section.break_four_columns > div:first-child {
	margin-left: 60px;
}

section.break_four_columns > div {
	width: calc((99% - 300px)/4);
	margin-right: 60px;
	float: left;
}

section.break_three_columns > div {
	width: calc((99% - 300px)/3);
	margin-right: 60px;
	float: left;
}

@media only screen and (max-width: 1679px) {
	section.show_from_1680 {
		display: none;
	}
}

@media only screen and (min-width: 1680px) {
	section.show_until_1680 {
		display: none;
	}
}

/* generic */

section.generic p,
section.generic h2 {
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

section.generic p.right {
	text-align: right;
}

section.generic div.index div.text div {
	 margin-bottom: 15px;
}

section.generic div.index div.text {
	 margin-top: 5px;
}

section.generic img {
	margin-top: 50px;
	max-width: 100%;
	height: auto;
	box-shadow: 0 0px 100px rgba(0,0,0,0.25) ;
}

section.generic img + p {
	margin-top: 80px;
}

section.generic i {
	font-family: ProximaNova-SBoldWeb, sans-serif;
}

section.generic div.index {
	max-width: 688px;	
	margin-left: auto;
	margin-right: auto;
}

section.generic div.index a span {
	font-size: 80%;
	border: 1px solid #a8d8dd;
	border-radius: 12px;
	width: 20px;
	display: inline-block;
	left: -15px;
	padding-left: 2px;
	margin-right: 5px;
	text-align: center;
}

section.generic p,
section.generic h2 {
	max-width: 688px;
}

.shadow_big,
.disruptor_section, .disruptor_section_wide,
div.auto_shadow div.reserve img,
section.auto_shadow div.reserve video,
div.auto_shadow.reserve img,
section.auto_shadow div.reserve img {
	box-shadow: 0 0 40px 0 rgba(0,0,0,0.1);
}

.shadow_strong {
	box-shadow: 0 0 40px 0 rgba(0,0,0,0.5);
}
.shadow_strong_big {
	box-shadow: 0 0 80px 0 rgba(0,0,0,0.7);
}

div.auto_shadow_light div.reserve img,
section.auto_shadow_light div.reserve img {
	box-shadow: 0 0 40px 0 rgba(0,0,0,0.2);
}

body.pro_shop section.auto_shadow div.reserve img,
body.pro_shop .shadow_big {
	box-shadow: 0 0 40px 0 rgba(0,0,0,0.2);
}      

.drop_shadow_top .selector_top img,
.drop_shadow_middle .selector_middle img,
.drop_shadow_bottom .selector_bottom img,
.auto_drop_shadow div.reserve img,
div.auto_drop_shadow.reserve img,
.drop_shadow img {
	-webkit-filter: drop-shadow(0px 0px 15px rgba(0,0,0,0.13));
  	filter: drop-shadow(0px 0px 24px rgba(0,0,0,0.13));
}

.drop_shadow_top_lb .selector_top img,
.drop_shadow_lb img {
	-webkit-filter: drop-shadow(-15px 15px 20px rgba(0,0,0,0.2));
  	filter: drop-shadow(-15px 15px 20px rgba(0,0,0,0.2));
}

.drop_shadow_top_lt .selector_top img,
.drop_shadow_lt img {
	-webkit-filter: drop-shadow(-15px -15px 20px rgba(0,0,0,0.2));
  	filter: drop-shadow(-15px -15px 20px rgba(0,0,0,0.2));
}

.drop_shadow_top_rt .selector_top img,
.drop_shadow_rt img {
	-webkit-filter: drop-shadow(15px -15px 20px rgba(0,0,0,0.2));
  	filter: drop-shadow(15px -15px 20px rgba(0,0,0,0.2));
}

.drop_shadow_top_big .selector_top img, 
.drop_shadow_big {
	-webkit-filter: drop-shadow(0px 0px 30px rgba(0,0,0,0.26));
  	filter: drop-shadow(0px 0px 48px rgba(0,0,0,0.26));
} 
  
.drop_shadow_strong img {
	-webkit-filter: drop-shadow(0px 0px 15px rgba(0,0,0,0.5));
  	filter: drop-shadow(0px 0px 24px rgba(0,0,0,0.5));
}

.drop_shadow_half_strong img {
	-webkit-filter: drop-shadow(0px 0px 15px rgba(0,0,0,0.35));
  	filter: drop-shadow(0px 0px 24px rgba(0,0,0,0.35));
}

.shadow_right_bottom {
	box-shadow: 35px 50px 80px -12px rgba(0,0,0,0.50);			
}

section.auto_shadow div.reserve {
	overflow: visible;
}

/* service */
@media only screen and (min-width: 768px) {
	.service_roundup_top {
		position: relative; 
		margin-top: -120px;	
	}
}

@media only screen and (max-width: 767.9px) {
	section.text_under_image_mobile.in_banner > div {
		position: static;
		padding: 0;
	}

	section.text_under_image_mobile.in_banner > div .vertical_middle {
		position: static;
		top: 0;
		transform: translateY(0);
	}
	
	section.text_under_image_mobile.in_banner {
		padding: 80px 25px;
	}
}

/* faq box */
section.faq_box > div.list:after,
section.faq_box:after {
	clear: both;
}

section.faq_box div.question.active {
	color: black;
}

section.faq_box div.question {
	color: #b0b0b0;
	padding-top: 10px;
	padding-bottom: 10px;
	cursor: pointer;
}

@media only screen and (min-width: 768px) {
	section.faq_box div.question {
		padding-right: 30px;
	}
	
	section.faq_box > div:nth-child(even) {
		padding-left: 80px;
		float: left;
		width: calc(69% - 80px);
	}
	
	section.faq_box > div:nth-child(odd) {
		float: left;
		width: 30%;
		clear: both;
	}
	
	section.faq_box div.question {
		border-right: 1px solid #e5e5e5;
	}
	
	section.faq_list > div {
		border-top: 1px solid #e5e5e5;
		padding-top: 30px;
	}
	
	section.faq_box div.question.active {
		border-right: 1px solid black;
	}
}

@media only screen and (max-width: 767.9px) {
	section.faq_box div.question {
		border-top: 1px solid #e5e5e5;
	}	
	
	section.faq_box div.question.active {
		border-top: 1px solid black;
	}
	
	section.faq_box div.answer {
		margin-bottom: 20px;
	}
	
	section.faq_box div.question h2 {
		color: #b0b0b0;
	}
	
	section.faq_box div.question.active h2 {
		color: #333333;
	}
}

/* muted_inline_video */

div.muted_inline_video div,
div.muted_inline_video video {
	width: 100vw;
}	

div.muted_inline_video.width_608,
div.muted_inline_video.width_608 div,
div.muted_inline_video.width_608 video {
	width: 608px;
}	

@media only screen and (max-width: 608px) {
	div.muted_inline_video.width_608,
	div.muted_inline_video.width_608 div,
	div.muted_inline_video.width_608 video {
		width: 100vw;
	}	
}

@media only screen and (min-width: 1025px) {
	div.muted_inline_video,
	div.muted_inline_video div,
	div.muted_inline_video video {
		width: calc(100vw - 20px);
	}
}
 
@media only screen and (min-width: 1025px) and (max-height: 1014px) {
	div.muted_inline_video,
	div.muted_inline_video div,
	div.muted_inline_video video {
		width: auto !important;
		max-height: calc(100vh - 150px);
		margin: auto;
	}
	
	div.muted_inline_video video {
		left: 0; 
  		right: 0; 
  		margin-left: auto; 
  		margin-right: auto; 
	}
}

@media only screen and (min-width: 1400px) {
	div.muted_inline_video,
	div.muted_inline_video div,
	div.muted_inline_video video {
		width: calc(100vw - 150px);
		max-width: 1536px;
	}
}

/* images percent */

@media only screen and (min-width: 768px) and (max-width: 1023.9px) {
	div.tablet_percent_80 {
		width: 125vw;
		margin-left: -12.5vw;
		max-width: none !important;
	}
	div.tablet_percent_70 {
		width: 143vw;
		margin-left: -21.4vw;
		max-width: none !important;
	}
}

@media only screen and (max-width: 767.9px) {
	div.mobile_percent_60 {
		width: 167vw;
		margin-left: -33.5vw;
		max-width: none !important;
	}
}

/* newsletter */
.inside_image > div > div,
#newsletter_registration > div > div {
	 width: 40%; 
	 margin-left: 30%;
}

/* @media only screen and (min-width: 768px) and (max-width: 1023.9px) {
	.inside_image > div > div,
	#newsletter_registration > div > div {
		 width: 68%; 
		 margin-left: 16%;
	}
} */

@media only screen and (max-width: 767.9px) {
	.inside_image > div > div,
	#newsletter_registration > div > div {
		 width: 100%; 
		 margin-left: 0;
	}
}

.move_top_100 {
	margin-top: -100px;
}	