@charset "UTF-8";
/*!
 * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)
 */
/*!
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 Twitter, Inc.


/* xox: ___________ALLGEMEIN________________________________KR () 



/* App Version */
.styleversion::before { content: "18";  }

/************************************************************************************************************************************************************************************************************************/
/* xox: Fonts () */
/************************************************************************************************************************************************************************************************************************/
@font-face { font-display: swap; font-family: 'Ubuntu';  font-style:normal; font-weight:300; src: url('/css/webfonts/ubuntu/Ubuntu-Light.ttf') format('truetype');  }
@font-face { font-display: swap; font-family: 'Ubuntu';  font-style:italic; font-weight:300; src: url('/css/webfonts/ubuntu/Ubuntu-LightItalic.ttf') format('truetype');  }
@font-face { font-display: swap; font-family: 'Ubuntu';  font-style:normal; font-weight:400; src: url('/css/webfonts/ubuntu/Ubuntu-Regular.ttf') format('truetype');  }
@font-face { font-display: swap; font-family: 'Ubuntu';  font-style:italic; font-weight:400; src: url('/css/webfonts/ubuntu/Ubuntu-Italic.ttf') format('truetype');  }
@font-face { font-display: swap; font-family: 'Ubuntu';  font-style:normal; font-weight:500; src: url('/css/webfonts/ubuntu/Ubuntu-Medium.ttf') format('truetype');  }
@font-face { font-display: swap; font-family: 'Ubuntu';  font-style:italic; font-weight:500; src: url('/css/webfonts/ubuntu/Ubuntu-MediumItalic.ttf') format('truetype');  }
@font-face { font-display: swap; font-family: 'Ubuntu';  font-style:normal; font-weight:700; src: url('/css/webfonts/ubuntu/Ubuntu-Bold.ttf') format('truetype');  }
@font-face { font-display: swap; font-family: 'Ubuntu';  font-style:italic; font-weight:700; src: url('/css/webfonts/ubuntu/Ubuntu-BoldItalic.ttf') format('truetype');  }

@font-face { font-display: swap; font-family:'Open Sans'; font-style:normal; font-weight:300; src: url('/css/webfonts/opensans/open-sans-v15-latin-300.woff2') format('woff2'), 		url('/css/webfonts/opensans/open-sans-v15-latin-300.woff') format('woff') , 		url('/css/webfonts/opensans/open-sans-v15-latin-300.ttf') format('truetype'); }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:italic; font-weight:300; src: url('/css/webfonts/opensans/open-sans-v15-latin-300italic.woff2') format('woff2'), 	url('/css/webfonts/opensans/open-sans-v15-latin-300italic.woff') format('woff'), 	url('/css/webfonts/opensans/open-sans-v15-latin-300italic.ttf') format('truetype'); }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:normal; font-weight:400; src: url('/css/webfonts/opensans/open-sans-v15-latin-regular.woff2') format('woff2'), 	url('/css/webfonts/opensans/open-sans-v15-latin-regular.woff') format('woff'), 		url('/css/webfonts/opensans/open-sans-v15-latin-regular.ttf') format('truetype'); }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:italic; font-weight:400; src: url('/css/webfonts/opensans/open-sans-v15-latin-italic.woff2') format('woff2'), 		url('/css/webfonts/opensans/open-sans-v15-latin-italic.woff') format('woff'), 		url('/css/webfonts/opensans/open-sans-v15-latin-italic.ttf') format('truetype') ; }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:normal; font-weight:600; src: url('/css/webfonts/opensans/open-sans-v15-latin-600.woff2') format('woff2'), 		url('/css/webfonts/opensans/open-sans-v15-latin-600.woff') format('woff'), 			url('/css/webfonts/opensans/open-sans-v15-latin-600.ttf') format('truetype') ; }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:italic; font-weight:600; src: url('/css/webfonts/opensans/open-sans-v15-latin-600italic.woff2') format('woff2'), 	url('/css/webfonts/opensans/open-sans-v15-latin-600italic.woff') format('woff'), 	url('/css/webfonts/opensans/open-sans-v15-latin-600italic.ttf') format('truetype') ; }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:normal; font-weight:700; src: url('/css/webfonts/opensans/open-sans-v15-latin-700.woff2') format('woff2'), 		url('/css/webfonts/opensans/open-sans-v15-latin-700.woff') format('woff'), 			url('/css/webfonts/opensans/open-sans-v15-latin-700.ttf') format('truetype') ; }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:italic; font-weight:700; src: url('/css/webfonts/opensans/open-sans-v15-latin-700italic.woff2') format('woff2'), 	url('/css/webfonts/opensans/open-sans-v15-latin-700italic.woff') format('woff'), 	url('/css/webfonts/opensans/open-sans-v15-latin-700italic.ttf') format('truetype') ; }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:normal; font-weight:800; src: url('/css/webfonts/opensans/open-sans-v15-latin-800.woff2') format('woff2'), 		url('/css/webfonts/opensans/open-sans-v15-latin-800.woff') format('woff'), 			url('/css/webfonts/opensans/open-sans-v15-latin-800.ttf') format('truetype') ; }
@font-face { font-display: swap; font-family:'Open Sans'; font-style:italic; font-weight:800; src: url('/css/webfonts/opensans/open-sans-v15-latin-800italic.woff2') format('woff2'), 	url('/css/webfonts/opensans/open-sans-v15-latin-800italic.woff') format('woff'), 	url('/css/webfonts/opensans/open-sans-v15-latin-800italic.ttf') format('truetype') ; }

@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 100; src: url('/css/webfonts/barlow/barlow-v12-latin-100.woff2') format('woff2'), 			url('/css/webfonts/barlow/barlow-v12-latin-100.ttf') format('truetype');  }	 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 100; src: url('/css/webfonts/barlow/barlow-v12-latin-100italic.woff2') format('woff2'), 	url('/css/webfonts/barlow/barlow-v12-latin-100italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 200; src: url('/css/webfonts/barlow/barlow-v12-latin-200.woff2') format('woff2'), 	 		url('/css/webfonts/barlow/barlow-v12-latin-200.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 200; src: url('/css/webfonts/barlow/barlow-v12-latin-200italic.woff2') format('woff2'), 	url('/css/webfonts/barlow/barlow-v12-latin-200italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 300; src: url('/css/webfonts/barlow/barlow-v12-latin-300.woff2') format('woff2'), 	 		url('/css/webfonts/barlow/barlow-v12-latin-300.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 300; src: url('/css/webfonts/barlow/barlow-v12-latin-300italic.woff2') format('woff2'), 	url('/css/webfonts/barlow/barlow-v12-latin-300italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 400; src: url('/css/webfonts/barlow/barlow-v12-latin-regular.woff2') format('woff2'), 		url('/css/webfonts/barlow/barlow-v12-latin-regular.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 400; src: url('/css/webfonts/barlow/barlow-v12-latin-italic.woff2') format('woff2'), 	 	url('/css/webfonts/barlow/barlow-v12-latin-italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 500; src: url('/css/webfonts/barlow/barlow-v12-latin-500.woff2') format('woff2'), 			url('/css/webfonts/barlow/barlow-v12-latin-500.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 500; src: url('/css/webfonts/barlow/barlow-v12-latin-500italic.woff2') format('woff2'), 	url('/css/webfonts/barlow/barlow-v12-latin-500italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 600; src: url('/css/webfonts/barlow/barlow-v12-latin-600.woff2') format('woff2'), 	 		url('/css/webfonts/barlow/barlow-v12-latin-600.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 600; src: url('/css/webfonts/barlow/barlow-v12-latin-600italic.woff2') format('woff2'), 	url('/css/webfonts/barlow/barlow-v12-latin-600italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 700; src: url('/css/webfonts/barlow/barlow-v12-latin-700.woff2') format('woff2'), 	 		url('/css/webfonts/barlow/barlow-v12-latin-700.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 700; src: url('/css/webfonts/barlow/barlow-v12-latin-700italic.woff2') format('woff2'), 	url('/css/webfonts/barlow/barlow-v12-latin-700italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 800; src: url('/css/webfonts/barlow/barlow-v12-latin-800.woff2') format('woff2'), 	 		url('/css/webfonts/barlow/barlow-v12-latin-800.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 800; src: url('/css/webfonts/barlow/barlow-v12-latin-800italic.woff2') format('woff2'), 	url('/css/webfonts/barlow/barlow-v12-latin-800italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: normal; font-weight: 900; src: url('/css/webfonts/barlow/barlow-v12-latin-900.woff2') format('woff2'), 	 		url('/css/webfonts/barlow/barlow-v12-latin-900.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Barlow'; font-style: italic; font-weight: 900; src: url('/css/webfonts/barlow/barlow-v12-latin-900italic.woff2') format('woff2'), 	url('/css/webfonts/barlow/barlow-v12-latin-900italic.ttf') format('truetype');  } 

@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 100; src: url('/css/webfonts/roboto/roboto-v32-latin-100.woff2') format('woff2'),			url('/css/webfonts/roboto/roboto-v32-latin-100.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Roboto'; font-style: italic; font-weight: 100; src: url('/css/webfonts/roboto/roboto-v32-latin-100italic.woff2') format('woff2'),	url('/css/webfonts/roboto/roboto-v32-latin-100italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 300; src: url('/css/webfonts/roboto/roboto-v32-latin-300.woff2') format('woff2'),			url('/css/webfonts/roboto/roboto-v32-latin-300.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Roboto'; font-style: italic; font-weight: 300; src: url('/css/webfonts/roboto/roboto-v32-latin-300italic.woff2') format('woff2'),	url('/css/webfonts/roboto/roboto-v32-latin-300italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 400; src: url('/css/webfonts/roboto/roboto-v32-latin-regular.woff2') format('woff2'),		url('/css/webfonts/roboto/roboto-v32-latin-regular.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Roboto'; font-style: italic; font-weight: 400; src: url('/css/webfonts/roboto/roboto-v32-latin-italic.woff2') format('woff2'),		url('/css/webfonts/roboto/roboto-v32-latin-italic.ttf') format('truetype');  }  
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 500; src: url('/css/webfonts/roboto/roboto-v32-latin-500.woff2') format('woff2'),			url('/css/webfonts/roboto/roboto-v32-latin-500.ttf') format('truetype');  }  
@font-face { font-display: swap; font-family: 'Roboto'; font-style: italic; font-weight: 500; src: url('/css/webfonts/roboto/roboto-v32-latin-500italic.woff2') format('woff2'),	url('/css/webfonts/roboto/roboto-v32-latin-500italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 700; src: url('/css/webfonts/roboto/roboto-v32-latin-700.woff2') format('woff2'),			url('/css/webfonts/roboto/roboto-v32-latin-700.ttf') format('truetype');  }  
@font-face { font-display: swap; font-family: 'Roboto'; font-style: italic; font-weight: 700; src: url('/css/webfonts/roboto/roboto-v32-latin-700italic.woff2') format('woff2'),	url('/css/webfonts/roboto/roboto-v32-latin-700italic.ttf') format('truetype');  } 
@font-face { font-display: swap; font-family: 'Roboto'; font-style: normal; font-weight: 900; src: url('/css/webfonts/roboto/roboto-v32-latin-900.woff2') format('woff2'),			url('/css/webfonts/roboto/roboto-v32-latin-900.ttf') format('truetype');  }  
@font-face { font-display: swap; font-family: 'Roboto'; font-style: italic; font-weight: 900; src: url('/css/webfonts/roboto/roboto-v32-latin-900italic.woff2') format('woff2'),	url('/css/webfonts/roboto/roboto-v32-latin-900italic.ttf') format('truetype');  } 

@font-face { font-display: swap; font-family: 'Roboto Condensed';  font-style: italic;  font-weight: 100 900;  src: url('/css/webfonts/robotocondensed/robotocondensed_italic_latin_ext.woff2') format('woff2');  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-display: swap; font-family: 'Roboto Condensed';  font-style: italic;  font-weight: 100 900;  src: url('/css/webfonts/robotocondensed/robotocondensed_italic_latin.woff2') format('woff2');  	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-display: swap; font-family: 'Roboto Condensed';  font-style: normal;  font-weight: 100 900;  src: url('/css/webfonts/robotocondensed/robotocondensed_normal_latin_ext.woff2') format('woff2');  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-display: swap; font-family: 'Roboto Condensed';  font-style: normal;  font-weight: 100 900;  src: url('/css/webfonts/robotocondensed/robotocondensed_normal_latin.woff2') format('woff2');  	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-display: swap; font-family: 'Asap'; font-style: italic; font-weight: 100 900; font-stretch: 100%; src: url('/css/webfonts/asap/asap_latin_ext_italic.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-display: swap; font-family: 'Asap'; font-style: italic; font-weight: 100 900; font-stretch: 100%; src: url('/css/webfonts/asap/asap_latin_italic.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } 
@font-face { font-display: swap; font-family: 'Asap'; font-style: normal; font-weight: 100 900; font-stretch: 100%; src: url('/css/webfonts/asap/asap_latin_ext_normal.woff2') format('woff2');  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-display: swap; font-family: 'Asap'; font-style: normal; font-weight: 100 900; font-stretch: 100%; src: url('/css/webfonts/asap/asap_latin_normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }




/************************************************************************************************************************************************************************************************************************/
/* xox: Allgemeine_Styles () */
/* var(--height-header-app-full)
/************************************************************************************************************************************************************************************************************************/
html {
	/* Farben */
	--color-page-background-grey: #f8f8f8;
	--color-page-active-hellhellblue: #76c7eb;
	--color-page-active-hellblue: #2b7ae3;
	--color-page-active-hellblue-kante: #1a6bd7;
	--color-page-active-blue: #1763c8; /* footer in App */
	--color-page-active-dunkelblue: #1c498e;  /* 2b4a95 */
	--color-page-active-darkblue: #05337b;   /* header in App */
	--color-page-active-darkerblue: #031e49;  
	--color-page-kfliste-green: #449d44;
	--color-page-active-hellgraublue: #54b0d9;
	--color-background-contrast: #e5e5e5;
	
	--color-page-button-hellblue: #e2effb;
	--color-page-kante-hellblue: #c3d7df;
	
	--color-background-app-header: #1c498e;
	--color-background-app-header-kante: #0d336f; 
	
	--color-app-hellblau-kante: #51d9bf; /* #3ac68a; /* 00bec8; */
	--color-app-hellerblau: #00e0ec;
	--color-app-hellblau: #50eacd; /* #50eaa9; /* #11cbd5; */
	--color-app-mittelblau: #1763c8;
	--color-app-dunkelblau: #05337b;
	--color-app-dunkelblau2: #022c6c;
	--color-app-button: #4e77ae;
	--color-app-button-hover: #3b669f;
	--color-app-buchung-contentbox-dark: #e5e5e5;
	--color-app-buchung-contentbox: #f3f3f3;
	--color-web-buchung-contentbox: #e3f4fb;
	
	--modal-opacity: 0.5;	
	
	--color-button-background: #e8fbe8; 
	--color-button-hover: #e0f6e0;
	--color-button-border: #c9ecc9;
	--color-button-border-selected: #484;
	--color-button-selected: #409140;	
		
	/* Header Abstände Website (=Höhe der Header Menüleiste auf der Website) */
	--height-header-small: 70px;
	--height-header-medium: 90px;
	--height-header-full: 120px;
	--height-contentstart-small: 80px;
	--height-contentstart-medium: 100px;
	--height-contentstart-full: 130px;
		
	
	/* Simuliert App-Abstände für Browser. Muss im Livebetrieb deaktiviert werden 
	--safe-area-top: 40px;
	--safe-area-right: 0px;
	--safe-area-left: 0px;
	--safe-area-bottom: 20px;  */
	
	/* Safe Area App */
	--safe-area-right: env(safe-area-inset-right, 0px);
	--safe-area-left: env(safe-area-inset-left, 0px);
	
	--safe-area-top: 30px;
	--safe-area-top: max(env(safe-area-inset-top), 30px);
	/* --safe-area-top: env(safe-area-inset-top, 30px); */
	
	--safe-area-bottom: 10px;
	--safe-area-bottom: max(env(safe-area-inset-bottom), 10px);
	/* --safe-area-bottom: env(safe-area-inset-bottom, 5px); */
	
	--safe-area-top-default: 60px;
	
	/* Safe Area Negative  */
	--safe-area-neg-top: calc(0px - var(--safe-area-top));
	
	/* Header App (Header Innen, Header außen mit Safe Area, Content-Bereich Abstand) */
	--height-header-app-inner-null: 0px;
	--height-header-app-inner-micro: 10px;
	--height-header-app-inner-small: 40px;
	--height-header-app-inner-medium: 60px;
	--height-header-app-inner-full: 90px;
		
	--height-header-app-outer-null: calc(var(--height-header-app-inner-null) + var(--safe-area-top));
	--height-header-app-outer-micro: calc(var(--height-header-app-inner-micro) + var(--safe-area-top));
	--height-header-app-outer-small: calc(var(--height-header-app-inner-small) + var(--safe-area-top));
	--height-header-app-outer-medium: calc(var(--height-header-app-inner-medium) + var(--safe-area-top));
	--height-header-app-outer-full: calc(var(--height-header-app-inner-full) + var(--safe-area-top));
	
	--height-contentstart-app-null: calc(var(--height-header-app-inner-null) + 10px);
	--height-contentstart-app-micro: calc(var(--height-header-app-inner-micro) + 10px);
	--height-contentstart-app-small: calc(var(--height-header-app-inner-small) + 10px);
	--height-contentstart-app-medium: calc(var(--height-header-app-inner-medium) + 10px);
	--height-contentstart-app-full: calc(var(--height-header-app-inner-full) + 10px);
	
	--height-footer-app-inner-small: 30px;
	--height-footer-app-height-small: calc(var(--height-footer-app-inner-small) + var(--safe-area-bottom));
	--height-footer-app-inner-medium: 50px;
	--height-footer-app-height-medium: calc(var(--height-footer-app-inner-medium) + var(--safe-area-bottom));
	
	/* Breite */
	--width-page-content-general: 1140px;
	
	/* Sonstiges */
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body.web_frontend {
	--color-button-width: 1px;
}

body.app_frontend {
	--color-button-width: 2px;
}


/* Formatierungen */
body {
	margin: 0px;
	line-height: 1.42857143;
	color: #333333;
}
@media screen and (max-width: 849px) {
	body { font-size: 16px;	 }
}
@media screen and (min-width: 850px) {
	body { font-size: 14px; }
}

 
body.web_frontend { background: var(--color-page-background-grey); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }
body.app_frontend { background: var(--color-background-contrast); font-family:  Asap, Roboto, Barlow, "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; } 


body.app_frontend[data-page-group="cruise_detail"] { background: #fff; } 
body.app_frontend[data-page-group="my_admin"] { background: var(--color-background-contrast); } 
body.app_frontend[data-page-group="loginlogout"] { background: var(--color-background-contrast); } 


@media screen and (max-width: 749px) { 
	body.app_frontend.body_booking { background: var(--color-app-buchung-contentbox-dark); }
	body.web_frontend.body_booking { background: var(--color-web-buchung-contentbox); }
}
@media screen and (min-width: 750px) { 
	body.app_frontend.body_booking { background: #fff; }
	body.web_frontend.body_booking { background: #fff; }
}

html.app_html, body.app_frontend { 
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;          /* verhindert iOS Bounce */
	overscroll-behavior: none; /* Android Bounce */
	margin: 0;
}


#app_scroll {
	position: absolute;
	top: var(--safe-area-top);      
	bottom: var(--height-footer-app-height-medium);
	left: var(--safe-area-left);
	right: var(--safe-area-right);
	overflow-y: auto;
	-webkit-overflow-scrolling: auto; /* kein Bounce in iOS */
}

body[data-page-group="startseite"] #app_scroll { top: 0; }


/*
body.app_frontend { background: linear-gradient( to bottom, var(--color-background-app-header) 0, var(--color-background-app-header) 100px, var(--color-background-contrast) 201px, var(--color-background-contrast) 100% ); }
body.app_frontend .all_page_container_1 { background: linear-gradient( to bottom, var(--color-background-app-header) 0, var(--color-background-app-header) 100px, var(--color-background-contrast) 201px, var(--color-background-contrast) 100% ); }
*/

/* Black Week Special 
@media screen and (min-width: 1200px) {
	body {
		background-color: #000000;		
		background-image: url(/media/theme/body_bg_black.jpg);
	}	
}
*/	

article, aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {  display: block;}

audio,canvas,progress,video {  display: inline-block;  vertical-align: baseline;}

audio:not([controls]) {  display: none;  height: 0;}

[hidden],
template {
	display: none;
}

.hidden {
	display: none !important;
}

/* a */
a {
	color: var(--color-page-active-blue);
	text-decoration: none;
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

a:hover  {
	color: var(--color-page-active-dunkelblue);
}

ul { 	padding-left: 1em;  }

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	      text-decoration: underline dotted;
}

b,strong {  font-weight: bold; }
dfn {  font-style: italic;}
mark {  background: #ff0;  color: #000;}
small {  font-size: 80%;}
sub,sup {  font-size: 75%;  line-height: 0;  position: relative;  vertical-align: baseline;}
sup {  top: -0.5em;}
sub {  bottom: -0.25em;}
img {  border: 0; vertical-align: middle; }
figure {   margin: 0;  }
form { margin: 0; }

/************************************************************************************************************************************************************************************************************************/
/* xox: Allgemein_Formular_Felder () */
/************************************************************************************************************************************************************************************************************************/

input,button,select,optgroup,textarea {
	font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: inherit;
	margin: 0;
	color: inherit;
}


input,
select,
textarea {
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 0.4em;
	background-color: #fff;
	color: inherit;
	box-sizing: border-box;
	appearance: auto;
	-webkit-appearance: auto;
	-moz-appearance: auto;
}



textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder,
select::-webkit-input-placeholder, 
textarea:-ms-input-placeholder,
input:-ms-input-placeholder,
select:-ms-input-placeholder, 
textarea::-ms-input-placeholder,
input::-ms-input-placeholder,
select::-ms-input-placeholder, 
textarea::placeholder,
input::placeholder,
select::placeholder {
	color: #505050;
}

[role="button"] {
	cursor: pointer;
}

/* Einheitlicher Fokus-Stil */
input:focus,
select:focus,
.custom_select.open .selected, 
textarea:focus {
	outline: 2px solid #1763c8;   /* klare blaue Linie */
	outline-offset: -1px;            /* bündig am Rand */
	border-color: #1763c8;        /* gleiche Farbe wie Outline */
}

/* custom_select (z.B. Flaggenbar im Select) */
.custom_select {
	position: relative;
	cursor: pointer;
	user-select: none;
}

.custom_select .selected {
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 5px 10px;
	background: #fff;
	display: flex;
	align-items: center;
	gap: 6px;
}

.custom_select img {
	width: 20px;
	height: 14px;
}

.custom_select .options {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	z-index: 200;
	margin: 2px 0 0 0;
	padding: 0;
	box-shadow: 0px 0px 4px #00000050;
}

.custom_select.open .options {
	display: block;
}

.custom_select .options li {
	padding: 3px 8px;
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	margin: 3px;
	border-radius: 3px;
}

.custom_select .options li:hover {
	background: #e4e4e4;
}

.span_link {
	cursor: pointer;
	color: var(--color-page-active-blue);
	text-decoration: none;	
}
.span_link:hover {
	color: var(--color-page-active-dunkelblue);
}

/* disable Formatierungen für gesperrte Ajax Buttons */
.ajax_disabled {
	opacity: 0.8;
	filter: grayscale(70%) saturate(40%);
	cursor: progress;
	transition: all 0.1s linear;
}
.ajax_disabled:hover {
	text-decoration: none;
}




/************************************************************************************************************************************************************************************************************************/
/* xox: Grid_Container () */
/************************************************************************************************************************************************************************************************************************/
.row {
	margin-right: 0;
	margin-left: 0;
}

.row-no-gutters {
	margin-right: 0;
	margin-left: 0;
}

.row-no-gutters [class*="col-"] {
	padding-right: 0;
	padding-left: 0;
}

.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-2-4,.col-sm-2-4,.col-md-2-4,.col-lg-2-4,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12 {
	position: relative;
	min-height: 1px;
	padding-right: 0;
	padding-left: 0;
}

.col-xs-1,.col-xs-2,.col-xs-2-4,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12 {  float: left;}

.col-xs-12 {  width: 100%;}
.col-xs-11 {  width: 91.66666667%;}
.col-xs-10 {  width: 83.33333333%;}
.col-xs-9 {  width: 75%;}
.col-xs-8 {  width: 66.66666667%;}
.col-xs-7 {  width: 58.33333333%;}
.col-xs-6 {  width: 50%;}
.col-xs-5 {  width: 41.66666667%;}
.col-xs-4 {  width: 33.33333333%;}
.col-xs-3 {  width: 25%;}
.col-xs-2-4 {  width: 20%;}
.col-xs-2 {  width: 16.66666667%;}
.col-xs-1 {  width: 8.33333333%;}

@media screen and (min-width: 450px) {
	.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {    float: left;  }
	.col-sm-12 {    width: 100%;  }
	.col-sm-11 {    width: 91.66666667%;  }
	.col-sm-10 {    width: 83.33333333%;  }
	.col-sm-9 {    width: 75%;  }
	.col-sm-8 {    width: 66.66666667%;  }
	.col-sm-7 {    width: 58.33333333%;  }
	.col-sm-6 {    width: 50%;  }
	.col-sm-5 {    width: 41.66666667%;  }
	.col-sm-4 {    width: 33.33333333%;  }
	.col-sm-3 {    width: 25%;  }
	.col-sm-2-4 {  width: 20%;}
	.col-sm-2 {    width: 16.66666667%;  }
	.col-sm-1 {    width: 8.33333333%;  }
}

@media screen and (min-width: 750px) {
	.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {    float: left;  }
	.col-md-12 {    width: 100%;  }
	.col-md-11 {    width: 91.66666667%;  }
	.col-md-10 {    width: 83.33333333%;  }
	.col-md-9 {    width: 75%;  }
	.col-md-8 {    width: 66.66666667%;  }
	.col-md-7 {    width: 58.33333333%;  }
	.col-md-6 {    width: 50%;  }
	.col-md-5 {    width: 41.66666667%;  }
	.col-md-4 {    width: 33.33333333%;  }
	.col-md-3 {    width: 25%;  }
	.col-md-2-4 {  width: 20%;}
	.col-md-2 {    width: 16.66666667%;  }
	.col-md-1 {    width: 8.33333333%;  }
}

@media screen and (min-width: 1200px) {
	.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {    float: left;  }
	.col-lg-12 {    width: 100%;  }
	.col-lg-11 {    width: 91.66666667%;  }
	.col-lg-10 {    width: 83.33333333%;  }
	.col-lg-9 {    width: 75%;  }
	.col-lg-8 {    width: 66.66666667%;  }
	.col-lg-7 {    width: 58.33333333%;  }
	.col-lg-6 {    width: 50%;  }
	.col-lg-5 {    width: 41.66666667%;  }
	.col-lg-4 {    width: 33.33333333%;  }
	.col-lg-3 {    width: 25%;  }
	.col-lg-2-4 {  width: 20%;}
	.col-lg-2 {    width: 16.66666667%;  }
	.col-lg-1 {    width: 8.33333333%;  }
}

/************************************************************************************************************************************************************************************************************************/
/* xox: Bootstrap_analog () */
/************************************************************************************************************************************************************************************************************************/
.clearfix::before,
.clearfix::after,
.container::before,
.container::after,
.container-fluid::before,
.container-fluid::after,
.row::before,
.row::after {
	display: table;
	content: " ";
}

.clear,
.clr,
.clearfix::after,
.container::after,
.container-fluid::after,
.row::after {
	clear: both;
}

.center-block {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.pull-right {
	float: right !important;
}

.pull-left {
	float: left !important;
}

.hide {
	display: none !important;
}

.show {
	display: block !important;
}

.invisible {
	visibility: hidden;
}

.text-hide {
	font: 0/0 a;
	color: transparent;
	text-shadow: none;
	background-color: transparent;
	border: 0;
}

.nichtfett { font-weight: normal !important; }


.affix {
	position: fixed;
}

label {
	display: inline-block;
	max-width: 100%;
	margin-bottom: 5px;
	font-weight: bold;
}


.shadowText {
	color: #fff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.12), 1px -1px 5px rgba(0, 0, 0, 0.12), -1px 1px 5px rgba(0, 0, 0, 0.12), -1px -1px 5px rgba(0, 0, 0, 0.12);
}

.shadow {
	box-shadow: 0px 0px 5px #00000020;
}

.nowrap {
	white-space: nowrap; 
}


/* h1 bis H6 */
.web_frontend h1, .web_frontend h2, .web_frontend h3, .web_frontend h4, .web_frontend h5, .web_frontend h6, .web_frontend .h1, .web_frontend .h2, .web_frontend .h3, .web_frontend .h4, .web_frontend .h5, .web_frontend .h6 { line-height: 1.1;  font-family: Roboto, Barlow, 'Helvetica Neue', Helvetica, Arial, sans-serif;  font-weight: 600; }
.app_frontend h1, .app_frontend h2, .app_frontend h3, .app_frontend h4, .app_frontend h5, .app_frontend h6, .app_frontend .h1, .app_frontend .h2, .app_frontend .h3, .app_frontend .h4, .app_frontend .h5, .app_frontend .h6 { line-height: 1.1;  font-weight: 600;  }
 

h1,.h1 {  font-size: 36px; margin: 0.67em 0 0.3em 0; }
h2,.h2 {  font-size: 30px; margin: 0.67em 0 0.3em 0; }
h3,.h3 {  font-size: 24px; margin: 0.67em 0 0.3em 0; }
h4,.h4 {  font-size: 18px; margin: 0.67em 0 0.3em 0; }
h5,.h5 {  font-size: 18px; margin: 0.67em 0 0.3em 0; }
h6,.h6 {  font-size: 18px; margin: 0.67em 0 0.3em 0; }

p {  margin: 0 0 10px;}
hr {
	margin-top: 20px;
	margin-bottom: 20px;
	border: 0;
	border-top: 1px solid #eeeeee;
	position: relative;
	content: '';
	background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), color-stop(50%, rgba(136, 136, 136, 0.3)), to(rgba(0, 0, 0, 0)));
	background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(136, 136, 136, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=0);
	width: 90%;
	height: 1px;
	right: 0px;
	top: 0px;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

.td_vertical_align_top td { vertical-align: top; }
.td_text_align_left td { text-align: left;  }




/************************************************************************************************************************************************************************************************************************/
/* xox: Allgemeine_Elemente () */
/* Diese sind Portalspezifisch. Alle anderen Sachen sind gleich */
/************************************************************************************************************************************************************************************************************************/
/* Form Control */
.form-control {
	display: block;
	width: 100%;
	height: 34px;
	padding: 3px 3px 3px 6px;
	font-size: 14px;
	line-height: 1.42857143;
	color: #555555;
	background-color: #ffffff;
	background-image: none;
	border: 1px solid #cccccc;
	border-radius: 3px;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}

.form-control::-webkit-input-placeholder {
	opacity: 1;
}

.form-control:-ms-input-placeholder {
	opacity: 1;
}

.form-control::-ms-input-placeholder {
	opacity: 1;
}

.form-control::placeholder {
	opacity: 1;
}


/* border-box */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
 


.form-item,
.form-radios {
	margin: 0;
	/* margin: 0 0 5px; */
	width: 100%;
}

/* Orange und Grau Buttons */
.button_wrapper {
	margin-right: 10px;
	text-align: center;
	margin-bottom: 20px;
}

.button_orange, .button_orange_small, .button_booking_next, .button_booking_grey, .button_gelb_small, .button_booking_green, .button_cart_items, .button_app_blue, .button_app_grey {
	border: 3px solid #ffffff;
	box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2);
	font-size: 16px;
	line-height: 26px;
	padding: 8px 17px;
	border-radius: 10px;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	width: auto;
	text-align: center;
	outline: 0;
}


.button_app_blue {
	background: var(--color-app-button);
	border: unset;
	border-radius: 22px;
	text-shadow: 0 0 4px #0007;
}

.button_app_grey {
	background: #666;
	border: unset;
	border-radius: 22px;
}

.button_booking_green:hover {   background: linear-gradient(to bottom, #29a238 0%, #00750e 100%); }
.button_booking_grey:hover {   background: linear-gradient(to bottom, rgb(153, 153, 153) 0%,rgb(100, 100, 100) 100%); }
.button_app_blue:hover {   background: var(--color-app-button-hover); color: #fff; }
.button_app_grey:hover {   background: #666; color: #fff; }
.button_orange:hover, .button_booking_next:hover, .button_orange_small:hover {
	background: rgb(236,74,20);
	background: linear-gradient(to bottom, rgba(236,74,20,1) 0%,rgba(211,41,19,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ec4a14', endColorstr='#d32913',GradientType=0 );
	color: white;
}


.vg-widget .vg-widget__step__button--stepper {
	border: 3px solid #ffffff !important;
	box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2) !important;
	font-size: 16px !important;
	 line-height:1.2 !important;
	padding: 8px 17px !important;
	border-radius: 10px !important;
	color: #fff !important;  /* important */
	cursor: pointer !important;
	display: inline-block !important;
	font-weight: bold !important;
	text-decoration: none !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
	width: auto !important;
	text-align: center !important;
	text-decoration: none !important;  /* important */
	outline: 0 !important;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	background-color: #ec4a14 !important;
}

.vg-widget .vg-widget__step__button--stepper:hover {
	background: rgb(236,74,20);
	background: linear-gradient(to bottom, rgba(236,74,20,1) 0%,rgba(211,41,19,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ec4a14', endColorstr='#43a00b',GradientType=0 ) !important;
	color: white !important;
}

.button_orange, .button_booking_next, .button_orange_small { background-color: #ec4a14; }
.button_gelb_small {  background-color: #978c6d; padding: 0px 17px;  border: 2px solid #ffffff; }
.button_gelb_small:hover { background: linear-gradient(to bottom, #998139 0%, #6c581b   100%); }

.web_frontend .my_data_paymentdata_list .button_wrapper { margin-top: 10px; }
.app_frontend .my_data_paymentdata_list .button_wrapper { margin-top: 5px; margin-bottom: 30px; }
.web_frontend .my_data_address_list .button_wrapper { margin-top: 10px; }
.app_frontend .my_data_address_list .button_wrapper { margin-top: 5px; margin-bottom: 30px; }
.mydata_admin_liste .button_wrapper { margin-left: 45px; }


.button_booking_green { background-color: #009d11; }
.button_cart_items {
	padding: 5px 2px;
	background-color: #08accb;
	width: 100%;
	max-width: 160px;
	margin: 1px;  
	font-size: 14px;
	line-height: 18px;
}
.button_cart_items:hover {
	background: #0589a2;
	background: linear-gradient(to bottom, #08accb 0%, #0589a2 100%);
}

.booking_next {
	float:right;
}

.button_grey {
	float: left;
} 
.booking_next, .button_grey { margin: 5px 0; }

.button_orange_small {
	padding: 1px 17px;
	font-size: 14px;
	color: #FFF;
	text-decoration: none;
} 

.button_booking_grey {
	background-color: #999999;
}

a.button_booking_grey {
	color: #FFF;
	text-decoration: none;
	width: 100%;
}
a.button_booking_grey:hover {
	color: #FFF;
}

.button_orange a, .button_booking_next a {
	color: white;
	text-decoration: none;
	padding: 10px 30px;
}

.booking_next .button_booking_next {
	min-width: 100%;
}

.navi_buttons {
	display: inline-block;
	width: 100%;
	padding-top: 20px;
}

.navi_buttons .button_grey,
.navi_buttons .booking_next {
	min-width: 100%;	
}
@media screen and (min-width: 300px) {
	.navi_buttons .button_grey { 	min-width: 20%;  }
	.navi_buttons .booking_next { 	min-width: 50%;  }
	.step_final_check .button_grey { 	min-width: 100%;  }
	.step_final_check .booking_next { min-width: 100%;  }
}
@media screen and (min-width: 450px) {
	.navi_buttons .button_grey { min-width: 20%; }
	.navi_buttons .booking_next { min-width: 60%; }
}
@media screen and (min-width: 550px) {
	.navi_buttons .button_grey { min-width: 20%;  }
	.navi_buttons .booking_next { min-width: 60%;  }
}

@media screen and (min-width: 750px) {
	.navi_buttons .button_grey { 	min-width: 120px; }
	.navi_buttons .booking_next { 	min-width: 220px; }
}

/* macht m.E. keinen Sinn 
a.button_orange:hover {
	background-color: #f26536;
	color: #fff;	
}
*/



/************************************************************************************************************************************************************************************************************************/
/* xox: Basis_Layout () für KR */
/************************************************************************************************************************************************************************************************************************/

.all_page_container_1 {
	background: #fff;
}

@media screen and (max-width: 549px) {
	.web_frontend .all_page_container_1 { padding-top: var(--height-contentstart-small); }
}

@media screen and (min-width: 550px) and (max-width: 749px) {
	.web_frontend .all_page_container_1 { padding-top: var(--height-contentstart-full); }
}

@media screen and (min-width: 750px) {
	.web_frontend .all_page_container_1 { padding-top: var(--height-contentstart-full); }
}

@media screen and (max-width: 549px) {
	.web_frontend .all_page_container_1 {	padding-left: 3px;	padding-right: 7px;	}
	.web_frontend .container_footer {	padding-left: 0; padding-right: 0; }
	.web_frontend.pagetemplate_cruiselist .all_page_container_1			{	padding-left: 0; padding-right: 0; }
	.web_frontend.pagetemplate_cruiselist .premium_content_editorial 	{ padding-left: 5px; padding-right: 5px; }
	.web_frontend.pagetemplate_cruiselist .container_footer 			{ padding-left: 5px; padding-right: 5px; }
	
	.app_frontend .all_page_container_1 {	padding-left: 0;	padding-right: 0; }
	.app_frontend[data-page-group="general_cms"] .all_page_container_1 {	padding-left: 10px;	padding-right: 10px; }
}
@media screen and (min-width: 550px) and (max-width: 749px) {
	.web_frontend .all_page_container_1 {	padding-left: 5px;	padding-right: 5px;	}
	.web_frontend.pagetemplate_cruiselist .all_page_container_1 		{ padding-left: 0; padding-right: 0; }
	.web_frontend.pagetemplate_cruiselist .premium_content_editorial 	{ padding-left: 5px; padding-right: 5px; }
	.web_frontend.pagetemplate_cruiselist .container_footer 			{ padding-left: 5px; padding-right: 5px; }
	
	.app_frontend .all_page_container_1 {	padding-left: 0;	padding-right: 0;	}
	.app_frontend[data-page-group="startseite"] .all_page_container_1 {	padding-left: 5px;	padding-right: 5px;	}
	.app_frontend[data-page-group="general_cms"] .all_page_container_1 {	padding-left: 10px;	padding-right: 10px; }
}

@media screen and (min-width: 750px) and (max-width: 1199px) {
	.all_page_container_1 {	padding-left: 10px;	padding-right: 10px;	}
}
@media screen and (min-width: 1200px) and (max-width: 1399px) {
	.all_page_container_1 {	padding-left: 10px;	padding-right: 10px;	}	
	.pagetemplate_cms .all_page_container_1, 
	.pagetemplate_cruisedetail .all_page_container_1 {	padding-left: 10px;	padding-right: 10px;	}
}

@media screen and (min-width: 1400px) {
	.all_page_container_1 {		padding-left: 5px;		padding-right: 5px;	margin-left: calc(((100% - 1150px) / 2) - 115px) }
	
	.pagetemplate_cms .all_page_container_1, 
	.pagetemplate_my_data_page_all .all_page_container_1, 
	.pagetemplate_cruisedetail .all_page_container_1 {		padding-left: 10px;		padding-right: 10px;	}
}



.pagetemplate_cruisedetail .all_page_container_1 {
	box-shadow: 0px 0px 33px #00000010;
}

.pagetemplate_homepage .all_page_container_1,
.pagetemplate_cruiselist .all_page_container_1,
.pagetemplate_cruisesearch .all_page_container_1, 
.pagetemplate_my_data_page_all .all_page_container_1, 
.page_mit_kf_liste .all_page_container_1,
.pagetemplate_newpassword .all_page_container_1,
.pagetemplate_signup .all_page_container_1,
.pagetemplate_loginlogout .all_page_container_1 {
	background: unset;
	box-shadow: unset;
}


.container_footer {
	-webkit-box-ordinal-group: 5;
	-ms-flex-order: 4;
	order: 4;
	background-color: #f8f8f8;
	padding: 20px 0 20px 0;
}

.container_footer .footer_title {
	margin: 0 0 5px;
	font-size: 14px;
	letter-spacing: initial;
	background: none;
	font-weight: bold;
	border-radius: 5px 5px 0 0;
}

.container_footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.container_footer li {
	list-style-position: inside;
	margin: 0;
	padding: 0;
	line-height: 1.3;
}

.container_footer .footer_redaktion a {
	color: inherit;
}

.container_footer div.content strong {
	font-weight: 500;
}

.container_footer div.content img {
	margin-bottom: 10px;
	max-width: 100px;
	vertical-align: middle;
}

.container_footer p {
	font-size: 13px;
	line-height: 1.5;
}


.container_footer .block.region-count-4 {
	padding-left: 20px;
}

.container_footer .block h3 {
	padding: 0;
}

.credit_copyright {
	color: #333333;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 60px;
	padding-left: 20px;
	padding-right: 20px;
}




.all_page_container_3,
.all_page_container_3 .menubar_left_homepage, 
.all_page_container_3 .menubar_left_long {
	display: flex;
	flex-direction: column;
	position: relative;
}

.container_header {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1.5fr 1fr;
	  grid-template-columns: 1.5fr 1fr;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: 0;
	background-color: #ffffff;
	margin-bottom: 10px;
	margin-left: -10px;
	margin-right: -10px;
	padding: 0px 10px;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	z-index: 110;
	overflow: hidden;
}

.container_header .header_logo {
	-ms-grid-row: 1;
	grid-row: 1;
}




@media screen and (min-width: 1200px) {
	.container_footer { flex-direction: row; gap: 20px; margin-left: -10px; margin-right: -10px; }
	.container_footer .footer_redaktion_block { width: 275px; }
	.container_footer .footer_redaktion { width: 900px;  }
	.container_footer .footer_menu { width: 200px; }
	.container_footer .footer_redaktion_block { padding-bottom: 20px; }
	.footer_menu_liste { display: flex; flex-direction: column; }
}
@media screen and (max-width: 1199px) {
	.container_footer { flex-direction: column; gap: 0; }
	.container_footer .footer_redaktion_block { width: 100%; }
	.container_footer .footer_redaktion_block { padding-bottom: 10px; }
	.container_footer .footer_title { margin-top: 10px; }	
}

@media screen and (min-width: 550px) and (max-width: 1199px) {
	.footer_menu_liste { display: flex; flex-direction: row; flex-wrap: wrap; }	
	.footer_menu_liste li:not(:last-of-type)::after {
	  content: "•";
	  margin: 0 10px 0 10px;
	  color: 999;
	  font-weight: 600;
	}	
}

@media screen and (max-width: 549px) {
	.footer_menu_liste { display: flex; flex-direction: column; gap: 10px;   }	
	.footer_menu_liste li a { border: 1px solid #ddd; background: #eee; padding: 5px 5px 5px 10px; border-radius: 10px; width: 100%; display: block; font-weight: bold;  }	
	.container_footer {	  padding: 20px 0;	}
}

.container_footer {
	display: flex;
	justify-content: space-between;
	padding-left: 10px; 
	padding-right: 10px; 
}
.container_footer .footer_redaktion {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.container_footer .footer_menu {
	min-width: 200px;
}
.container_footer.slim { justify-content: center; padding-bottom: 0; gap: 20px; flex-direction: row; }

.footer_menu_liste li a { 
	color: var(--color-page-active-dunkelblue);
}






/************************************************************************************************************************************************************************************************************************/
/* xox: Header_neu () */
/************************************************************************************************************************************************************************************************************************/

/* smartphone */
.navbar_container .header_nav_icons {
	height: 50px;
	width: 100%;
	display: flex;
	align-items: end;
}
.navbar_container .header_button {
	width: 25%;
	float: left;	
	font-size: 18px;
	color: var(--color-page-active-dunkelblue);
	cursor: pointer;
	border: 1px solid #d2e4ec;
	background: #ebf9ff;
	border-radius: 3px;
	padding: 5px;
	margin: 0;
	text-align: center;
}
.navbar_container .header_button a {
	color: var(--color-page-active-dunkelblue);
}
 
.display_w1850 .kontakt_header_container {
	display: none;
}

.kontakt_header_container, 
.header_user_dropdown {
	position: fixed;
	right: 0;
	left: 0;
	top: 50px;
	width: 100%;
	background: #fff;
	padding: 0 20px;
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	z-index: 90;
	-webkit-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
	max-height: 0;
	overflow: hidden;
}
.kontakt_header_container.js_modal_open {
	max-height: 200px;
	padding: 10px 20px;	
} 

.header_user_dropdown.js_modal_open {
	max-height: 50px;
	padding: 10px 10px;
}
.kontakt_header_container a,
.header_user_dropdown a {
	font-weight: bold;
	color: var(--color-page-active-dunkelblue);	
}

.header_kontakt_daten .a_tel::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 14px;
	content: "\f095";
	width: 25px;
	display: inline-block;
}

.header_kontakt_daten .a_mail::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 14px;
	content: "\f0e0";
	width: 25px;
	display: inline-block;
}

.header_kontakt_daten, 
.header_kontakt_daten a {
	line-height: 1.6;
}




/* Nav bar */
.navbar_container {
	width: 100vw;
	position: fixed;
	z-index: 100;
	top: 0;
	-webkit-transition: all 300ms ease-out;
	transition: height 200ms linear;
}

.navbar_container {
	background: #e3f4fb; 
	border-bottom: 1px solid #bac5ca;
	box-shadow: 0px 0px 10px #00000050;
}

.navbar_container .navbar_layout {
	display: flex;
	position: relative;
	align-items: start;
	justify-content: space-between; 
}
.navbar_container .kr_logo {
	width: 30%;
	display: flex;
	padding: 0;
	align-items: end;
	padding-bottom: 5px;
	transition: all 200ms linear;
}	

@media screen and (max-width: 549px) {
	.navbar_container { height: var(--height-header-small); 	}
	.body_scrolled .navbar_container {     height: var(--height-header-small);   }
	.navbar_container .kr_logo { padding-top: 10px; }
	.body_scrolled .navbar_container .kr_logo { padding-top: 10px; }
}		
@media screen and (min-width: 550px) {
	.navbar_container .kr_logo,
	.navbar_container .header_nav_container,
	.navbar_container {     height: var(--height-header-full);   }
	.body_scrolled .navbar_container .kr_logo, 
	.body_scrolled .navbar_container .header_nav_container, 
	.body_scrolled .navbar_container {     height: var(--height-header-small);   }	
	.body_scrolled .navbar_container .kr_logo { width: 20%; }	
}



.navbar_container .site_logo_large_v3 {
	display: inline;
	height: auto;
	width: auto;
	max-width: 100%;
	transition: all 200ms linear;
}

@media screen and (max-width: 549px) {
	.navbar_container .site_logo_large_v3 {
		max-height: calc(var(--height-header-small) - 20px);
	}
}	

	
.navbar_container .header_nav_container {
	width: 70%;
	  display: flex;
	  flex-direction: column;
	  justify-content: end;
	  align-items: end;
	  padding-bottom: 5px;
	  transition: all 200ms linear;
}
.navbar_container .header_nav_text span {
	display: none;
}  


.margins_page_column {
	width: var(--width-page-content-general);
} 

.navbar_container .header_nav_text {
	display: none;
	padding: 5px 10px 0 0;
	height: 50px;
	max-height: 50px;
	line-height: 1;
	overflow: hidden;
	text-align: right;
}
.navbar_container .header_nav_textplaceholder {
	display: none;
}

.navbar_container .headerline_item {
	padding: 5px 0 0 0;
	line-height: 1;
	display: inline-block;
}

.navbar_container .headerline_item.mail {
	display: none;
}
.navbar_container .headerline_item.mailshort {
	display: none;
}
.navbar_container .floatline {
	display: none;
	padding: 0 10px 0 0;
	overflow: hidden;
	justify-content: right;
	align-items: center;
	text-align: right;
	line-height: 1;
}
.navbar_container .kontakt {
	display: flex;
	justify-content: right;
	align-items: start;
	padding: 0 10px 0 0;
	overflow: hidden;
	max-height: 0;
	text-align: right;
	align-content: center;
	line-height: 1.2;
	transition: all 100ms linear;
}	
.navbar_container .menu_links {
	display: none;
	padding: 0 10px 5px 0;
	flex-direction: row;
	height: 40px;
	max-height: 40px;
	width: 100%;
	justify-content: right;
	align-items: flex-end;
	transition: all 300ms ease-out;
}

.navbar_container .single_menu_link p {
	margin: 0;
	color: var(--color-page-active-dunkelblue);
	/* border: 1px solid #fff; */
	border-radius: 3px;	
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	line-height: 1.0;
	transition: all 300ms ease-out;
	position: relative;
}

.navbar_container .single_menu_link {
	text-align: right;
	position:relative;
	letter-spacing: -0.3px;
	margin-left: 20px;
}




.open_top_menu {
	background: #e3f4fb;
	box-shadow: 0 6px 12px #00000055;
	padding: 0;
	margin: 0;
	border: 1px solid #bbb;
	opacity: 0;
	max-height: 0;
	position: absolute;
	top: 0;
	z-index: 0;
	overflow: hidden; 
	transition: all 0.4s linear;
}
.open_top_menu.js_modal_open {
	opacity: 1;
	max-height: 1000px;
	z-index: 1;
	transition: all 0.4s linear;
}

@media screen and (min-width: 550px) {
	
}

@media screen and (min-width: 850px) {
	.navbar_container .single_menu_link { margin-left: 50px; }
}
@media screen and (min-width: 1050px) {
	.open_top_menu.schiffe {   width: 700px; top: -10px; right: 30px; }
	.open_top_menu.regionen {  width: 700px; top: -10px; right: 10px;  }
}
@media screen and (min-width: 550px) and (max-width: 1049px) {
	.open_top_menu.schiffe { 	width: 90%; top: -5px; }		
	.open_top_menu.regionen { 	width: 90%; top: -5px; }		
}

.margins_page_column {
	margin-left: auto;
	margin-right: auto;	
	width: 100%;	
	position: relative;
}
.margins_page_column_book {
	margin-left: auto;
	margin-right: auto;	
	width: 100%;	
}

/* Icons in der oberen Zeile */
.navbar_container a.merkliste::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 14px;
	content: "\f004";
	padding-left: 15px;
	padding-right: 3px;
	font-weight: bold;
}
.navbar_container .merkliste span {
	display: none;
}

.navbar_container a.login::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 14px;
	content: "\f007";
	padding-right: 3px;
	padding-left: 3px;
	font-weight: bold;
}
.navbar_container .login {
	padding-left: 15px;
}
.navbar_container .tel, .navbar_container .mail {
	font-weight: bold;
}

.navbar_container a.contact::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 14px;
	content: "\f095";
	padding-right: 3px;
	padding-left: 15px;
	font-weight: bold;
}
.navbar_container .a_tel::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 14px;
	content: "\f095";
	padding-right: 3px;
	padding-left: 15px;
	font-weight: bold;
}
.navbar_container .a_mail::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 14px;
	content: "\f0e0";
	padding-right: 3px;
	padding-left: 15px;
	font-weight: bold;
}
.navbar_container .a_mailshort::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 14px;
	content: "\f0e0";
	padding-right: 3px;
	padding-left: 15px;
	font-weight: bold;
}
 

/* gescrollter Zustand */
.body_scrolled .navbar_container .header_nav_text {
	display: none;
	height: 30px;
	padding: 5px 10px 5px 10px;
}
.body_scrolled .navbar_container .header_nav_textplaceholder {
	display: none !important;
}	
.body_scrolled .navbar_container .header_nav_icons {
	display: flex;
}	

.body_scrolled .navbar_container .kontakt {
	max-height: 0;
}	

.body_scrolled .navbar_container .menu_links {
	height: 30px;
	max-height: 30px;
	transition: all 300ms ease-out;
}





.body_scrolled {
		transition: all 300ms ease-out;
}


.navbar_container .headerline_item.user, 
.navbar_container .headerline_item.merkliste, 
.navbar_container .headerline_item.tel, 
.navbar_container .headerline_item.contact, 
.navbar_container .headerline_item.mail, 
.navbar_container .headerline_item.mailshort, 
.body_scrolled .navbar_container .headerline_item.user, 
.body_scrolled .navbar_container .headerline_item.merkliste, 
.body_scrolled .navbar_container .headerline_item.tel, 
.body_scrolled .navbar_container .headerline_item.contact, 
.body_scrolled .navbar_container .headerline_item.mailshort, 
.body_scrolled .navbar_container .headerline_item.mail {
	display: none;
}



/* Ausklappmenü (allgemeine Formatierungen, Nummerierung erfolgt nach Ebenen) */
.open_top_menu_container .mobile_top_menu {
	display: block;
	background: #cce8f4;
}


.open_top_menu h3 {
	font-size: 20px;
	color: #444;
	margin: 0;
	letter-spacing: -0.3px;
}
.open_top_menu div.layout1 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 20px;
	gap: 20px;
	justify-content: space-around;
}

.open_top_menu div.layout2 {
	display: flex;
	padding: 0;
	flex-direction: column;
}
.open_top_menu .head {	
	margin: 0;
	padding: 0;
	line-height: 1.1;	
	color: #666;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: bold;
}
.open_top_menu .head.abstand {	
	margin-top: 20px;
}

.open_top_menu div.layout3 {
	display: flex;
	padding: 10px 10px 0 10px;
	flex-direction: column;
}
.open_top_menu div.layout4.abstand {
	margin-top: 20px;
}
.open_top_menu div.layout4.weitere {
	width: 100%;
}

 
.open_top_menu .textlist {
	font-size: 14px;
	display: block;
	color: #000;
	white-space: nowrap; 
}
.open_top_menu .textlist.weitere {
	font-size: 16px;
}
 
.single_menu_direktlink {
	color: var(--color-page-active-dunkelblue);
}



/* Ausklappmenü als seitliche Menüleiste */
@media screen and (max-width: 549px) {
	
	.mobile_top_menu p {
		padding: 10px 10px;
		margin: 0;
		font-weight: bold;
		cursor: pointer;
		border-top: 1px solid #fbfbfb;
	}
	.mobile_top_menu p:hover {
		background: #fff;
	}
	
	.open_top_menu_container {
		padding-top: 10px;
		padding-bottom: 10px;
	}
		
	.open_top_menu_container div.layout3  {
		display: flex;
		  padding:	0;
		  flex-direction: row;
		  flex-wrap: wrap;
		  gap: 0;
	}
	.open_top_menu_container div.layout4  {
		padding: 7px;
		margin: 2px;
		border: 1px solid #fff;
		background: #f7fcff;
		box-shadow: 0px 0px 2px #00000040;
	}
	
	
	.open_top_menu {
		margin-left: 0;
		width: unset;
		position: relative;
		top: unset;
		transition: all 100ms ease-out;
	  border: 0;
	  box-shadow: unset;
	}
	
	.open_top_menu_container {
		position: fixed;
		background: #e3f4fb;
		top: 55px;
		left: 0;
		z-index: 90;
		width: 0;
		max-width: 0;
		min-width: 0;
		overflow: hidden;
		transition: all 300ms ease-out;
	}

	.open_top_menu_container.js_modal_open {
		width: auto;
		min-width: 80%;
		max-width: 100%;
		transition: all 300ms ease-out;
		z-index: 90;
				box-shadow: 4px 4px 7px  #00000020;
	}
		
	.open_top_menu div.layout1 {
	  flex-direction: column;
	  padding: 10px;
	}	

	.open_top_menu.schiffe div.layout2.js_modal_open {
	  padding-bottom: 5px;
	}	 
		
	.single_menu_direktlink {
		color: #333;
	}
}	




/* Media */
@media screen and (min-width: 100px) {


}

@media screen and (min-width: 550px) {
	
	.body_scrolled .navbar_container .header_nav_container {
		width: 80%;
	}

	.open_top_menu_container .mobile_top_menu { 
		display: none;
	}	  
	.navbar_container .floatline {
		display: block;
	}	
	.navbar_container .menu_links {
		display: flex;
	}	
	.navbar_container .header_nav_icons {
		display: none;
	}
	
	.navbar_container .site_logo_large_v3 {
		height: auto;
		width: auto;
		max-height: calc(var(--height-header-full) - 10px);
		max-width: 100%;
	}	
	.body_scrolled .navbar_container .site_logo_large_v3 {
		height: auto;
		width: auto;
		max-height: calc(var(--height-header-small) - 10px);
		max-width: 100%;
	}
	
	.navbar_container .header_nav_text {
		display: inline;
		position: absolute;
		width: 100%;
		top: 0;
		z-index: 200;
		right: 0;
		height: 30px;
	}
	.navbar_container .header_nav_textplaceholder {
		display: block;
		height: 30px;
	}
	
	
	.navbar_container .header_nav_container span {
		display: inline;
	}	
		
		
	.navbar_container .single_menu_link p.link_top_menu::after {
		content: "\f107";
		 font-family: 'Font Awesome 5 Free';
		font-weight: bold;
		color: #0a3c88;
		margin-left: 3px;
	}
	
	
	.navbar_container .headerline_item.merkliste, 
	.navbar_container .headerline_item.tel, 
	.navbar_container .headerline_item.mail, 
	.body_scrolled .navbar_container .headerline_item.merkliste,    
	.body_scrolled .navbar_container .headerline_item.tel,    
	.body_scrolled .navbar_container .headerline_item.mailshort {
		display: inline-block;
	}
		
	
	.body_scrolled .navbar_container .header_nav_textplaceholder {
		display: none;
	}		
	
	.body_scrolled .navbar_container .header_nav_icons {
		display: none;
	}
	.body_scrolled .navbar_container .header_nav_text {
		display: block;
	}
		
	.navbar_container .kontakt {
		max-height: 50px;
	}	
}



@media screen and (min-width: 750px) {
	
	.navbar_container .single_menu_link p {
		font-size: 18px;
		text-transform: uppercase;
	}
	.navbar_container .single_menu_link p::after {
		margin-left: 7px;
	}
	

	.body_scrolled .navbar_container .headerline_item.mailshort {
		display: none;
	}	
	.body_scrolled .navbar_container .headerline_item.mail {
		display: inline-block;
	}	
}

@media screen and (min-width: 850px) {
	.navbar_container .single_menu_link p {
		font-size: 20px;
	}
}
@media screen and (min-width: 950px) {

	.navbar_container .headerline_item.user {
		display: inline-block;
	}	
}

@media screen and (min-width: 1200px) {
	.open_top_menu_container .mobile_top_menu {
		display: none;
	}
	.margins_page_column {
		width: var(--width-page-content-general); 
	}
	.margins_page_column_book {
		width: var(--width-page-content-general);
	} 
	.navbar_container .header_nav_text {
		width: 1120px;
	}	
	
	.body_scrolled .navbar_container .headerline_item.user {
		display: inline-block;
	}	

	.body_scrolled .navbar_container .header_nav_text {
	}
	.body_scrolled .navbar_container .header_nav_icons {
		display: none;
	}	
}

@media screen and (min-width: 1400px) {
	.margins_page_column {
		margin-left: calc(((100% - 1150px) / 2) - 115px);
	}
}

.flag_png {
	background-size: contain;
	background-position: 50%;
	position: relative;
	display: inline-block;
	width: 1.33333333em;
	line-height: 1em;
	font-size: revert;
}


/************************************************************************************************************************************************************************************************************************/
/* xox: Header_App ()  (kr)  */
/************************************************************************************************************************************************************************************************************************/

.app_header_container {
	padding-top: var(--safe-area-top); 
	padding-left: var(--safe-area-left); 
	padding-right: var(--safe-area-right); 
	width: 100%;
	position: fixed;
	z-index: 110;
	top: 0;
	display: flex;
	align-items: end;
	justify-content: end;
	flex-direction: column;
}
.app_header_inner { 
	display: flex;
	justify-content: space-between;
	padding-left: 10px;
	padding-right: 10px;
}
.app_header_container .kr_logo_mitte { 
	display: flex;
	justify-content: center;
}
.app_header_logo {
	width: auto;
	transition: all 0.2s linear;
}


.app_header_inner.kontaktzeile {
	overflow: hidden; 
	align-items: start;
	align-items: end;
}
.body_scrolled .app_header_inner.kontaktzeile { 
	max-height: 0;	
	transition: all 0.2s linear;
}

.app_header_container .kontaktzeile a { 
	font-size: 11px;
	color: #fff;
	transform: scaleY(1.2);
	opacity: 0.7;
}
.app_header_container .kontaktzeile a.links { 
	transform-origin: left; 
}
.app_header_container .kontaktzeile a.rechts { 
	transform-origin: right; 
}
.app_header_container .kontaktzeile .icon { 
	padding-right: 5px;
	opacity: 0.3;
}

.app_header_container .icons_rechts { 
	display: flex;
	justify-content: center;
	gap: 20px;
}
.app_header_container .icons_links { 
	display: flex;
	justify-content: center;
}
.app_header_container .header_icon { 
	color: #fff; 
	font-size: 28px; 
	line-height: calc(var(--height-header-app-inner-small) - 5px);
}
.app_header_container .header_icon.js_link_zur_cruiselist { 
	width: 100px;
}
.app_header_container .menu_suche { 
	font-size: 16px;
	color: #fff;
	font-weight: bold; 
	display: flex;
	gap: 10px;
	align-items: center;
}

.app_header_container .header_title_text { 
	font-size: 20px; 
	color: #fff; 
	letter-spacing: -0.5px; 
	font-weight: bold; 
}
.app_header_container .header_title_text a { color: #fff;  }
.app_header_container .header_title_text i { margin-right: 5px; }

.app_header_inner.submenu {
	justify-content: center;
}

@media screen and (max-width: 299px) { 
	.app_header_container .header_title_text span { display: none; }
}
@media screen and (min-width: 750px) { 
	.app_header_container .menu_suche { display: none; } 
}

.app_header_container[data-page-group="startseite"]     { padding-bottom: 0;   background: var(--color-app-hellerblau);        border-bottom: 0;          box-shadow: unset; display: none; }
.app_header_container[data-page-group="cruise_list"]    { padding-bottom: 0;   background: var(--color-background-app-header); border-bottom: 3px solid var(--color-background-app-header-kante); box-shadow: unset; }
.app_header_container[data-page-group="cruise_detail"]  { padding-bottom: 5px; background: var(--color-background-app-header); border-bottom: 3px solid var(--color-background-app-header-kante); box-shadow: unset; }
.app_header_container[data-page-group="general_cms"]    { padding-bottom: 5px; background: var(--color-background-app-header); border-bottom: 3px solid var(--color-background-app-header-kante); box-shadow: unset; }
.app_header_container[data-page-group="loginlogout"]    { padding-bottom: 5px; background: var(--color-background-app-header); border-bottom: 3px solid var(--color-background-app-header-kante); box-shadow: unset; }
.app_header_container[data-page-group="my_admin"]  	    { padding-bottom: 5px; background: var(--color-background-app-header); border-bottom: 3px solid var(--color-background-app-header-kante); box-shadow: unset; }
.app_header_container[data-page-group="inside_booking"] { padding-bottom: 5px; background: var(--color-background-app-header); border-bottom: 3px solid var(--color-background-app-header-kante); box-shadow: unset; }
.app_header_container[data-page-group="skeleton"] 		{ padding-bottom: 5px; background: var(--color-background-app-header); border-bottom: unset; box-shadow: unset; }


/* Abstände oben. */
/* Startseite: ohne Header, Buchung: Small Header, Rest: Medium + Small beim Scrollen */

@media screen and (min-width: 450px) {
	.app_header_inner.kontaktzeile { justify-content: end; gap: 20px; }
	.app_header_container .kontaktzeile a { font-size: 14px;}
}

@media screen and (max-width: 549px) {	

	/* standard (oben variabel) */
	/*.app_header_container					{ height: var(--height-header-app-outer-medium); }
	.body_scrolled .app_header_container 	{ height: var(--height-header-app-outer-small); }
	.app_frontend .all_page_container_1 	{ padding-top: var(--height-contentstart-app-medium); }*/
	.app_header_logo_img					{ height: calc(var(--height-header-app-inner-small) - 5px); }
	
	/* Cruise list (oben immer null) */
	.app_header_container[data-page-group="cruise_list"]	{ height: var(--height-header-app-outer-micro); }
	.body_scrolled .app_header_container[data-page-group="cruise_list"]	{ height: var(--height-header-app-outer-micro); }
	.app_frontend[data-page-group="cruise_list"] .all_page_container_1	{ padding-top: var(--height-header-app-inner-micro); }
	
	/* Detailseite */
	.app_header_container[data-page-group="cruise_detail"]	{ height: var(--height-header-app-outer-small);    }
	.body_scrolled .app_header_container[data-page-group="cruise_detail"]	{ height: var(--height-header-app-outer-small);  } 
	.app_frontend[data-page-group="cruise_detail"] .all_page_container_1 { padding-top: var(--height-header-app-inner-small);  }
	
	/* general_cms */
	.app_header_container[data-page-group="general_cms"]	{ height: var(--height-header-app-outer-small); }
	.body_scrolled .app_header_container[data-page-group="general_cms"]	{ height: var(--height-header-app-outer-small); }
	.app_frontend[data-page-group="general_cms"] .all_page_container_1 { padding-top: var(--height-header-app-inner-small);  }
	
	/* loginlogout */
	.app_header_container[data-page-group="loginlogout"]	{ height: var(--height-header-app-outer-medium); }
	.body_scrolled .app_header_container[data-page-group="loginlogout"]	{ height: var(--height-header-app-outer-medium); }
	.app_frontend[data-page-group="loginlogout"] .all_page_container_1 { padding-top: var(--height-header-app-inner-medium);  }
	
	/* my_admin */
	.app_header_container[data-page-group="my_admin"]	{ height: var(--height-header-app-outer-medium); }
	.body_scrolled .app_header_container[data-page-group="my_admin"]	{ height: var(--height-header-app-outer-medium); }
	.app_frontend[data-page-group="my_admin"] .all_page_container_1 { padding-top: var(--height-header-app-inner-medium);  }
	
	/* Startseite (oben kleiner Balken) */
	.app_header_container[data-page-group="startseite"]  { height: var(--height-header-app-outer-micro); }
	.app_frontend[data-page-group="startseite"] .all_page_container_1 {  padding-top: var(--height-header-app-outer-null); /* var(--height-header-app-inner-micro); */ }
	.body_scrolled .app_header_container[data-page-group="startseite"]	{ height: var(--height-header-app-outer-micro); }
	
	/* Buchung */
	.pagetemplate_booking .app_header_container .header_nav_container,
	.body_scrolled.pagetemplate_booking .app_header_container .header_nav_container { height: var(--height-header-app-inner-small); }			
	.pagetemplate_booking .app_header_container, 
	.body_scrolled.pagetemplate_booking .app_header_container { height: var(--height-header-app-outer-small); }		
	.app_frontend[data-page-group="inside_booking"] .all_page_booking_container_1  { padding-top: var(--height-header-app-inner-small);  }	
	
	/* skeleton */
	.app_header_container[data-page-group="skeleton"]	{ border-bottom: unset;  }
	.app_header_container[data-page-group="skeleton"].skeleton_cruise_list	{ height: var(--height-header-app-inner-medium);  }
	.app_header_container[data-page-group="skeleton"].skeleton_cruise_detail { height: var(--height-header-app-outer-medium);  }
	.app_header_container[data-page-group="skeleton"].skeleton_default	{ height: var(--height-header-app-outer-medium);  }
	.body_scrolled .app_header_container[data-page-group="skeleton"]	{ height: var(--height-header-app-outer-medium); }
	.app_frontend .skeleton.cruise_list { padding-top: var(--height-header-app-inner-medium);  }
	.app_frontend .skeleton.cruise_detail { padding-top: var(--height-header-app-inner-medium);  }
	.app_frontend .skeleton.default { padding-top: var(--height-header-app-inner-medium);  }
}		

@media screen and (min-width: 550px) and (max-width: 849px) {
	
	/* standard */
	/*.app_header_container					{ height: var(--height-header-app-outer-medium); }
	.body_scrolled .app_header_container 	{ height: var(--height-header-app-outer-small); }
	.app_frontend .all_page_container_1 	{ padding-top: var(--height-contentstart-app-medium); }*/
	.app_header_logo_img 					{ height: calc(var(--height-header-app-inner-small) - 5px); }
	
	/* Cruise list (oben immer null) */
	.app_header_container[data-page-group="cruise_list"]	{ height: var(--height-header-app-outer-micro); }
	.body_scrolled .app_header_container[data-page-group="cruise_list"]	{ height: var(--height-header-app-outer-micro); }
	.app_frontend[data-page-group="cruise_list"] .all_page_container_1	{ padding-top: var(--height-header-app-inner-micro); }
	
	/* Detailseite */
	.app_header_container[data-page-group="cruise_detail"]	{ height: var(--height-header-app-outer-small); }
	.body_scrolled .app_header_container[data-page-group="cruise_detail"]	{ height: var(--height-header-app-outer-small); }
	.app_frontend[data-page-group="cruise_detail"] .all_page_container_1	{ padding-top: var(--height-header-app-inner-small); }
	
	/* general_cms */
	.app_header_container[data-page-group="general_cms"]	{ height: var(--height-header-app-outer-small); }
	.body_scrolled .app_header_container[data-page-group="general_cms"]	{ height: var(--height-header-app-outer-small); }
	.app_frontend[data-page-group="general_cms"] .all_page_container_1	{ padding-top: var(--height-header-app-inner-small); }
	
	/* loginlogout */
	.app_header_container[data-page-group="loginlogout"]	{ height: var(--height-header-app-outer-medium); }
	.body_scrolled .app_header_container[data-page-group="loginlogout"]	{ height: var(--height-header-app-outer-medium); }
	.app_frontend[data-page-group="loginlogout"] .all_page_container_1	{ padding-top: var(--height-header-app-inner-medium); }
	
	/* my_admin */
	.app_header_container[data-page-group="my_admin"]	{ height: var(--height-header-app-outer-medium); }
	.body_scrolled .app_header_container[data-page-group="my_admin"]	{ height: var(--height-header-app-outer-medium); }
	.app_frontend[data-page-group="my_admin"] .all_page_container_1	{ padding-top: var(--height-header-app-inner-medium); }
		
	/* Startseite (oben schwarzer Balken) */
	.app_header_container[data-page-group="startseite"]	{ height: var(--height-header-app-outer-micro); }
	.body_scrolled .app_header_container[data-page-group="startseite"]	{ height: var(--height-header-app-outer-micro); }
	.app_frontend[data-page-group="startseite"] .all_page_container_1	{ padding-top: var(--height-header-app-inner-micro); }
	
	/* Buchung */
	.pagetemplate_booking .app_header_container .header_nav_container,
	.body_scrolled.pagetemplate_booking .app_header_container .header_nav_container { height: var(--height-header-app-inner-small); }			
	.pagetemplate_booking .app_header_container, 
	.body_scrolled.pagetemplate_booking .app_header_container { height: var(--height-header-app-outer-small); }			
	.app_frontend[data-page-group="inside_booking"] .all_page_booking_container_1  { padding-top: var(--height-header-app-inner-small);  }	
	
	/* skeleton */
	.app_header_container[data-page-group="skeleton"]	{ border-bottom: unset;  }
	.app_header_container[data-page-group="skeleton"].skeleton_cruise_list	{ height: var(--height-header-app-inner-medium);  }
	.app_header_container[data-page-group="skeleton"].skeleton_cruise_detail { height: var(--height-header-app-outer-medium);  }
	.app_header_container[data-page-group="skeleton"].skeleton_default	{ height: var(--height-header-app-outer-medium);  }
	.body_scrolled .app_header_container[data-page-group="skeleton"]	{ height: var(--height-header-app-outer-medium); }
	.app_frontend .skeleton	{ padding-top: var(--height-header-app-inner-medium);  }
}	

@media screen and (min-width: 550px) and (max-width: 849px) {
	.app_frontend[data-page-group="cruise_list"] .all_page_container_1 { padding-top: var(--height-header-app-inner-micro); }
}
@media screen and (min-width: 750px) and (max-width: 849px) {
	.app_frontend[data-page-group="cruise_list"] .all_page_container_1 { padding-top: var(--height-contentstart-app-micro); }
}


@media screen and (min-width: 850px) {
	
	/* standard */
	/*.app_header_container 					{ height: var(--height-header-app-outer-full);   }
	.body_scrolled .app_header_container 	{ height: var(--height-header-app-outer-small);   }
	.app_frontend .all_page_container_1 	{ padding-top: var(--height-contentstart-app-full); }	*/
	.app_header_logo_img 					{ height: calc(var(--height-header-app-inner-small) - 5px); }
	
	/* cruise_list */
	.app_header_container[data-page-group="cruise_list"]  { height: var(--height-header-app-outer-micro); }
	.body_scrolled .app_header_container[data-page-group="cruise_list"]  { height: var(--height-header-app-outer-micro); }
	.app_frontend[data-page-group="cruise_list"] .all_page_container_1 { padding-top: var(--height-contentstart-app-micro); }		
	
	/* Detailseite */
	.app_header_container[data-page-group="cruise_detail"]  { height: var(--height-header-app-outer-medium); }	
	.body_scrolled .app_header_container[data-page-group="cruise_detail"]  { height: var(--height-header-app-outer-medium); }
	.app_frontend[data-page-group="cruise_detail"] .all_page_container_1 { padding-top: var(--height-contentstart-app-medium); }		
	
	/* general_cms */
	.app_header_container[data-page-group="general_cms"]  { height: var(--height-header-app-outer-small); }	
	.body_scrolled .app_header_container[data-page-group="general_cms"]  { height: var(--height-header-app-outer-small); }	
	.app_frontend[data-page-group="general_cms"] .all_page_container_1 { padding-top: var(--height-header-app-inner-small); }		
	
	/* loginlogout */
	.app_header_container[data-page-group="loginlogout"]  { height: var(--height-header-app-outer-medium); }	
	.body_scrolled .app_header_container[data-page-group="loginlogout"]  { height: var(--height-header-app-outer-medium); }	
	.app_frontend[data-page-group="loginlogout"] .all_page_container_1 { padding-top: var(--height-header-app-inner-medium); }		
	
	/* my_admin */
	.app_header_container[data-page-group="my_admin"]  { height: var(--height-header-app-outer-medium); }	
	.body_scrolled .app_header_container[data-page-group="my_admin"]  { height: var(--height-header-app-outer-medium); }	
	.app_frontend[data-page-group="my_admin"] .all_page_container_1 { padding-top: var(--height-header-app-inner-medium); }		
	
	/* Startseite */
	.app_header_container[data-page-group="startseite"]  { height: var(--height-header-app-outer-micro); }	
	.body_scrolled .app_header_container[data-page-group="startseite"]  { height: var(--height-header-app-outer-micro); }	
	.app_frontend[data-page-group="startseite"] .all_page_container_1 { padding-top: var(--height-header-app-inner-micro); }		

	/* Buchung */
	.pagetemplate_booking .app_header_container .header_nav_container,
	.body_scrolled.pagetemplate_booking .app_header_container .header_nav_container { height: var(--height-header-app-inner-small); }		
	.pagetemplate_booking .app_header_container,
	.body_scrolled.pagetemplate_booking .app_header_container {     height: var(--height-header-app-outer-small);   }	
	.app_frontend[data-page-group="inside_booking"] .all_page_booking_container_1  { padding-top: var(--height-header-app-inner-small);  }	
	
	/* skeleton */
	.app_header_container[data-page-group="skeleton"].skeleton_cruise_list	{ height: var(--height-header-app-inner-medium);  }
	.app_header_container[data-page-group="skeleton"].skeleton_cruise_detail { height: var(--height-header-app-outer-medium);  }
	.app_header_container[data-page-group="skeleton"].skeleton_default	{ height: var(--height-header-app-outer-medium);  }
	.body_scrolled .app_header_container[data-page-group="skeleton"]  { height: var(--height-header-app-outer-medium); }	
	.app_frontend .skeleton { padding-top: var(--height-header-app-inner-medium); }	
}


	
/************************************************************************************************************************************************************************************************************************/
/* xox: Content_App ()  (kr)  */
/************************************************************************************************************************************************************************************************************************/


/* Content allgemein */
#app_content { 
	padding-left: var(--safe-area-left);
	padding-right: var(--safe-area-right); 
}

#app_sicherheitsbereich_content_oben { 
	height: var(--safe-area-top);
}

body[data-page-group="startseite"] #app_sicherheitsbereich_content_oben { display: none; }

/*
#app_abstand_content_unten { 
	width: 100%; 
	height: var(--height-footer-app-height-medium); 
}*/

#app_sicherheitsbereich_debug_ebene { display: none; }
.debug_browser_emulator #app_sicherheitsbereich_debug_ebene { height: var(--safe-area-top); background: #0006; width: 100%; display: flex; z-index: 1000; position: fixed; top: 0; } /* Blendet oben den Sicherheitsbereich als schwarzen Balken ein. Kann bleiben in Live Version */

.app_frontend .startseite_white_box, .app_frontend .breaker_homepage, .app_frontend .images_top_categories .topkategorie .insideAngebot, .app_frontend .cruise_offers_tiles .bg_teaser { border-radius: 10px; box-shadow: inset 0 0 0 1px #0002; }

/* Header Footer zusammen */
@media screen and (max-width: 1199px) {
	body[data-page-group="cruise_list"].app_frontend .app_header_container { border-bottom: unset;  box-shadow: unset; }
	body[data-page-group="cruise_list"].app_frontend .app_footerbar_container { border-bottom: unset;  box-shadow: unset; }
	body[data-page-group="cruise_list"].app_frontend { background-attachment: fixed; background-size: cover;	}
}

/* Startseite oben */
.app_frontend .layout_mobil_startseite { position: relative; }

.startseite_block_header {
	font-size: 20px;
	font-weight: bold;
	  margin-bottom: 5px;
	  margin-top: 30px;
	  color: var(--color-app-dunkelblau);
}

.startseite_header_background_img {
	background-size: 110vw auto;      /* leicht vergrößert = Reserve oben */
	background-position: center center; /* nach oben verschoben */
	background-attachment: scroll;   /* Bild scrollt mit */
	position: absolute;
	top: var(--safe-area-neg-top);
	height: 500px;
	width: 100vw;
	margin: 0;	
}
.startseite_header_background_img::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 70px; /* Bereich des Verlaufs */
	background: linear-gradient(to bottom, transparent, var(--color-background-contrast));
	pointer-events: none; /* Bild bleibt klickbar */
}

@media screen and (max-width: 349px ) {
	.startseite_header_background_img { height: 300px; }
	.logo_auf_bild { margin-top: 10px; display: flex; justify-content: center; margin-bottom: 150px;  }
	.app_header_start_logo { width: 80%;  }
}
@media screen and (min-width: 350px) and (max-width: 549px) {
	.startseite_header_background_img { height: 400px; }
	.logo_auf_bild { margin-top: 10px; display: flex; justify-content: center; margin-bottom: 200px;  }
	.app_header_start_logo { width: 60%;  }
}
@media screen and (min-width: 550px) and (max-width: 749px) {
	.startseite_header_background_img { margin-left: -5px; margin-right: -5px; width: 100vw; }
	.logo_auf_bild { margin-top: 10px; display: flex; justify-content: center; margin-bottom: 250px;  }
	.app_header_start_logo { width: 50%;  }
}
@media screen and (min-width: 750px) and (max-width: 849px) {
	.startseite_header_background_img { margin-left: -10px; margin-right: -10px; }
	.logo_auf_bild { margin-top: 10px; display: flex; justify-content: center; margin-bottom: 270px;  }
	.app_header_start_logo { width: 50%;  }
}
@media screen and (min-width: 850px) {
	.startseite_header_background_img { display: none; }
	.logo_auf_bild { margin-top: 0; margin-bottom: 10px; display: flex; justify-content: start; }
	.app_header_start_logo { width: 150px; margin-top: 10px;  }
}

/* Such Formular */
.app_frontend .datepicker-footer .datepicker-controls .button, 
.app_frontend .datepicker-header .datepicker-controls .button {
	background: var(--color-app-hellblau);
}
.app_frontend .datepicker-header .datepicker-controls .button:hover, 
.app_frontend .datepicker-header .datepicker-controls .button:active,
.app_frontend .datepicker-footer .datepicker-controls .button:hover, 
.app_frontend .datepicker-footer .datepicker-controls .button:active {
	background: var(--color-app-mittelblau);
}
.app_frontend .datepicker-cell:not(.disabled):hover {
	background: var(--color-app-mittelblau);
}
.app_frontend .search_form_item .flyout_liste_wrapper { border-radius: 10px; }

/* Such Formular - Sticky Formularleisten beim hoch- und runterscrollen */
@media screen and (min-width: 750px) {
	.app_frontend .pagetemplate_cruisesearch .menu_fix_bottom {
		position: fixed;
		bottom: var(--height-footer-app-height-medium);  /* in Webversion muss das 0 sein ?? */
		top: auto;
		width: calc(22% - 5px);
		max-width: 246px; 
	}
	.app_frontend .pagetemplate_cruisesearch .menu_fix_top {
		position: fixed;
		bottom: auto;
		top: calc(var(--height-header-app-outer-micro) + 10px); 
		width: calc(22% - 5px);
		max-width: 246px; 
	}
}
.app_frontend #cruise_searchform_platzhalter_menubreite { height: 1px; width: 1px; background: unset; }
@media screen and (min-width: 1200px) {
	.app_frontend #cruise_searchform_platzhalter_menubreite { width: 246px; }
}

/* Cruise Liste */
@media screen and (max-width: 749px) {
	.app_frontend .cruise_list_fixed_header {
		position: fixed;
		width: 100%;
		z-index: 80;
		box-shadow: 0px 0px 10px #00000050;
		left: 0;
	}
	.app_frontend .list_cruises_container.longkat_landingpage { padding-top: 122px; } /* Abstand erforderlich für Filterzeilen */
	.app_frontend .list_cruises_container.deaktiv.longkat_landingpage { padding-top: 86px; }
	.app_frontend.page_mit_kf_liste.pagetemplate_cruiselist .list_cruises_container.longkat_landingpage { padding-top: 50px; }
	.app_frontend .search_listheader .listsort { display: none; }	
	
	.app_frontend.page_mit_kf_liste .list_cruises_container.longkat_landingpage { padding-top: 0; }
	.app_frontend.page_mit_kf_liste .list_cruises_container.landingpage1 { padding-top: 0; }
	.app_frontend.page_mit_kf_liste .filter_links_box { display: none; }
}

@media screen and (min-width: 750px) {
	.app_frontend .list_cruises_container.longkat_landingpage { padding-top: 10px;	}
	.app_frontend.page_mit_kf_liste .list_cruises_container.longkat_landingpage { padding-top: 0;	}
	.app_frontend.page_mit_kf_liste.pagetemplate_cruiselist .list_cruises_container.longkat_landingpage { padding-top: 10px; }
	.app_frontend .filter_links_box.zusammenfassung { display: none; }
	/* .app_frontend .filter_links_box.main { width: unset; float: left; }
	.app_frontend .filter_links_box.zusammenfassung { width: unset; float: right; } */
}


/* general_cms */
@media screen and (max-width: 1199px) {
	.app_frontend[data-page-group="general_cms"] .header_teaser_image { margin-left: -10px; margin-right: -10px; width: calc(100% + 20px); }
	.app_frontend[data-page-group="general_cms"] .h1_header_cms { padding-left: 10px; padding-right: 10px; }
	body[data-page-group="general_cms"] .header_overscroll_background { position: absolute; top: 0; left: 0; width: 100%;  height: var(--height-header-app-inner-small); background: var(--color-background-app-header); z-index: 10; }
}
@media screen and (min-width: 1200px) {
	.app_frontend[data-page-group="general_cms"] .header_teaser_image { padding-top: 10px; }
}
.app_frontend[data-page-group="general_cms"] .menubar_left_long { display: none; }
.app_frontend[data-page-group="general_cms"] .container_content .container_content_2 { width: 100%; }
.app_frontend .pageContent_container { overflow: hidden; font-size: 19px; /*appsize*/ }


/* my_data */
.app_frontend[data-page-group="loginlogout"] .all_page_container_3 { padding-left: 10px; padding-right: 10px; padding-top: 10px; }
.app_frontend[data-page-group="my_admin"] .all_page_container_3 { padding-left: 10px; padding-right: 10px; padding-top: 10px; }
.app_frontend[data-page-group="my_admin"].page_mit_kf_liste .all_page_container_3 { padding-left: 0; padding-right: 0; padding-top: 0; }
.app_frontend .all_page_container_3 .my_data_paymentdata_list { padding-top: 10px; }
.app_frontend .all_page_container_3 .my_data_new_paymentdata { padding-top: 10px; }

.container_content_loginlogout {
	display: flex;
	gap: 20px;
}
@media screen and (max-width: 849px) { 
	.container_content_loginlogout { flex-direction: column; }
	.container_content_loginlogout .sub { width: 100%; }
}
@media screen and (min-width: 850px) { 
	.container_content_loginlogout { flex-direction: row; }
	.container_content_loginlogout .sub { width: 50%; }
}

.app_frontend[data-page-group="loginlogout"] select.form_input, 
.app_frontend[data-page-group="my_admin"] select.form_input, 
.app_frontend[data-page-group="loginlogout"] input.form_input, 
.app_frontend[data-page-group="my_admin"] input.form_input  { border-radius: 8px; }

.app_frontend.page_mit_favoriten_liste .header_teaser_image, 
.app_frontend.preisalarm_liste .header_teaser_image { display: none; }
.app_frontend.page_mit_favoriten_liste .my_data_page_all, 
.app_frontend.preisalarm_liste .my_data_page_all { padding-top: 10px; }

.app_frontend.my_data_show_buchung_single .all_page_container_1  { background: #fff; }


/* App Menu */
.app_bottom_menu_container {
	position: absolute;
	background: #fff;
	box-shadow: 0px 0px 10px #00000040;
	bottom: calc(100% + 5px);
	right: 5px;
	border-radius: 10px;
	overflow: hidden; 
	transition: all 0.2s linear;
}
#app_footer .app_bottom_menu_container.app_menu {
	max-height: 0vh;	
	z-index: 112;
	min-width: 300px; 
	max-width: 95vw;
}
#app_footer.menu_zeigen .app_bottom_menu_container.app_menu {
	max-height: 90vh;
}

#app_footer .app_bottom_menu_container.app_submenu {
	right: -500px;
	min-width: 280px; 
	max-width: 95vw;
	z-index: 115;
}
		
@media screen and (max-width: 549px) {
	#app_footer .app_bottom_menu_container.app_submenu { min-width: 250px; }
	#app_footer .app_bottom_menu_container.app_submenu.submenu_kontakt { max-width: 95vw; min-width: 320px; }
	#app_footer .app_bottom_menu_container.app_menu { min-width: 300px; }
}

@media screen and (min-width: 550px) {
	#app_footer .app_bottom_menu_container.app_submenu {  }
	#app_footer .app_bottom_menu_container.app_menu { min-width: 400px; }
}


#app_footer .app_bottom_menu_container.app_submenu.submenu_zeigen {
	right: 5px;
}

.abdunkeln_app_bottom_menu {
	width: 0;
	height: 0;
	background: #000;
	opacity: 0;
	position: fixed; 
	top: 0;
	left: 0;
	z-index: 150;
	transition: opacity 0.3s linear; 
}
.abdunkeln_app_bottom_submenu {
	width: 0;
	height: 0;
	background: #000;
	opacity: 0;
	position: absolute; 
	top: 0;
	left: 0;
	transition: opacity 0.3s linear; 
}

.abdunkeln_app_bottom_submenu.abdunkeln_zeigen { opacity: var(--modal-opacity);  width: 100%; height: 100%;  }
.abdunkeln_app_bottom_menu.abdunkeln_zeigen { opacity: var(--modal-opacity); width: 100vw; height: 100lvh;    }




.app_bottom_menu_container .app_bottom_menu_inner {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 10px 0;
}
.app_bottom_menu_container .menu_punkt {
	font-size: 22px;
	color: var(--color-app-dunkelblau);
	padding: 10px 20px;
	border-bottom: 1px solid #e3e3e3;
	position: relative; 
	cursor: pointer;
	white-space: nowrap;
}


.app_bottom_menu_container .menu_punkt .untertitel {
	display: block;
	padding-left: 30px;
	padding-top: 10px;
}

.app_bottom_menu_container .menu_punkt.last { border-bottom: 0; }
.app_bottom_menu_container .menu_punkt.inaktiv { color: #848484; }
.app_bottom_menu_container .menu_punkt .icon {
	width: 20px;
	opacity: 0.8;
	text-align: center;
	margin-right: 10px;
}

.app_bottom_menu_container .menu_punkt .fa-chevron-right {
	line-height: 1;
	  position: absolute;
	right: 15px;
	  top: 15px;
	  color: #888;
}

.app_bottom_menu_container .menu_punkt.zurueck {
	color: var(--color-app-dunkelblau);
}

.app_bottom_menu_container .menu_schliessen {
	font-size: 25px;
	display: flex;
	  justify-content: center;
	  align-items: center;
	color: var(--color-app-dunkelblau);
	background: #fff;
	padding: 10px;
	height: 60px;
	width: 60px;
	border-radius: 30px;
	position: absolute;
	top: -30px;
	left: -30px;
	box-shadow: 0px 0px 10px #00000040;
}



/* Startseite weiße Contentbox */
.startseite_white_box {
	background: #fff;
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 30px;
}

.startseite_white_box .head {
	color: var(--color-app-dunkelblau);
	font-size: 20px;
	font-weight: bold;
}
.startseite_white_box .text {
	color: var(--color-app-dunkelblau);
}


.startseite_white_box .link {
	display: block;
	background: var(--color-app-dunkelblau);
	text-align: center;
	width: 100%;
	max-width: 450px;
	float: none;
	border: 0;
	padding: 0 15px;
	color: #fff;
	box-shadow: 0 0 1px 1px #00000026;
	font-weight: bold;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	white-space: nowrap;
	border-radius: 17px;
	cursor: pointer;
	letter-spacing: 1px;
	overflow: hidden;
	font-size: 16px;
	line-height: 37px;
	height: 37px;
}
.startseite_white_box .link:hover { background: var(--color-app-mittelblau); color: #fff; }


/* Swiper - Quer Slider */
.swipe_gallery_container {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.swipe_gallery_track {
	display: flex;
	gap: 10px;
	transform: translateX(0px);
	cursor: grab;
	transition: transform 0.2s ease-out;
	user-select: none;
	-webkit-user-drag: none;
	-webkit-user-drag: none;
	touch-action: pan-y;
}

.swipe_box {
	flex: 0 0 auto;
	background: #e0e0e0;
	border-radius: 12px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
	user-select: none;
}

.swipe_arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 40px;
	color: #fff;
	cursor: pointer;
	z-index: 10;
	user-select: none;
	opacity: 0.3;
	text-shadow: 0px 0px 4px #000;
	transition: opacity 0.3s ease, text-shadow 0.6s ease, transform 0.3s ease, color 0.3s ease;
}

.swipe_gallery_track img, .swipe_gallery_track a { user-select: none;	-webkit-user-drag: none; }
.swipe_arrow.swipe_arrow_left {	left: 3px; }
.swipe_arrow.swipe_arrow_right { right: 3px; }
.swipe_gallery_container:hover .swipe_arrow {	opacity: 0.7; }
.swipe_arrow:hover {	transform: translateY(-50%) scale(1.1); opacity: 1; }
.swipe_arrow.disabled {	color: #2b7ae333;	cursor: default;	transform: translateY(-50%) scale(1.0); text-shadow: unset;  opacity: 0; }
	

/************************************************************************************************************************************************************************************************************************/
/* xox: Footer_App ()  (kr)  */
/************************************************************************************************************************************************************************************************************************/
.app_footerbar_container { 
	padding-bottom: var(--safe-area-bottom); 
	padding-left: var(--safe-area-left); 
	padding-right: var(--safe-area-right); 
	padding-top: 3px; 
	position: fixed; 
	bottom: 0px; 
	width: 100%; 
	background: var(--color-app-hellblau); 
	z-index: 200; 
	display: flex;
	align-items: start;
	border-top: 2px solid var(--color-app-hellblau-kante);
}
@media screen and (min-width: 550px) {
	.app_footerbar_container { height: var(--height-footer-app-height-medium); }
}
@media screen and (max-width: 549px) {
	.app_footerbar_container { height: var(--height-footer-app-height-medium); }
	/*#app_abstand_content_unten { height: var(--height-footer-app-height-medium); }*/
}

.app_footer_inner { 
	height: 100%;
	display: flex;
	align-items: start;
	align-items: start;
	justify-content: center;
}

/* Footer App Menuleiste mit Links auf Hauptkategorien */
.footer_menuleiste {
	display: flex;
	width: 100%;
	height: 100%;
	gap: 5px;
	justify-content: space-between;
	padding: 0 5px 0 5px;
}
.footer_menuleiste .menu_item {
	display: flex;
	flex-direction: column; 
	width: 100%;
	height: 100%;
	flex: 1;
	justify-content: center;
	align-items: center;
	color: var(--color-app-dunkelblau);
	border-radius: 10px;
	padding-top: 5px;
}
.footer_menuleiste .menu_item span {
	white-space: nowrap;
}
.footer_menuleiste .menu_item.inaktiv { 
	color: #3c66a8;
	text-shadow: 1px 0px 0px #fff;
}

.footer_menuleiste .menu_item.aktiv, 
.footer_menuleiste .menu_item:hover {
	color: var(--color-app-dunkelblau);
	background: #fff5;
}

@media screen and (max-width: 349px) {
	.footer_menuleiste .menu_item i {  }
	.footer_menuleiste .menu_item span { display: none; }
}
@media screen and (min-width: 350px) and (max-width: 549px) {
	.footer_menuleiste .menu_item i { font-size: 16px;  margin-bottom: 3px; }
	.footer_menuleiste .menu_item span { font-size: 14px; font-weight: normal; }
}

@media screen and (min-width: 550px) and (max-width: 749px) {
	.footer_menuleiste .menu_item i { font-size: 16px;  margin-bottom: 3px;  }
	.footer_menuleiste .menu_item span { font-size: 14px; font-weight: normal; }
}

@media screen and (min-width: 750px) {
	.footer_menuleiste .menu_item i { font-size: 18px;   }
	.footer_menuleiste .menu_item span { font-size: 16px; font-weight: bold; }
	.footer_menuleiste .menu_item { flex-direction: row; gap: 10px; }
}


/************************************************************************************************************************************************************************************************************************/
/* xox: content_editorial (nur auf KR) */
/************************************************************************************************************************************************************************************************************************/

.pagetemplate_cruiselist .content_editorial .text h3 {
	margin-top: 0;
}

.id_redaktion { 
	position: relative;
	top: -90px; 
}

.content_editorial .text div {
	min-width: 200px;
	max-width: 400px;
	float: right;
}

.content_editorial p {
	line-height: 22px;	
	font-size: 16px;
}
.content_editorial h2 {
	clear: both;	
	font-size: 26px;
	margin-top: 60px;
}
.content_editorial h3 {
	clear: both;	
	color: #333333;
	font-size: 18px;
	margin-top: 20px;
}
.content_editorial .text {
	width: 100%;
}
.content_editorial .text h3 {
	margin-top: 0px;
}

.content_editorial img {
	width: 100%;
	clear: both;    
	margin: 0 10px 10px 0;
	vertical-align: middle;
	border-radius: 4px;
}
.content_editorial .breite100 {
	width: 100%;
	clear: both;    
	float: none;
	margin: 10px 0 20px 0;
	padding: 0;
}
.content_editorial .main_h2 {
	padding: 10px 5px;
	line-height: 24px;
	margin: 20px 0 10px 0;
	overflow: hidden;
	background-color: var(--color-page-active-hellhellblue);
	clear: both;
	font-size: 20px;
}



@media screen and (min-width: 450px) {
	.content_editorial .text {	width: calc(50% - 6px);	float: right;	}
	.content_editorial img {	width: calc(50% - 6px);	float: left;	}
}


/* premium_content_editorial */
.premium_content_editorial {
	position: relative;
	margin-bottom: 30px;
}

.premium_content_editorial p {
	line-height: 1.8;
	font-size: 18px;
	position: relative; 
}
.premium_content_editorial h2 {
	clear: both;	
	font-size: 26px;
	margin-top: 60px;
}
.premium_content_editorial h3 {
	clear: both;	
	color: #333333;
	margin-top: 30px;
}

.premium_content_editorial ul {  
	margin: 10px 0 20px 0;
}

.premium_content_editorial ul li {  
	margin: 0 0 0 10px;
}

.premium_content_editorial p.stichpunkt {    
	margin: 0 0 0 10px;
}
.premium_content_editorial p.stichpunkt::before {
	font-family: 'Font Awesome 5 Free';
	content: "\f111";
	font-weight: bold;
	position: relative;
	text-align: center;
	font-size: 8px;
	margin-right: 5px;
	top: -4px; 
}

.premium_content_editorial .main_h2 {
	padding: 10px 5px;
	line-height: 24px;
	margin: 20px 0 10px 0;
	overflow: hidden;
	background-color: #76c7eb;
	clear: both;
	font-size: 20px;
}

.premium_content_editorial .bild_container {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px 0 30px 0;
	position: relative; 
}

.premium_content_editorial .bild_container img.content_img  {
	margin-bottom: 10px;
}

.premium_content_editorial .content_bild_hero {
	width: 100%;
	margin: 0 0 10px 0;
	float: right;
}
.premium_content_editorial .content_bild_hero img {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}
.premium_content_editorial .content_img {
	border-radius: 4px;
}

.premium_content_editorial .js_editorial_img_magnify {
	cursor: zoom-in;
}


.premium_content_editorial .magnify_container {
	width: 100%;
	position: absolute;
	box-shadow: 0px 0px 25px #000;
	border-radius: 4px;
	opacity: 0;
	transition: opacity 0.4s linear;
}
.premium_content_editorial .bild_container .magnify_container {
	top: -5%;
}
.premium_content_editorial .content_bild_hero .magnify_container {
	top: 0;
	right: 0;
}
.premium_content_editorial .magnify_container.vorlage {
	display: none;
}
.premium_content_editorial .magnify_container .verkleinern {
	position: absolute;
	top: 4px;
	right: 8px;
	color: #fff;
	font-size: 50px;
	text-shadow: 0 0 7px #000000;
	line-height: 1;
	z-index: 2;
}
.premium_content_editorial .magnify_container.zeigen {
	opacity: 1;
	transition: opacity 0.4s linear;
	z-index: 1;
}

.premium_content_editorial .magnify_container img {
	width: 100%;
	margin: 0;
	cursor: auto;
}

.premium_content_editorial .logo_fliesstext {
	float: right;
	max-width: 300px;
	width: auto;
	height: auto;
	margin-top: 20px;
}
.premium_content_editorial .schiffsliste {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.premium_content_editorial .einzelschiff {
	display: flex;
	flex-direction: row;
	gap: 10px;
}
.premium_content_editorial .einzelschiff p {
	margin: 0;
}
.premium_content_editorial .einzelschiff h3 {
	margin: 0;
	color: var(--color-page-active-blue);
}
.premium_content_editorial .einzelschiff .foto {
	width: 30%;
	padding-top: 10px;
}
.premium_content_editorial .einzelschiff img {
	max-width: 100%;
	width: auto;
	height: auto;
}
.premium_content_editorial .einzelschiff .stichpunkt {
	line-height: 1.4;
}
.premium_content_editorial .einzelschiff .text {
	display: flex;
	flex-direction: column;
	width: 70%;
	line-height: 1.6;
}
.premium_content_editorial .einzelschiff .langtext {
}
.premium_content_editorial .einzelschiff div.weitere_angebote {
	text-align: end;
}
.premium_content_editorial .einzelschiff a.weitere_angebote {
	font-size: 18px;
}


@media screen and (max-width: 700px) {
	.premium_content_editorial .bild_container img.content_img  {	width: calc(50% - 5px); display: block !important; } 
}


@media screen and (min-width: 450px) {
	.premium_content_editorial .bild_container img.content_img  {
		width: calc(33.33% - 7px);
		margin-bottom: 10px;
	}

	.premium_content_editorial .bild_container.bilder_all_11 .bild_1, .premium_content_editorial .bild_container.bilder_all_11 .bild_2 { width: calc(50% - 5px); }
	.premium_content_editorial .bild_container.bilder_all_10 .bild_1, .premium_content_editorial .bild_container.bilder_all_10 .bild_2, .premium_content_editorial .bild_container.bilder_all_10 .bild_3, .premium_content_editorial .bild_container.bilder_all_10 .bild_4  { width: calc(50% - 5px); }
	.premium_content_editorial .bild_container.bilder_all_8  img.content_img { width: calc(50% - 5px); }
	.premium_content_editorial .bild_container.bilder_all_7 .bild_1, .premium_content_editorial .bild_container.bilder_all_7 .bild_2, .premium_content_editorial .bild_container.bilder_all_7 .bild_3, .premium_content_editorial .bild_container.bilder_all_7 .bild_4 { width: calc(50% - 5px); }
	.premium_content_editorial .bild_container.bilder_all_5 .bild_1, .premium_content_editorial .bild_container.bilder_all_5 .bild_2 { width: calc(50% - 5px); }
	.premium_content_editorial .bild_container.bilder_all_4  img.content_img { width: calc(50% - 5px); }
	.premium_content_editorial .bild_container.bilder_all_2  img.content_img { width: calc(50% - 5px); }
	.premium_content_editorial .bild_container.bilder_all_1  img.content_img { width: calc(50% - 5px); }
}

@media screen and (max-width: 449px) {
	.premium_content_editorial .bild_container img.content_img  {	width: 100%; display: block !important;  }
	.premium_content_editorial .content_bild_hero  {	width: 100%; margin: 0; }
	.premium_content_editorial .js_editorial_img_magnify { cursor: auto; }
	.premium_content_editorial .logo_fliesstext { max-width: 100%; display: block; margin: 0; }
	
	.premium_content_editorial .einzelschiff { flex-direction: column; }
	.premium_content_editorial .einzelschiff .foto { width: 100%; margin-top: 0; position: relative; bottom: -55px;  }
	.premium_content_editorial .einzelschiff .text { width: 100%; }
	.premium_content_editorial .einzelschiff h3 { padding: 10px; color: #fff; text-shadow: 0px 0px 5px #000; z-index: 1; position: relative; }
	
}



/************************************************************************************************************************************************************************************************************************/
/* xox: right_sitelinks ()   (nur auf KR)
/************************************************************************************************************************************************************************************************************************/

.right_sitelinks {
	display: none;
}
body.no_extra_bar .right_sitelinks {
	display: none !important;
}

.right_sitelinks_newsletterblock input#field_datenschutz {
	top: 2px;
	left: 5px;
	position: relative;
}

.marketing_top_liste {
	padding-bottom: 10px;
}

.marketing_top_liste .full_image {
	width: 100%;
}



@media screen and (min-width: 1400px) {
	.right_sitelinks {
	display: block;
	position: fixed;
	width: 230px;
	float: right;
	top: 130px;
	margin-left: var(--width-page-content-general);
	margin-top: 0px;
	transition: top 0.2s linear; 
	}
	.body_scrolled .right_sitelinks { top: 70px; transition: top 0.2s linear; }
	
	.marketing_top_liste {
	display: none;
	}
	.middle.region {
		margin-bottom: 10px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.middle.region img {
	  border: 1px solid #aaa;
	}
	.middle.region img.quadratisch {
	  border: unset;
	  width: 80%;
	}
	.middle.region img.quer {
	  width: 100%; height: auto; border-radius: 5px;
	}
	.block-views {
	border-radius: 5px;
	background-color: #e3f4fb;
	margin-bottom: 10px;
	margin-top: 0;
	    box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.1);
	position: relative;
	}
	.block-views .menu_left_main_head {
	margin-top: 0;
	width: 100%;
	background-size: 100% 100%;
	min-height: 32px;
	font-size: 22px;
	color: #fff;
	padding: 10px 15px;
	letter-spacing: -0.5px;
	font-weight: bold;
	border-radius: 10px 10px 0 0;
	background-color: var(--color-page-active-hellhellblue);
	}
	.block-views .content {
	padding: 10px 10px 0;
	font-size: 13px;
	}
	.block-views .views-row {
	background: -webkit-gradient(linear, left top, left bottom, from(#bbe5fb), to(#cef1ff));
	background: linear-gradient(to bottom, #bbe5fb 0%, #cef1ff 100%);
	padding: 5px 10px;
	margin-bottom: 7px;
	}
	.block-views .views-row h4 {
	font-size: 16px;
	margin: 0 0 5px;
	}
	.block-views .views-row .subtitle {
	margin: 0 0 5px;
	display: block;
	}
	.block-views .views-row .priceLabel {
	width: 100%;
	background-position-x: right;
	right: -15px;
	display: block;
	background-image: url(/themes/kreuzfahrtenreisebuero2015/img/label_preis.png);
	position: relative;
	height: 37px;
	padding: 5px 20px 5px 5px;
	font-size: 14px;
	color: #fff;
	text-align: right;
	line-height: 18px;
	}
	.right_sitelinks_newsletterblock {
	font-size: 13px;
	background-color: #0353aa;
	color: #fff;
	overflow:hidden;
	background: linear-gradient(to bottom, #042b69, #0353aa 200px, #0353aa);
	}
	.right_sitelinks_newsletterblock > div {
	padding: 15px;
	}
	.right_sitelinks_newsletterblock h3 {
		text-shadow: 1px 1px 5px #0000001f, 1px -1px 5px #0000001f, -1px 1px 5px #0000001f, -1px -1px 5px #0000001f;
		font-size: 25px;
		color: #fff;
		margin: 0;
		font-weight: bold;
		line-height: 1.1;
	}
	.right_sitelinks_newsletterblock .small_hinweis {
		font-size: 11px;
	}

	.right_sitelinks_newsletterblock .header_med {
		font-size: 25px;
	}
	.right_sitelinks_newsletterblock .header_big {
		font-size: 36px;
		margin-top: 5px;
		margin-bottom: 5px;
	}

	.right_sitelinks_newsletterblock .form-item {
	margin: 0 0 5px;
	}
	.right_sitelinks_newsletterblock .form-submit {
	color: white;
	padding: 5px;
	background: #53b421;
	width: 100%;
	border: 2px solid #fff;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.1s linear;
	}
	.right_sitelinks_newsletterblock .form-submit:hover {
	transform: scale(1.1);
	background: #2f881c;
	transition: all 0.1s linear;
	}
	
	/* Einzel Offer rechts */  
	.special_offer_single {
	background: -webkit-gradient(linear, left top, left bottom, from(var(--color-page-active-dunkelblue)), color-stop(50%, #2989d8), color-stop(51%, #207cca), to(#7db9e8));
	background: linear-gradient(to bottom, var(--color-page-active-dunkelblue) 0%, #2989d8 50%, #207cca 51%, #7db9e8 100%);
	padding: 10px 15px;
	border-radius: 5px;
	}
	
	.special_offer_single h2 {
	margin: 0;
	font-size: 30px; 
	font-weight: bold;
	color: #FFF;
	}
	.special_offer_single p {
	color: #FFF;
	text-align: center;
	margin: 0;
	}
	.special_offer_single .small {
	font-size: 14px; 
	}
	.special_offer_single .price {
	font-size: 40px; 
	font-weight: bold;
	}
	.special_offer_single a {
	color: #FFF;
	}
	
	
	
	.credit_copyright  {
	width: 1150px;
	}
}


/* Newsletter Form und Seitenblock */
.newsletter_form { padding: 20px 10px; background: #fff; }
.newsletter_form .form-item  { padding-top: 0; padding-bottom: 20px; }
.newsletter_form .form-submit  { padding: 5px 30px; font-weight: bold; margin-top: 10px; }
.newsletter_form .form-control  { padding: 10px; height: unset; font-size: 16px; font-weight: bold; }
.newsletter_form .hinweis_darunter  { font-weight: normal; }
.field_datenschutz { font-weight: normal; }
.field_datenschutz input  { width: 20px;  height: 20px; top: 3px; position: relative; }





/*######################################################################################################################################################################################################################*/
/*######################################## xox: ___________NON_BOOKING_______________________________3185_KR_GR_MR () /*#############################################################################################################*/
/*######################################################################################################################################################################################################################*/


/************************************************************************************************************************************************************************************************************************/
/* xox: Newsletter ()  (gr/mr == kr)  */
/************************************************************************************************************************************************************************************************************************/

.newsletter_layer .window1 {
	position: fixed;
	top: 100%;
	right: 20px;
	z-index: 9999;
	background: #e3f4fb;
	border-radius: 10px 10px 0 0;
	box-shadow: 0 0 10px 2px rgba(0,0,0,0.5);
	 transform: translateY(-55px);
	transition: 300ms -webkit-transform ease;
	transition: 300ms transform ease;
	transition: 300ms transform ease, 300ms -webkit-transform ease;
	width: 415px;
}

body.modal_actionbuttons_aktiv_1 .newsletter_layer .window1, 
body.modal_actionbuttons_aktiv_2 .newsletter_layer .window1, 
body.remove_newsletter .newsletter_layer .window1 {
	display: none;
}
.newsletter_layer .window1.show_newsletter {
	transform: translateY(-100%);
}
.newsletter_layer .window1.hide_newsletter {
	transform: translateY(-46px);
}

.newsletter_layer .window1.show_newsletter .close .fas {
	transform: rotate(180deg);
	transition: 300ms transform linear;
}


.cpp-container {
	display: flex;
	position: relative;
	flex-direction: column;
}
.cpp_head {
	background: #0353aa;
	padding: 15px 15px;
	display: flex;
	justify-content: space-between;
	border-radius: 10px 10px 0 0;
	cursor: pointer;
}
.cpp_head h3 {
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	text-shadow: 1px 1px 5px #0000001f, 1px -1px 5px #0000001f, -1px 1px 5px #0000001f, -1px -1px 5px #0000001f;
	margin: 0;
	line-height: 1;
}
.cpp_head .close {
	text-align: right;
	font-size: 26px;
	color: #fff;
	text-shadow: 1px 1px 5px #0000001f, 1px -1px 5px #0000001f, -1px 1px 5px #0000001f, -1px -1px 5px #0000001f;
	line-height: 1;
	opacity: 0.7;
}



.cpp_text {
	margin: 10px 0 10px 0;
	padding: 10px 10px 0 10px;
}
.newsletter_layer .hinweis_check {
	font-size: 15px;
	line-height: 1.1;
	margin: 0 0 10px 0;
	text-transform: none;
	font-weight: bold;
	color: #298c24;
	text-shadow: 0px 0px 8px #fff;  
}
.newsletter_layer .hinweis_small {
	font-weight: normal;
	text-shadow: unset;  
	font-size: 12px; 
	margin: 0; 
} 

.newsletter_layer .window1.show_newsletter .cpp_text {
	opacity: 1;
	animation-name: newsletter_layer_animation;
	animation-duration: 3s;
	border: 1px solid #e3f4fb;
	background: #e3f4fb;
	box-shadow: unset;
	border-radius: 10px;
	z-index: 1;
}

@keyframes newsletter_layer_animation {
	0%   { transform: scale(1);  border: 1px solid #e3f4fb; background: #e3f4fb; box-shadow: unset; }
	80%   { transform: scale(1);  border: 1px solid #e3f4fb; background: #e3f4fb; box-shadow: unset; }
	90%  { transform: scale(1.3);  border: 1px solid #ccc; background: v#ffffff; box-shadow: 0 -2px 10px #0000001a; }
	100% { transform: scale(1); border: 1px solid #e3f4fb; background: #e3f4fb; box-shadow: unset; }
}


.cpp_formular {
	padding: 0 10px 10px 10px;
}
.cpp_field_email2 { 
	opacity: 0.1;
	max-height: 3px;
	overflow: hidden; 
}
.cpp_name_required { 
	max-height: 5px;
	overflow: hidden;
	position: relative;	
}
.cpp_name_required div {
	position: absolute;
	bottom: -105px;
}

.cpp_formular .cpp_field_datenschutz { 
	margin: 5px 0 5px 0;
}
.cpp_formular .datenschutz_link { 
	color: #333;
	text-decoration: none;
}
.cpp_formular .cpp_field_name2 input, .cpp_formular .cpp_field_email1 input { 
	margin: 2px 0 2px 0;
	border: 1px solid #9394a1;
	background: #fff;
	border-radius: 2px;
	font-weight: bold;
	width: 100%;
	padding: 5px 2px 5px 10px;
}
.cpp_formular input::placeholder{ 
	color: #8c7f7f;
	font-weight: normal;
}
.cpp_formular label { 
	margin: 2px 0 2px 0;
	font-weight: normal;
}

.cpp_formular input.cpp_field_submit  { 
	margin: 5px 0 2px 0;
	background: #42ac33;
	border: 1px solid #2f881c;
	border-radius: 7px;
	font-weight: bold;
	width: 100%;
	padding: 5px 10px 5px 10px;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
}
.cpp_formular input.cpp_field_submit:hover{ 
	background: #2f881c;
	border: 1px solid #287916;
}
.cpp_formular input.cpp_field_submit:active { 
	background: #287916;
	border: 1px solid #1e640e;
}

.cpp_klein {
	padding: 0 10px 10px 10px;
	line-height: 1.1;
	font-size: 11px;
}


/* media styles */

@media screen and (max-width: 600px) {
	.cpp_head .close, .cpp_head h3 {  font-size: 18px; }
	.newsletter_layer .window1.show_newsletter .cpp_text .hinweis_check, .cpp_formular input.cpp_field_submit {  font-size: 14px; }
	.cpp_text { margin: 4px 0 4px 0; padding: 4px 4px 0 10px; }
	.newsletter_layer .hinweis_check { margin-bottom: 4px; }
	.cpp_formular .cpp_field_name2 input, .cpp_formular .cpp_field_email1 input { padding: 3px 2px 3px 10px; }
	.newsletter_layer .window1, .newsletter_layer .window1.hide_newsletter { transform: translateY(-45px); right: 8px; }
}
@media screen and (max-width: 449px) {
	.newsletter_layer .window1, .newsletter_layer .window1.hide_newsletter { transform: translateY(-45px); right: 0; }
	.newsletter_layer .window1 { 	width: 100%; }
	.cpp_head { border-radius: unset; }
	.cpp_text { padding-left: 20px; }
}


/* Störer in KF Liste */
@media screen and (max-width: 1200px) {
	.stoerer_kf_liste_wrapper {
		width: 100%;
		overflow: hidden;
	}
}

.stoerer_in_kf_liste {
	background: #FFF;
	padding: 15px 10px 10px 10px;
	margin-bottom: 10px;
	width: 100%;
	border-radius: 5px;
	z-index: 11;
	position: relative;	
}
.stoerer_in_kf_liste .stoerer_header {
	font-size: 22px;
	margin: 0;
	color: #444;
	font-weight: bold;
	line-height: 1.1;	
}
.stoerer_in_kf_liste .vorteile_gruen ul {
	margin: 3px 0 10px 22px;
	padding: 0;
} 
@media screen and (max-width: 1149px) {
	.stoerer_in_kf_liste .vorteile_gruen ul { margin-left: 0; }
}


.stoerer_in_kf_liste .vorteile_gruen .stoerer_small {
	font-size: 12px;
	color: #444;
	font-weight: normal;
}

.stoerer_in_kf_liste .stoerer_inhalt {
	display: flex;
	gap: 10px;
	padding-top: 10px;
}

.stoerer_in_kf_liste .cpp_formular {
	padding: 0;
	min-width: 300px;
}
.stoerer_in_kf_liste .cpp_formular label {
	padding: 0;
	font-size: 14px;
}


.stoerer_in_kf_liste.kontrastfarbe {	
	background: linear-gradient(to bottom, #042b69, #0353aa 200px, #0353aa);
}

.stoerer_in_kf_liste.kontrastfarbe .stoerer_header {
	text-shadow: 1px 1px 5px #0000001f, 1px -1px 5px #0000001f, -1px 1px 5px #0000001f, -1px -1px 5px #0000001f;
	font-size: 25px;
	color: #fff;
}

.stoerer_in_kf_liste.kontrastfarbe .datenschutz, 
.stoerer_in_kf_liste.kontrastfarbe .cpp_formular label,
.stoerer_in_kf_liste.kontrastfarbe .vorteile_gruen .stoerer_small {
	color: #fff;
}
.stoerer_in_kf_liste.kontrastfarbe .vorteile_gruen ul {
	gap: 6px;
}

.stoerer_in_kf_liste.kontrastfarbe .vorteile_gruen {
	color: #9eff8a;
	font-size: 16px;	
	text-shadow: 1px 1px 5px #0000001f, 1px -1px 5px #0000001f, -1px 1px 5px #0000001f, -1px -1px 5px #0000001f;
}

.stoerer_in_kf_liste.kontrastfarbe .cpp_formular .cpp_field_name2 input, 
.stoerer_in_kf_liste.kontrastfarbe .cpp_formular .cpp_field_email1 input {
	border: 1px solid #fff;
	border-radius: 3px;
}
.body_scrolled .stoerer_in_kf_liste {
	animation: fadeInScale 1s ease-in-out;
}

@keyframes fadeInScale {
	0% 	  { transform: scale(1); } 
	40%   { transform: scale(1); } 
	60%  {	transform: scale(1.2); } 
	100% {	transform: scale(1); }
}

@media screen and (max-width: 800px) {
	.stoerer_in_kf_liste .stoerer_inhalt {
		flex-direction: column;
	}
}


/* Abmeldung */
.newsletter_form_formular .webform-component fieldset {
	border: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px;
}

/************************************************************************************************************************************************************************************************************************/
/* xox: Suche_2484 (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/

/* Suchformular Einschub für Mobile */
.link_kreuzfahrt_suchformular_mobile {
	color: #fff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.12), 1px -1px 5px rgba(0, 0, 0, 0.12), -1px 1px 5px rgba(0, 0, 0, 0.12), -1px -1px 5px rgba(0, 0, 0, 0.12);
	font-size: 24px;
	background: #ec4a14;
	border-radius: 5px;
	height: auto;
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	overflow: hidden;
	margin: 0 0 10px 0;
	padding: 10px 14px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	letter-spacing: -0.7px;
	line-height: 1.1;
	font-weight: 500;
	font-family: Roboto, Barlow, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.link_kreuzfahrt_suchformular_mobile::after {
	content: "\f054";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	float: right;
	line-height: 30px;
	}


/* Oranges Suchformular */
.search_teaser_bar {
	margin-bottom: 10px;
}

.search_form_container {
	background: #fff;
	border-radius: 5px;
	height: auto;
	box-shadow: 0px 0px 5px #00000020;
	overflow: hidden;
	margin-bottom: 10px;
	padding: 0;
	position: relative; 
}

.search_form_container.homepage {
	margin-bottom: 10px;
}

.search_form_container.light,
.search_form_container.homepage,
.block-kreuzfahrten {
	background: #ffac83;
	border: 1px solid #d79c80;
	border-radius: 5px;
	height: auto;
	box-shadow: 0px 0px 5px #00000020;
	margin-bottom: 10px;
	padding: 10px;
	position: relative; 
}

.search_form_container.quer {
	background: #ff935e;
	border: 1px solid #d79c80;
	border-radius: 10px;
	height: auto;
	box-shadow: 0px 0px 5px #00000020;
	margin-bottom: 10px;
	padding: 10px;
	position: relative; 
}

.search_form_container.quer .item_type_klappliste .ajax_liste_input { width: 100%; }

.app_frontend .search_form_container.quer {
	  background: var(--color-app-hellblau);
	  border: unset;
	  height: auto;
		box-shadow: unset;
	  margin-bottom: 10px;
	  position: relative; 
}	
@media screen and (max-width: 849px) {
	.app_frontend .search_form_container.quer {
	  background: var(--color-app-hellblau);
		background: linear-gradient(to bottom, var(--color-app-hellerblau), var(--color-app-hellblau));
	  border: unset;
	  height: auto;
		box-shadow: unset;
	  margin-bottom: 10px;
	  position: relative; 
	   padding: 20px 5%;
	}
	.app_frontend .search_form_container.quer .item_type_klappliste .ajax_liste_input { border-radius: 17px; }
	.app_frontend .search_form_container.quer .search_cruises_button { border-radius: 17px; }
	.app_frontend .search_form_container.quer .search_form_date input { border-color: var(--color-app-hellblau); }
	.app_frontend .search_form_container.quer .search_form_date.select_1 input { border-radius: 17px 0 0 17px; }
	.app_frontend .search_form_container.quer .search_form_date.select_2 input { border-radius: 0 17px 17px 0; }
	.app_frontend .search_form_container.quer .search_form_level_1 { flex-direction: column; gap: 10px; }
}

@media screen and (max-width: 549px) {
	.app_frontend .search_form_container.quer {  border-radius: unset;	}
}

.app_frontend .search_cruises_button { background: var(--color-app-dunkelblau);    }	
.app_frontend .search_cruises_button:hover { background: var(--color-app-mittelblau);   }
.app_frontend .search_cruises_button i { margin-right: 5px; opacity: 0.5; }	

	

.search_form_container.quer {
	overflow: initial;
}

/* Suchformular Kreuzfahrten im Oben mittig anzeigen. Bei Samrtphones erst ausblenden und nur auf Klick anzeigen */
.menubar_left_search .link_kreuzfahrt_suchformular_mobile {  display: flex; }
.template_landingpage1 .link_kreuzfahrt_suchformular_mobile {	display: none; }

/* menubar_left_search */
.web_frontend .menubar_left_search {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 1;
	order: 1;
}

.menubar_left_menus {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 2;
	order: 2;
}
 
.menubar_left_search .menubar_title {
	margin: 0;
	letter-spacing: -0.7px;
	color: #444;
	padding: 10px;
	background: #f2f2f2;
	position: relative;
}

@media screen and (max-width: 749px) {
	.app_frontend .menubar_left_search .menubar_title { display: none; }
}

.menubar_left_search .menubar_subtitle {
	margin: 0;
	color: #777;
	padding: 5px 10px 5px 10px;
	background: #f2f2f2;
}

#suche_button {
	margin-bottom: 0px;
}

.menubar_left_search .searchform_title {
	margin: 0;
	padding-bottom: 10px;
	letter-spacing: -0.7px;
	color: #fff;
	text-shadow: 1px 1px 5px #0000001f, 1px -1px 5px #0000001f, -1px 1px 5px #0000001f, -1px -1px 5px #0000001f;
}

.menubar_left_search .search_form_item {
	padding: 0 10px 5px 10px;
}
.app_frontend .menubar_left_search .search_form_item.item_type_klappliste,
.menubar_left_search .search_form_item.item_type_klappliste {
	padding-right: 0;
}

.search_form_container.homepage {
	width: 100%;
}
	
	
.search_form_container.light .search_form_item {
	padding: 0;
}

.search_form_container.quer .search_form_item label,
.search_form_container.light .search_form_item label,
.search_form_container.homepage .search_form_item label {
	margin: 0;
}
	
.search_form_container.quer .search_form_item {
	margin: 0;
}

.search_form_container.light .search_form_item,
.search_form_container.homepage .search_form_item {
	margin: 0 0 5px;
}

.search_form_container input.ajax_liste_input,
.search_form_container select.ajax_liste_input,
.search_form_container input.form-control,
.search_form_container select.form-control,
.search_form_container input.search_form_item,
.search_form_container select.search_form_item {
	font-size: 14px;
}


.search_form_container.quer .search_form_level_1 {
	display: flex;
	gap: 5px;
}


.search_form_container.quer .block_optionlist_reedereien,
.search_form_container.quer .haefen_start {
	flex-grow: 2; 
}

.search_bar_quer,
.search_bar_quer form,
.search_form_container.quer {
	width: 100%;
}


.menubar_left_search label {
	margin-bottom: 0;
}

.menubar_left_search .top_block {
	border-top: 1px solid #d2d2d2;
}
.menubar_left_search .bottom_block {
	padding-bottom: 13px;
}

.menubar_left_search .bottom_noblock {
	padding-bottom: 0;
}

.menubar_left_search .search_form_date .form-control {
	padding-right: 2px;
}
.menubar_left_search .search_form_date .form-control.datepicker-input::placeholder {
	color: #fff;
}

.search_form_container .search_fields_nebeneinander,
.menubar_left_search .search_fields_nebeneinander {
	border: none;
	padding: 0;
	display: flex;
	justify-content: space-between;
	position: relative;
	margin: 0;  
}
.app_frontend .search_form_container .search_fields_nebeneinander { gap: 9px; }
.web_frontend .search_form_container .search_fields_nebeneinander { gap: 6px; }


.menubar_left_search .large_display { display: inline; }
.menubar_left_search .small_display  { display: none; }
.menubar_left_search .block_optionlist_reisedauer label, .menubar_left_search .block_optionlist_reisedauer select, .menubar_left_search .block_datumsfelder input, .menubar_left_search .block_datumsfelder label  { width: 100%; }

.schutzbereich_fuer_button { display: block; }

.search_form_container .input_icon {
	position: absolute;
	color: #bbb;
	font-size: 18px;
	line-height: 1;
}

.search_form_container span.input_icon {
	top: 8px;
}
.search_form_container .ajax_input_wrapper i.fa-search {
	top: 10px;
}

.search_form_container .ajax_input_wrapper i, 
.search_form_container .input_icon i, 
.search_form_container span.input_icon i {
	font-size: 16px;
}


.search_form_date, 
.search_form_date label,
.search_form_item {
	position: relative;
}
.search_form_date label {
	width: 100%;
}

.search_form_container .input_icon {
	width: 35px;
	text-align: center;
}

.search_form_item .icon_inside {
	padding-left: 30px;
}

.search_form_item .form_option_title {
	font-weight: bold; 
}



.search_form_date {
	width: 50%;
}
.search_form_date .label_header {
	color: #888;
	font-size: 11px;
}

.search_form_date input {
	text-indent: 22px;
	font-weight: normal;
	color: #000;
}

.web_frontend .search_form_date input::placeholder {
	text-indent: 22px;
	font-weight: normal;
}
 
.search_form_date select {
	font-weight: normal;
	color: #000;
}



.search_input_label.search_form_nolist  {
	font-weight: normal; 
	display: flex;
	align-items: center;
	gap: 5px;
} 

.item_type_klappliste .ajax_ausklapp_wrapper {
	display: flex;
	flex-direction: column;
}

.item_type_klappliste .input_text_wrapper {
	position: relative;
}


.item_type_klappliste .ajax_liste_input {
	width: 99%;
	margin: 0;
	padding: 5px 5px 5px 30px;
	padding-left: 30px;
	height: 37px;
	border-radius: 0;
}

.app_frontend .search_form_date .form-control, 
.app_frontend .item_type_klappliste .ajax_liste_input {
	border: unset;
	outline: 3px solid var(--color-app-hellblau-kante);
	box-shadow: unset;
}
.web_frontend .search_form_date .form-control, 
.web_frontend .item_type_klappliste .ajax_liste_input {
	border: 1px solid #ccc;
	box-shadow: inset 0 1px 1px #00000013;  
}



.item_type_klappliste .ajax_liste_input:focus {
	border-color: #aaa;
}


.item_type_klappliste .ajax_input_wrapper i {
	position: absolute;
	color: #aaa;
	font-size: 16px;
	left: 10px;
}
.item_type_klappliste .ajax_input_wrapper {
	position: relative;
}

.search_form_container.quer .search_form_date .form-control {
	padding: 5px;
	text-indent: 26px;
	height: 37px;
}
.search_form_container.quer .item_type_klappliste .ajax_liste_input {
	border-radius: 3px;
}
.search_form_container.quer .search_cruises_button {
	line-height: 37px;
	height: 37px;
}

.search_form_item .form_item_header {
	display: flex;	
	justify-content: space-between;  
	padding-top: 10px;
}
.search_form_item.item_type_nolist .form_item_header {
	margin-bottom: 5px;
}

.search_form_item .form_item_header .header_name_sub,
.search_form_item .form_item_header .header_name {
	font-weight: bold; 
}

.search_form_item .form_item_header .header_name .short { display: none; }
.search_form_item .form_item_header .header_name .long { display: inline; }
@media screen and (min-width: 750px) and (max-width: 1049px) {
	.search_form_item .form_item_header .header_name .short { display: inline; }
	.search_form_item .form_item_header .header_name .long { display: none; }
}
	
.item_type_klappliste .form_item_header .header_arrow i {
	font-size: 18px;
	margin-top: 2px;
}
.item_type_klappliste .form_item_header .header_arrow {
	display: block;
	cursor: pointer;
	color: var(--color-page-active-blue);
	margin-right: 10px;
	transition: all 300ms linear;
}
.app_frontend .item_type_klappliste .form_item_header .header_arrow { margin-right: 15px; }

.search_form_item .js_search_form_liste_ausklappen {
	cursor: pointer;
}



.search_form_item .search_input_label  {
	font-weight: normal; 
	display: flex;
	align-items: center;
	gap: 5px;
}

.search_form_item .label_text  {
	white-space: nowrap;
	overflow: hidden;
}
.app_frontend .search_form_item .label_text  {   }

.search_form_item .label_text .fas.fa-star  { color: #333;  }
.search_form_item .label_text .far.fa-star  { color: #ddd;  }

.search_form_item .label_anzahl  {
	margin-left: auto;
	margin-right: 10px;
	color: #555;
	font-size: 12px;
}
.app_frontend .search_form_item .label_anzahl  { margin-right: 15px; }

.search_form_item .label_anzahl.is_null  {
	color: #fff;
}

.search_form_item .search_input_level_parent  {
	font-weight: bold;
}
 
.search_form_item .scroll_liste_wrapper {
	max-height: 400px;
	overflow: auto;
}
.search_form_item .flyout_liste_wrapper {
	max-height: 400px;
	overflow: auto;
	z-index: 15;
	position: absolute;
	background: #fff;
	padding: 10px;
	margin-top: 5px;
	box-shadow: 0px 0px 10px #00000040;
	border-radius: 5px;
	max-height: 400px;
	display: none;
}
.search_form_item.js_modal_open .flyout_liste_wrapper {
	display: block;
}
 
.search_form_container.quer .flyout_liste_wrapper {
	min-width: 215px;
}
 
.search_form_item .search_input_level_child  {
	padding-left: 8px;
}

/* Dynamische Searchliste */

.item_type_klappliste.searchliste_verbergen .ausklappindividual_wrapper,
.item_type_klappliste.searchliste_verbergen .ajax_input_wrapper,
.item_type_klappliste.searchliste_verbergen .search_input_label {
	max-height: 0;
	overflow-y: hidden;	
	opacity: 0;
	transition: all 150ms linear;
}
.item_type_klappliste.searchliste_verbergen .scroll_liste_wrapper {
	border-top: 0;
	padding-bottom: 0;
	border-top: 0px solid #fff;
	transition: all 150ms linear;
}

.search_form_item.searchliste_zeigen {
	padding-bottom: 0;
	transition: all 150ms linear;
}
.search_form_item.langliste.searchliste_zeigen {
	min-height: 150px;
}
.search_form_item.searchliste_verbergen {
	min-height: 0;
	transition: all 150ms linear;
}
.search_form_item.searchliste_verbergen .form_item_header {
	padding-bottom: 5px;
	padding-top: 10px;
	transition: all 150ms linear;
}
.search_form_item.searchliste_zeigen .form_item_header {
	padding-bottom: 10px;
	padding-top: 10px;
	transition: all 150ms linear;
}
.item_type_klappliste.searchliste_zeigen .scroll_liste_wrapper {
	border-top: 1px solid #eee;
	padding-bottom: 10px;
	padding-top: 10px;
	transition: all 150ms linear;
}

.item_type_klappliste.searchliste_zeigen .ausklappindividual_wrapper {
	max-height: 100px;
	opacity: 1;
	transition: all 150ms linear;
	padding-bottom: 10px;
	padding-right: 15px;
}
.item_type_klappliste.searchliste_verbergen .search_input_label.angecheckt,
.item_type_klappliste.searchliste_zeigen .search_input_label,
.item_type_klappliste.searchliste_zeigen .ajax_input_wrapper {
	max-height: 50px;
	opacity: 1;
	transition: all 150ms linear;
}
.item_type_klappliste.searchliste_zeigen .form_item_header .header_arrow {
	transform: rotate(90deg);	
	transition: all 150ms linear;
}
.item_type_klappliste.searchliste_verbergen .search_input_label.angecheckt {
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 0;	
}


/*
.item_type_klappliste.searchliste_zeigen .search_input_level_child  {
	padding-top: 2px;
	padding-bottom: 2px;
}
.item_type_klappliste.searchliste_zeigen .search_input_level_parent  {
	padding-top: 2px;
	padding-bottom: 2px;
}
*/

.item_type_klappliste.searchliste_zeigen .search_form_group {
	padding-top: 10px;
}
.item_type_klappliste.searchliste_zeigen .search_form_group:first-of-type {
	padding-top: 0;
}

.item_type_klappliste.searchliste_zeigen .search_input_level_nokids  {
	padding-top: 2px;
	padding-left: 0px;
	padding-bottom: 2px;
}

.item_type_klappliste.searchliste_verbergen .search_input_level_child,
.item_type_klappliste.searchliste_verbergen .search_input_level_parent,
.item_type_klappliste.searchliste_verbergen .search_input_level_nokids {
	padding-top: 0;
	padding-bottom: 0;
}

.item_type_klappliste.is_filtered .search_form_group {
	padding: 0;
}
.item_type_klappliste.is_filtered .search_input_label {
	padding: 0 0 2px 0;
}
.web_frontend .menubar_left_search label { line-height: 24px; }
.app_frontend .menubar_left_search label { line-height: 29px; }

.search_form_container.quer .search_form_item.js_modal_open.item_type_klappliste .search_input_level_child {
	padding-top: 0;
	padding-bottom: 2px;
}


.search_form_container.quer .search_form_item.js_modal_open.item_type_klappliste .search_input_label.keintreffer {
	padding-bottom: 0;	
}

.search_form_item.js_modal_open.item_type_klappliste .search_input_label.keintreffer,
.item_type_klappliste .search_input_label.keintreffer {
	max-height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 200ms linear;
}

.search_form_item.js_modal_open.item_type_klappliste .search_input_level_parent,
.search_form_item.js_modal_open.item_type_klappliste .search_input_level_child {
	padding-top: 4px;
	padding-bottom: 4px;
	cursor: pointer; 
}
.search_form_item.js_modal_open.item_type_klappliste .search_input_level_parent:hover,
.search_form_item.js_modal_open.item_type_klappliste .search_input_level_child:hover {
	color: var(--color-page-active-blue);
}



.search_cruises_button {
	background: #ec4a14;
	text-align: center;
	line-height: 34px;
	border: 0;
	padding: 0 5px;
	color: #fff;
	text-transform: uppercase;
	box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.15);
	font-weight: bold;
	-ms-touch-action: manipulation;
	  touch-action: manipulation;
	white-space: nowrap;
	border-radius: 4px;
	cursor: pointer;
	letter-spacing: 1px;
	overflow: hidden;
	text-shadow: 0px 0px 4px #0008;
	font-size: 18px;
	flex: 1; 
}

.search_form_container.quer .search_cruises_button { width: 100%; }


.search_cruises_button i {
	position: static;
	color: #fff;
	font-size: inherit;
}
@media screen and (max-width: 349px) {
	.search_cruises_button i { display: none; }
}
	
.search_cruises_button:hover {
	background: #d73803;
	border-color: #66afe9;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.search_form_container.quer .search_cruises_button {  padding: 0 15px; }
.search_form_container.light .search_cruises_button {  font-size: 16px;	  margin-top: 15px; }
.menubar_left_search .search_cruises_button { box-shadow: 0px 0px 10px #000; outline: 2px solid #fff; }
	


.search_form_button_wrapper {
	position: relative;
	padding: 0px 2px 20px 2px;
	z-index: 1;
	height: 60px;
}

#position_search_form_button {
	position: absolute;
	width: 1px;
	height: 34px;
}


.menubar_left_search .sticky_pos_oben {
	position: fixed;
	top: 70px;
}
.app_frontend .menubar_left_search .sticky_pos_oben {
	margin-top: 10px;
}

@media screen and (min-width: 750px) {
	.app_frontend .menubar_left_search .sticky_pos_oben { top: var(--height-header-app-outer-micro); }
}
@media screen and (max-width: 749px) {
	.app_frontend .menubar_left_search .sticky_pos_oben { top: var(--height-header-app-outer-small); }
}

.menubar_left_search .sticky_pos_unten {
	position: fixed;
	bottom: 10px;
}
.app_frontend .menubar_left_search .sticky_pos_unten {
	bottom: var(--height-footer-app-height-medium);
	margin-bottom: 10px;
}

.menubar_left_search .sticky_pos_oben,
.menubar_left_search .sticky_pos_unten {
	z-index: 2;
	width: calc(22% - 8px);
	max-width: 241px;
}


/* Preis slider */
.search_form_item .price_slider {
	width: 100%;
	text-align: center;
}

.search_form_item .price_range {
	font-size: 14px;
	margin-top: 5px;
	font-weight: normal;
}
.search_form_item.no_pricerange .price_range {
	display: none;
}
.search_form_item .show_no_pricerange {
	display: none;
}
.search_form_item.no_pricerange .show_no_pricerange {
	display: block;
}

.search_form_item .slider_container {
	position: relative;
	width: 100%;
	height: 16px;
	top: -4px;
	z-index: 0;
}

.search_form_item .slider_track_bg {
	position: absolute;
	height: 4px;
	background: #ccc;
	top: 9px;
	transform: translateY(-50%);
	width: 100%;
	border-radius: 5px;
	z-index: 0;
}

.search_form_item .slider_track {
	position: absolute;
	height: 4px;
	background: var(--color-page-active-blue);
	top: 9px;
	transform: translateY(-50%);
	border-radius: 5px;
	z-index: 1;
}

.search_form_item .slider_input {
	position: absolute;
	width: 100%;
	left: 0; 
	appearance: none;
	background: none;
	pointer-events: none;
	z-index: 2;
	border: 0;
	padding: 0;
	outline: 0;
}


.search_form_item .slider_input::-webkit-slider-thumb {
	appearance: none;
	width: 14px;
	height: 14px;
	background: var(--color-page-active-blue);
	border-radius: 50%;
	cursor: pointer;
	pointer-events: auto;
	position: relative;
	z-index: 3;
	margin-top: -5px; 
}

.search_form_item .slider_input::-moz-range-thumb {
	width: 16px;
	height: 16px;
	background: var(--color-page-active-blue);
	border-color: var(--color-page-active-dunkelblue);
	border-radius: 50%;
	cursor: pointer;
	pointer-events: auto;
	position: relative;
	z-index: 3;
	margin-top: -5px; 
}

.search_form_item .histogram_container { 
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	height: 30px;
	padding: 0px 8px;
	position: relative; 
}

.search_form_item .histogram_column { 
	flex: 1;
	height: 30px;
	align-content: end;	
}
.search_form_item .histogram_bar { 
	background-color: #ccc;
	border-left: 1px solid #fff;
	height: 0;
	width: 100%;
}




/* Individuell gestaltete Checkboxen */
input.custom_checkbox { display: none; }
span.custom_checkbox {
	width: 20px;
	min-width: 20px;
	height: 20px;
	border: 1px solid #666;
	border-radius: 3px;
	display: inline-block;
	position: relative;
	cursor: pointer;
	transition: background-color 0.5s ease;  
}

span.custom_checkbox:after {
	content: '';
	position: absolute;
	left: 6px;
	top: 1px;
	width: 6px;
	height: 12px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	transition: opacity 0.5s ease; /* Übergang für das Häkchen */
	opacity: 0;
}
.app_frontend span.custom_checkbox { height: 25px; width: 25px; min-width: 25px; border-radius: 5px; }
.app_frontend span.custom_checkbox:after { left: 8px; width: 8px; height: 17px; border-width: 0 3px 3px 0; }

.search_input_level_grand span.custom_checkbox:after {
	border: solid #000;
	border-width: 0 2px 2px 0;
}

input.custom_checkbox:checked + span.custom_checkbox:after { 
	opacity: 1; 
	
}
input.custom_checkbox:checked + span.custom_checkbox {  
	background-color: var(--color-page-active-blue); 
	border-color: var(--color-page-active-dunkelblue);
	animation: shake_in 0.3s forwards;
}
.search_input_level_grand input.custom_checkbox:checked + span.custom_checkbox {  
	background-color: var(--color-page-active-blue-back); 
}

.keine_treffer {
	padding: 10px;
	font-size: 18px;
}




.content_header_teaser {
	margin-bottom: 10px;
}

input.custom_checkbox:not(:checked) + span.custom_checkbox { 
	background-color: #fff; 
	animation: shake_out 0.3s forwards;
}
@keyframes shake_in {
	0% {  transform: scale(1); }
	1% { transform: scale(0.7); }
	100% { transform: scale(1); }
}
@keyframes shake_out {
	0% {  transform: scale(1); }
	1% { transform: scale(0.7); }
	100% { transform: scale(1); }
}


/* Media Styles */
@media screen and (max-width: 1049px) {
	.search_cruises_button { padding-top: 2px; }
	.search_cruises_button { font-size: 16px; }
}



/* Form allgemein auf Mobilgeräten */
@media screen and (max-width: 1049px) {	
	.search_form_container.quer .search_form_date .form-control, .search_form_container.quer .item_type_klappliste .ajax_liste_input  {  }
}
@media screen and (max-width: 749px) {	
	.search_form_container.quer .search_form_level_1 { flex-direction: column; }
	.app_frontend .menubar_left_search .block_datumsfelder input, .app_frontend .menubar_left_search .block_optionlist_reisedauer select {	font-weight: bold;	}	
} 
	
@media screen and (min-width: 400px) and (max-width: 749px) {	
	.menubar_left_search .block_datumsfelder, .menubar_left_search .block_optionlist_reisedauer {	border-top: 1px solid #d2d2d2;	}	
	.web_frontend .menubar_left_search .block_datumsfelder, .web_frontend .menubar_left_search .block_optionlist_reisedauer { width: 50%;  }
	.app_frontend .menubar_left_search .block_datumsfelder, .app_frontend .menubar_left_search .block_optionlist_reisedauer { width: 100%;  }
	.menubar_left_search .block_zusaetzliche_leistungen, .menubar_left_search .block_preise_slider, .menubar_left_search .block_zusaetzliche_leistungen , .menubar_left_search .block_kategorietyp   { width: 100%; }
	.menubar_left_search .search_form_item { padding: 0 10px 5px 10px; }
	
	.menubar_left_search .block_datumsfelder .input_icon { display: none; }
	.menubar_left_search .block_datumsfelder input, .menubar_left_search .block_datumsfelder input::placeholder { text-indent: 0; padding: 0; text-align: center; }
	.menubar_left_search .search_fields_nebeneinander { gap: 2px; }
	.menubar_left_search .block_datumsfelder  { padding: 10px 6px 10px 4px; }
	.menubar_left_search .block_optionlist_reisedauer  { padding: 10px 5px 6px 5px; }
	.app_frontend .menubar_left_search .block_optionlist_reisedauer  { padding: 0 10px 5px 10px; }
	.app_frontend .menubar_left_search .block_datumsfelder  { padding: 0 10px 5px 10px; }
	
	.menubar_left_search .kf_basics { display: flex; }
	.web_frontend .menubar_left_search .kf_basics { flex-wrap: wrap; }
	.app_frontend .menubar_left_search .kf_basics { flex-direction: column; }
	
	.menubar_left_search .large_display { display: none; }
	.menubar_left_search .small_display  { display: inline; }
}

@media screen and (min-width: 750px) and (max-width: 999px) {		
	.menubar_left_search .menubar_title { font-size: 18px; padding: 10px 2px; text-align: center; }
	.menubar_left_search .block_datumsfelder .input_icon { display: none; }
	.menubar_left_search .block_datumsfelder input, .menubar_left_search .block_datumsfelder input::placeholder { text-indent: 0; padding: 0; text-align: center; }
}

/* Suchformular als Modal in ausgeklappten Zustand auf Mobilgeräten */	
@media screen and (max-width: 749px) {
	
	/* Formular Elemente */
	.display_searchform_modal .js_search_form_submit_checker.sticky_pos_oben, 
	.display_searchform_modal .js_search_form_submit_checker.sticky_pos_unten {
		width: 100%;
		max-width: 100%;
	}
	
	.search_form_container { border-radius: 0; }
	.display_searchform_modal .newsletter_layer { display: none; }
	
	.web_frontend.display_searchform_modal .container_content .menubar_left_long {
		position: absolute; 
		top: 0; 
		z-index: 90;
		display: flex; 
		left: 0;
	}	
	
	.display_searchform_modal .container_footer,
	.display_searchform_modal .container_content_2,
	.display_searchform_modal .right_sitelinks,
	.display_searchform_modal .content_primary, 
	.display_searchform_modal .menubar_left_menus {
		/*display: none;*/
	}
		
	.display_searchform_preparation .search_form_button_wrapper,
	.display_searchform_modal .search_form_button_wrapper {
		position: fixed;
		padding: 20px;
		width: 100%;
		display: flex;
		align-items: center;
		gap: 25px;
		background: var(--color-background-contrast);
		box-shadow: 0px 0px 10px #00000040;
		border-top: 1px solid #d3d3d3;
	}
	.web_frontend.display_searchform_modal .search_form_button_wrapper { bottom: 0; }
	
	.web_frontend.display_searchform_modal .schutzbereich_fuer_button { height: 80px;  }
	.app_frontend.display_searchform_modal .schutzbereich_fuer_button { height: 0;  }
	
	
	/* Button */
	.js_search_form_submit_checker.sticky_pos_oben,
	.js_search_form_submit_checker.sticky_pos_unten {
		position: initial;
	}
	
	/* Block hochscrollen durch kurzzeitiges position relative */
	/*.container_content .menubar_left_long.display_searchform_positionrelative { position: relative;  z-index: -100; display: block; }*/
		
	/* Animation in App */
	.display_searchform_preparation .container_content .menubar_left_long {
		display: block;
		left: -100%;
		z-index: 90;
		width: 100%;
		transition: all 0.3s ease-out;	
		background: var(--color-page-background-grey);		
		position: fixed; /* muss fixed verwendet werden, damit das Menü immer oben ist egal ob liste gescrollt wurde. Aber geht nur, wenn der Header ein festes Maß hat. Ist auch nur für das Fly-In. Wenn das Menü da ist, wird die Liste deaktiviert, das Scrolling ist weg und die die Filterliste kann gescrollt werden. */
		bottom: calc(var(--height-footer-app-height-medium) + 60px); /* Abstand Footer + Buttonwrapper */
		top: var(--height-header-app-outer-micro);
		overflow: scroll;
	}
		
	.display_searchform_animation .container_content .menubar_left_long  {
		left: 0;
	}
	
	.display_searchform_modal .container_content .menubar_left_long  {
		background: var(--color-page-background-grey);
		width: 100%; 
	}
	
	.display_searchform_modal .menubar_left_search .menubar_title::after {
		content: "\f00d";             
		font-family: "Font Awesome 5 Free"; 
		font-weight: 900;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-45%);
	}
	
	.display_searchform_modal .menubar_left_search .menubar_title {
		cursor: pointer;
	}
}


/*
.app_frontend .item_type_klappliste.searchliste_zeigen .search_input_level_nokids, 
.app_frontend .item_type_klappliste.searchliste_zeigen .search_input_level_child, 
.app_frontend .item_type_klappliste.searchliste_zeigen .search_input_level_parent { padding-top: 4px; padding-bottom: 4px; } */
.app_frontend .search_form_item .label_anzahl { font-size: 14px; }
.app_frontend .menubar_left_search label { line-height: 29px; }


/* Sonderfälle */
@media screen and (max-width: 549px) {
	.display_searchform_modal .all_page_container_1 { padding: var(--height-header-small) 0 0 0;	}
	.display_searchform_modal .menubar_left_search { top: 50px;	}
	.app_frontend.display_searchform_preparation .search_form_button_wrapper { bottom: var(--height-footer-app-height-medium); }
	.app_frontend.display_searchform_modal .search_form_button_wrapper { bottom: var(--height-footer-app-height-medium); }
}
@media screen and (max-width: 449px) {
	.display_searchform_preparation .search_form_button_wrapper,
	.display_searchform_modal .search_form_button_wrapper { gap: 10px; padding: 10px; }
}

@media screen and (min-width: 550px) and (max-width: 749px) {
	.app_frontend.display_searchform_preparation .search_form_button_wrapper { bottom: var(--height-footer-app-height-medium); }
	.app_frontend.display_searchform_modal .search_form_button_wrapper { bottom: var(--height-footer-app-height-medium); }
}

/* Für mehr als 750 pixel, wenn kein Modal angezeigt wird */
@media screen and (min-width: 750px) {
	.link_kreuzfahrt_suchformular_mobile {  display: none; }
	.search_form_button_wrapper .abbrechen {  display: none; }
}


 



/************************************************************************************************************************************************************************************************************************/
/* xox: Header_Bild_auf_Startseite  (gr = mr = kr)  */
/************************************************************************************************************************************************************************************************************************/
.header_teaser_image {
	position: relative;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.header_teaser_image .header_teaser_image_2 {
	height: auto;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: left;
}


.header_teaser_image img.big_header_image {
	vertical-align: middle;
	border-radius: 5px;
	width: 100%;
	height: auto;
}

/* Header Image Rundungen */
@media screen and (max-width: 1199px) {
	.app_frontend[data-page-group="general_cms"] .header_teaser_image img.big_header_image { border-radius: 0; } /* z.B. impressum */
}
@media screen and (max-width: 749px) {
	.app_frontend .header_teaser_image img.big_header_image { border-radius: 0; } 
}



/* alles mit teaser_top ist startseite */
.header_teaser_image .teaser_top {
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border-radius: 5px;
	max-width: 100%;
	overflow: hidden;
	-webkit-transition: opacity 3s ease;
	transition: opacity 3s ease;
	opacity: 0;
	  width: 100%;
}
@media screen and (max-width: 749px) {
	.header_teaser_image .teaser_top  {
	  width: 100%;
	}
	.header_teaser_image .header_teaser_image_2 {
	  width: 100%;
	}
}
@media screen and (min-width: 750px) {
	.header_teaser_image .teaser_top  {
		width: 100%;
	}
	
	.header_teaser_image .top_teaser_block {
		min-width: 100%;
		max-height: 285px;
	}
	.header_teaser_image .big_header_image {
		width: auto;
		min-width: 100%;
		max-height: 100%;
	}
	
	.pagetemplate_sitemap .header_teaser_image ,
	.template_cms .header_teaser_image ,
	.template_landingpage1 .header_teaser_image ,
	.template_standard .header_teaser_image  {
		width: 100%;
	}
	
	.pagetemplate_sitemap .header_teaser_image .image_block,
	.template_cms .header_teaser_image .image_block,
	.template_landingpage1 .header_teaser_image .image_block,
	.template_standard .header_teaser_image .image_block {
		min-width: 100%;
	}
	.pagetemplate_sitemap .header_teaser_image .big_header_image,
	.template_cms .header_teaser_image .big_header_image,
	.template_landingpage1 .header_teaser_image .big_header_image,
	.template_standard .header_teaser_image .big_header_image  {
		width: 100%;
	}	
	
}
.header_teaser_image .teaser_top.show {
	opacity: 1;
}

.header_teaser_image .teaser_top a {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0;
	border-radius: 5px;
}

.header_teaser_image .teaser_top .angebot_wrapper {
	width: 100%;
	height: 100%;
	display: inline-block;
	position: relative;
}

.header_teaser_image .teaser_top .angebot_text {
	overflow-wrap: break-word;
	color: #ffffff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.12), 1px -1px 5px rgba(0, 0, 0, 0.12), -1px 1px 5px rgba(0, 0, 0, 0.12), -1px -1px 5px rgba(0, 0, 0, 0.12);
	margin: 0 auto;
	font-size: 30px;
	text-align: left;
	font-weight: 600;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1;
	padding: 10px;
	letter-spacing: -0.01em;
}


.header_teaser_image .teaser_top .angebot_info {
	overflow-wrap: break-word;
	color: #ffffff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.12), 1px -1px 5px rgba(0, 0, 0, 0.12), -1px 1px 5px rgba(0, 0, 0, 0.12), -1px -1px 5px rgba(0, 0, 0, 0.12);
	font-size: 16px;
	position: absolute;
	left: 20px;
	bottom: 10px;
	display: none;
}

.header_teaser_image .teaser_top .angebot_preis {
	overflow-wrap: break-word;
	position: absolute;
	right: 0;
	bottom: 0;
	height: 100px;
	width: 100px;
	text-align: center;
	padding: 5px 10px 10px 10px;
	font-size: 22px;
	line-height: 24px;
	font-weight: bold;
	border: 2px solid #fff;
	border-radius: 50px;
	background-color: #e08d33;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#e08d33), to(#ffad52));
	background-image: linear-gradient(to bottom, #e08d33 0%, #ffad52 100%);
	color: #ffffff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2), 1px -1px 5px rgba(0, 0, 0, 0.2), -1px 1px 5px rgba(0, 0, 0, 0.2), -1px -1px 5px rgba(0, 0, 0, 0.2);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	-webkit-transform: scale(0.6);
	      transform: scale(0.6);
}

.header_teaser_image .teaser_top .angebot_text.rot, 
.header_teaser_image .teaser_top .angebot_info.rot  { color:#e73827; text-shadow:1px 1px 10px rgba(255,255,255,0.2), 1px -1px 10px rgba(255,255,255,0.4), -1px 1px 10px rgba(255,255,255,0.4), -1px -1px 10px rgba(255,255,255,0.4);  }
.header_teaser_image .teaser_top .angebot_text.orange, 
.header_teaser_image .teaser_top .angebot_info.orange { color:#e08d33; text-shadow: 1px 1px 1px #b9680f, 1px -1px 1px #b9680f, -1px 1px 1px #b9680f, -1px -1px 1px #b9680f, 1px 1px 10px #fff9, 1px -1px 10px #fff9, -1px 1px 10px #fff9, -1px -1px 10px #fff9; }
.header_teaser_image .teaser_top .angebot_text.blau, 
.header_teaser_image .teaser_top .angebot_info.blau { color:#0054bc; text-shadow:1px 1px 10px rgba(255,255,255,0.2), 1px -1px 10px rgba(255,255,255,0.2), -1px 1px 10px rgba(255,255,255,0.2), -1px -1px 10px rgba(255,255,255,0.2); }
.header_teaser_image .teaser_top .angebot_text.schwarz, 
.header_teaser_image .teaser_top .angebot_info.schwarz { color:#000000; text-shadow: 1px 1px 10px #fff6, 1px -1px 10px #fff6, -1px 1px 10px #fff6, -1px -1px 10px #fff6; }
.header_teaser_image .teaser_top .angebot_text.weiss, 
.header_teaser_image .teaser_top .angebot_info.weiss { color:#ffffff; text-shadow:1px 1px 5px rgba(0,0,0,0.12), 1px -1px 5px rgba(0,0,0,0.12), -1px 1px 5px rgba(0,0,0,0.12), -1px -1px 5px rgba(0,0,0,0.12); }
.header_teaser_image .teaser_top .angebot_text.weiss_darkshaddow, 
.header_teaser_image .teaser_top .angebot_info.weiss_darkshaddow { color:#ffffff; text-shadow: 1px 1px 5px #0005, 1px -1px 5px #0005, -1px 1px 5px #0005, -1px -1px 5px #0005; }



.header_teaser_image .teaser_top:first-child {
	position: relative;
}


/* Media styles */
@media screen and (min-width: 450px) {
	.search_form_container.homepage .block-kreuzfahrten {
	display: block;
	margin-bottom: 0px;
	}

	.header_teaser_image .teaser_top .angebot_text {
	display: block;
	line-height: 1.2;
	}
}

@media screen and (min-width: 750px) {
	.search_teaser_bar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	}
	.search_form_container.homepage {
	margin-bottom: 0px;
	padding-right: 5px;
	}
	.search_teaser_bar .header_teaser_image {
	padding-left: 5px;
	}
	.search_teaser_bar .header_teaser_image img {
	vertical-align: middle;
	}
	.search_teaser_bar .header_teaser_image .teaser_top .angebot_info {
	display: block;
	}
	.search_teaser_bar .header_teaser_image .teaser_top .angebot_preis {
	-webkit-transform: scale(0.6);
	        transform: scale(0.6);
	bottom: 0;
	right: 10px;
	}
}

@media screen and (min-width: 1200px) {
	.search_teaser_bar .header_teaser_image .teaser_top .angebot_text {
	font-size: 42px;
	}
	.search_teaser_bar .header_teaser_image .teaser_top .angebot_preis {
	-webkit-transform: scale(1);
	        transform: scale(1);
	bottom: 30%;
	}
}



/************************************************************************************************************************************************************************************************************************/
/* xox: Logolaufband_Startseite (Script Slick gr = mr = kr)  */
/************************************************************************************************************************************************************************************************************************/

.homepage_logoband {
	margin: 10px 0px;
	width: auto;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 100%;
	  grid-template-columns: 100%;
}

.slick-slider {
	width: 100%;
	overflow: hidden;
}

.slick-list {
	width: 100%;
}

.slick-list .slick-track {
	height: 30px;
	opacity: 1;
	width: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-transition: -webkit-transform ease 1500ms;
	transition: -webkit-transform ease 1500ms;
	transition: transform ease 1500ms;
	transition: transform ease 1500ms, -webkit-transform ease 1500ms;
}

.slick-list .slick-track > * {
	  flex-basis: calc(100% / 7 - 10px);
	  flex-shrink: 0;
	flex-grow: 0;
	margin-right: 10px;
	justify-content: center;
	align-items: center;
	display: flex;
}

.slick-list .slick-slide {
	width: 100%;
}

.slick-list .slick-slide img {
	max-width: 100%;
	max-height: 40px;
}

/* Media Styles */
@media screen and (min-width: 550px) {
	.slick-list .slick-track {
		height: 40px;
	}
}
@media screen and (min-width: 750px) {
	.slick-list .slick-track {
		height: 50px;
	}
}
@media screen and (min-width: 1050px) {
	.slick-list .slick-track {
		height: 60px;
	}
}


/************************************************************************************************************************************************************************************************************************/
/* xox: Kreuzfahrt_Listen_und_Startseite ()   (gr = mr = kr)  */
/************************************************************************************************************************************************************************************************************************/

/* basis Layout */
.container_content {
	display: flex;
	gap: 10px;
}
.container_content_full {
	width: 100%;
}
body.web_frontend .container_content {	order: 3; }

@media screen and (max-width: 749px) {
	.container_content { flex-direction: column; }
	.container_content .container_content_2 { width: 100%;  }
	.container_content .menubar_left_long { display: none; }
	
	.web_frontend .container_content .container_content_2 { order: 1; }
	.web_frontend .container_content .menubar_left_long { order: 2; }
}
 
@media screen and (min-width: 750px) and (max-width: 849px)  {
	.container_content .container_content_2 { width: 75%; }
	.container_content .menubar_left_long { width: 25%; }
	
	.web_frontend .container_content .container_content_2 { order: 2; }
	.web_frontend .container_content .menubar_left_long { order: 1; }
}
@media screen and (min-width: 850px) {
	.container_content .container_content_2 { width: 78%; }
	.container_content .menubar_left_long { width: 22%; }
	
	.web_frontend .container_content .container_content_2 { order: 2; }
	.web_frontend .container_content .menubar_left_long { order: 1; }
	
	.app_frontend .container_content .container_content_2 { order: unset; }
	.app_frontend .container_content .menubar_left_long { order: unset; }
}

.pagetemplate_homepage .container_content .container_content_2 { width: 100%; } 
 
 
/* Startseite Template */
.pagetemplate_homepage .main_header_homepage h1 {
	margin-top: 0;
	color: var(--color-page-active-dunkelblue);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: -0.5px;
	margin-bottom: 10px;
}

.pagetemplate_homepage .main_header_homepage .topTextHeading {
	font-size: 14px;
	letter-spacing: initial;
	margin: 0 0 5px;
	font-weight: 400;
}

.pagetemplate_homepage .main_header_homepage a {
	color: var(--color-page-active-dunkelblue);
}
 
.container_content .breaker {
	width: 100%;
}


/* Startseite Offers */
.images_top_categories, 
.list_cruises_container.shortbox {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
}

.list_cruises_container.shortbox .top_angebot h2 {
	font-size: 20px;
	line-height: 20px;
	height: 61px;
	overflow: hidden;
	color: #444444;
	text-align: center;
	font-weight: bold;
	margin-top: 10px;
}

.list_cruises_container.shortbox .top_angebot .termine {
	min-height: auto;
	margin-bottom: 8px;
	clear: both;
}
.cruise_offers_tiles {
	max-width: 600px; 
}
 
/* Seitenbreite für Web */ 
@media screen and (min-width: 1000px) {
	.cruise_offers_tiles  { 		width: calc(25% - 8px);	}	
	.images_top_categories .topkategorie { 		width: calc(25% - 8px);	}
	.images_top_categories.swipe_gallery_container .topkategorie { 		width: 300px;	}	
	.list_cruises_container.swipe_gallery_container .cruise_offers_tiles {  width: 240px; }
	.list_cruises_container.swipe_gallery_container .cruise_offers_tiles {  width: 240px; }		
}
@media screen and (min-width: 750px) and (max-width: 999px) {
	.cruise_offers_tiles { 		width: calc(33.33% - 7px);	}
	.images_top_categories .topkategorie { 		width: calc(33.33% - 7px);	}
	.images_top_categories .remove_750_1000 { display: none; }
	.images_top_categories.swipe_gallery_container .topkategorie { 		width: 300px;	}
	.list_cruises_container.swipe_gallery_container .cruise_offers_tiles {  width: 240px; }
}
@media screen and (min-width: 550px) and (max-width: 749px) {
	.cruise_offers_tiles { 		width: calc(50% - 5px);	}
	.images_top_categories .topkategorie { 		width: calc(50% - 5px);	}
	.images_top_categories.swipe_gallery_container .topkategorie { 		width: 300px;	}
	.list_cruises_container.swipe_gallery_container .cruise_offers_tiles {  width: 240px; }
}
@media screen and (min-width: 450px) and (max-width: 549px) {
	.cruise_offers_tiles { 		width: calc(50% - 5px);	}
	.images_top_categories .topkategorie { 		width: calc(50% - 5px);	}
	.images_top_categories.swipe_gallery_container .topkategorie { 		width: 300px;	}
	.list_cruises_container.swipe_gallery_container .cruise_offers_tiles {  width: 240px; }
}
@media screen and (max-width: 449px) {
	.cruise_offers_tiles { 		width: 100%;	}
	.menubar_left_homepage { 		width: 100%;	}
	.images_top_categories .topkategorie { 		width: calc(50% - 5px);	}
	.images_top_categories.swipe_gallery_container .topkategorie { 		width: 300px;	}
	.list_cruises_container.swipe_gallery_container .cruise_offers_tiles {  width: 240px; }
}	

/* Seitenbreite für App */
@media screen and (max-width: 549px) {
	.app_frontend .layout_mobil_startseite {  width: 90vw; margin-left: auto; margin-right: auto; }
	.app_frontend .images_top_categories.swipe_gallery_container .topkategorie { 		width: 90vw;	}
	.app_frontend .list_cruises_container.swipe_gallery_container .cruise_offers_tiles {  width: 90vw; }
	.app_frontend .list_cruises_container.swipe_gallery_container .cruise_offers_tiles {  width: 90vw; }
	.app_frontend .list_cruises_container.shortbox .top_angebot h2 { height: 42px; }
}
 


.container_content .list_cruises_container.shortbox, 
.container_content .images_top_categories, 
.container_content .breaker_homepage_container { 
	padding-bottom: 10px;
}


.cruise_offers_tiles .kfBild  {
	display: flex; 
}

.cruise_offers_tiles .bg_teaser  {
	height: 100%;
	background-color: #FFF;
}

.breaker_homepage, 
.images_top_categories .topkategorie .insideAngebot, 
.cruise_offers_tiles .bg_teaser  {
	box-shadow: 0px 0px 10px #00000040;
	border-radius: 5px;
	overflow: hidden;
}

.list_cruises_container.shortbox img.cruise_offers_tiles_ship {
	width: 100%;
	min-height: 94px;
}

.cruise_offers_tiles .kf_content {
	padding: 0 5px 5px 5px;
	margin-top: 0;
}
@media screen and (max-width: 849px) {
	.cruise_offers_tiles .kf_content{  font-size: 17px; }
}

.cruise_offers_tiles .kf_content i.fa {
	color: #888;
	width: 17px;
	text-align: center;
}

.cruise_offers_tiles .kf_content div.description {
	height: 60px;
	overflow: hidden;
	margin-bottom: 10px;
	display: block;
	overflow-wrap: break-word;
}

.cruise_offers_tiles.aktionen_rabatte .kf_content  div.description {
  height: 160px;
}

@media screen and (max-width: 449px) {
	.cruise_offers_tiles .kf_content div.description { height: unset; }
	.cruise_offers_tiles.aktionen_rabatte .kf_content div.description { height: 170px; }
}
@media screen and (min-width: 450px) and (max-width: 849px) {
	.cruise_offers_tiles .kf_content div.description { height: 75px; }	
	.cruise_offers_tiles.aktionen_rabatte .kf_content div.description { height: 170px; }
}


.cruise_offers_tiles .cruise_list_logo {
	width: 50%;
	float: left;
	height: 50px;
	clear: both;
	margin-bottom: -8px; 
}

.cruise_offers_tiles .cruise_list_logo img {
	max-height: 40px;
	max-width: 100%;
	width: auto;
	vertical-align: middle;
}

.cruise_offers_tiles .kf_link {
	width: 50%;
	float: right;
	text-align: right;
}


.cruise_offers_tiles .description h4, .cruise_offers_tiles .description p {
	font-size: unset;
	display:inline;
	color: #333;
}


/* Startseite/Landingpage Cruise Offers */
.promotion_band_an_bild {
	width: 100%;
	padding: 5px;	
	font-weight: bold;
	background: #e73827;
	color: #fff;
	font-family: Roboto, Barlow, Arial, sans-serif; 
	line-height: 1.1;
	margin-top: 3px;
}

.cruise_offers_tiles .promotion_band_an_bild {
	position: absolute;
	bottom: 0;
}



.imageWrapper {
	position: relative;
}

.cruise_offers_landingpage .badges {
	float: left;
	text-align: right;
	width: 100%;
}
.cruise_offers_landingpage .unten_text {
	float: left;
	width: 100%;
}	
	
	
/* Bagdes */
.cruise_offers_tiles .badges, 
.steckbrief_cruise .badges, 
.cruise_offers_landingpage .list_description .badges, 
.cruise_reedereischiffe .list_description .badges, 
.cruise_offers_standard .list_description .badges {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: start;
	gap: 5px;
}

.badges span {
	position: relative;
	padding: 3px 6px;
	font-size: 12px;
	font-weight: normal;
	min-width: 20px;
 white-space: nowrap;
	display: flex; 
	line-height: 12px;
	align-items: center;
	border-radius: 5px;
	-webkit-text-emphasis: center;
	text-emphasis: center;
	font-family: Roboto, Barlow, Arial, sans-serif; 
}

.detail_page_intro_layout .badges span {
	padding: 6px 6px;
}

.badges .gruen {
	color: #fff;
	background: var(--color-page-kfliste-green);
	border: 2px solid var(--color-page-kfliste-green);
}
.badges .rot {
	color: #fff;
	background: #ec4a14;
	border: 2px solid #ec4a14;
}
.kf_content .badges .gruen i.fa {
	color: #fff;
}

/* Top Kategorien Startseite */
.images_top_categories > div img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.images_top_categories div.insideAngebot {
	overflow: hidden;
	position: relative;
}

.images_top_categories div.shadowText {
	position: absolute;
	top: 20px;
	left: 0;
	text-align: center;
	width: 100%;
	font-size: 18px;
	height: 50px;
	line-height: 25px;
	color: #ffffff;
	font-weight: bold;
}

.images_top_categories div.anfragen {
	position: absolute;
	font-size: 15px;
	color: #fff;
	text-align: right;
	right: 10px;
	line-height: 1;
	float: right;
	font-weight: bold;
	padding: 0;
	margin: 0;
	bottom: 10px;
	width: 150px;
}



.images_top_categories > div .insideAngebot.kreuzfahrten-inkl-hotel-verlaengerung div.shadowText {
	text-shadow: 2px 2px 5px #00000055, 2px -2px 5px #00000055, -2px 2px 5px #000000ff, -2px -2px 5px #00000055;
}


.block-menu_block {
	border-radius: 5px;
	background-color: #fff;
	margin-bottom: 10px;
}
.block-menu_block.menu_left_socialimages img {
	border-radius: 5px;
}

.block-menu_block .menu_left_main_head {
margin: 0;
	color: #777;
	padding: 5px 10px 5px 10px;
	background: #f2f2f2;
	font-size: 14px;
	line-height: 1.42857143;
	font-weight: normal;
	overflow: hidden;
}

.pagetemplate_homepage .block-menu_block .menu_left_main_head {
	margin-top: 0;
	width: 100%;
	background-size: 100% 100%;
	min-height: 32px;
	font-size: 22px;
	color: #fff;
	padding: 10px 15px;
	letter-spacing: -0.5px;
	font-weight: bold;
	border-radius: 5px 5px 0 0;
	background-color: var(--color-page-active-hellhellblue);
}
	
	
.block-menu_block .menu_left_main_content {
	padding: 0px 15px 10px;
	overflow: hidden;
}

.block-menu_block .menu_left_main_content .menu {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.block-menu_block .menu_left_main_content .menu_left_main_li {
	line-height: 1.2;
	margin: 17px 0;
	padding: 0;
	border-bottom: 1px solid #fff;
	list-style: none;
}

.block-menu_block .menu_left_main_content a {
	color: var(--color-page-active-dunkelblue);
}

/* Landingpage */
.pagetemplate_landingpage .content_header_teaser {
	border-radius: 5px;
	margin-bottom: 10px;
}

.pagetemplate_landingpage .content_header_teaser img {
	border-radius: 5px;
	width: 100%;
}

.pagetemplate_landingpage .container_content .primary-content .listheader {
	display: none;
}



/* media for homepage */

@media screen and (max-width: 749px) {
	.pagetemplate_homepage .main_header_homepage .topText {		display:none;	}
	
}
@media screen and (max-width: 549px) {
	.pagetemplate_homepage .main_header_homepage .topTextHeading {		display:none;	}
}

@media screen and (min-width: 350px) {
	.images_top_categories div.shadowText {    font-size: 25px;  }
}




/* Facebook_Insta_Content */
.cruise_offers_fbtiles { width: calc(33.33333% - 8px); }
.fb_image_container { display: block; position: relative; container-type: inline-size;  width: 100%; }
.fb_image_container .fb_imagebig { width: 100%; height: auto; vertical-align: top; border-radius: 5px; box-shadow: 0px 0px 10px #00000040; }
.fb_image_container .fb_preis { position: absolute; line-height: 1; white-space: nowrap; font-family: Roboto, Barlow, 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.fb_image_container .fb_zusatz { position: relative; font-weight: normal; letter-spacing: 0px; top: -2px; }
.fb_image_container .fb_euro {  font-weight: normal; letter-spacing: 0px;  }

.fb_image_container .fb_imagebig_over {  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 10; }
 
@media screen and (max-width: 999px) {
	.cruise_offers_fbtiles { width: calc(50% - 5px); }
}
@media screen and (max-width: 699px) {
	.cruise_offers_fbtiles { width: 100%; }
}




/************************************************************************************************************************************************************************************************************************/
/* xox: Kreuzfahrt_Listen_Kategorieseite (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/

.kreuzfahrtliste_tpl {
	position: relative;
	display: flex;
	flex-direction: column; 
}

/* Kreuzfahrt Liste - Überschrift mit Listensortierung */
.search_listheader {
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}

.search_listheader .listheader_title {
	text-align: left;
	overflow: hidden;
	padding: 0;
	height: auto;
}



.search_listheader .listsort {
	flex-grow: 1;
}

.search_listheader .form-select {
	background: #fffa;
}


.search_listheader {
	text-align: left;
	overflow: hidden;
	background: var(--color-page-active-dunkelblue);
	height: auto;
	margin-top: 0;
	background-size: 100% 100%;
	min-height: 32px;
	font-size: 22px;
	color: #fff;
	letter-spacing: -0.5px;
	font-weight: bold;
}

@media screen and (max-width: 749px) {
	.app_frontend .search_listheader { font-size: 20px;   } 
	.app_frontend .numresults { padding-top: 0px;  } 
}


.search_listheader .numresults {
	padding: 5px 5px 5px 10px;
}
.search_listheader .listsort {
	padding: 5px 5px 5px 0;
}

.search_listheader select {
	padding: 5px 5px 5px 15px;
	line-height: 1.5;
	font-size: 14px;
	font-weight: normal;
	background: #ffab14;
	cursor: pointer;
	color: #000;
	box-shadow: 0px 0px 5px #00000020;
	border-radius: 3px;
	outline: none;
	border: none;
}

.search_listheader .form-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: end;
}



/* Kreuzfahrt Liste - Oben das Bild */
.header_teaser_image .caption {
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 0px;
	padding: 5px 10px;
	background: rgba(255, 255, 255, 0.55);
	max-height: 55px;
	overflow: hidden;
	line-height: 1.3;
	-webkit-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
}

.template_landingpage1 .header_teaser_image .caption h2 { 
	margin: 0;
}
.template_landingpage1 .header_teaser_image .caption  { 
	padding: 10px;
}

.header_teaser_image .caption:hover {
	-webkit-transition: max-height 0.25s ease-in;
	transition: max-height 0.25s ease-in;
	max-height: 200px;
	height: auto;
}

.header_teaser_image .caption > h1:first-child {
	display: block;
	letter-spacing: inherit;
	font-size: 22px;
	margin: 0 0 5px;
	color: #333333;
	font-weight: 600;
}

.header_teaser_image .caption > h3 {
	letter-spacing: inherit;
	display: inline;
	font-size: 14px;
	margin: 0;
	color: #333333;
	font-weight: bold;
}

.header_teaser_image .caption p {
	letter-spacing: inherit;
	display: inline;
	font-size: 14px;
	margin: 0;
	color: #333333;
}

/* Kreuzfahrt Angebote */
.list_cruises_container.heroimg {
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: 10px; 
}
@media screen and (min-width: 450px) and (max-width: 1049px) {
	.list_cruises_container.heroimg {
		  grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 449px) {
	.list_cruises_container.heroimg {
		display: flex;
		flex-direction: column;
	}
}

.cruise_offers_heroimg {
	box-shadow: 0px 0px 10px #00000040;
}
.cruise_offer_img_heroimg {
	width: 100%;
	height: auto;
}
.cruise_offers_heroimg .imageWrapper {
	min-height: 100px;
}
.stoerer_in_kf_liste {
	grid-column: 1 / -1; /* spannt über alle Spalten */
}
	
.list_cruises_container.longkat_landingpage {
	display: flex;
	flex-direction: column;
}
.web_frontend .list_cruises_container.longkat_landingpage {
	padding-top: 10px;
}
	

@media screen and (max-width: 1249px) {
	.list_cruises_container.longkat_landingpage { overflow: hidden; /* wichtig, weil sonst der animite Störer im Mobile drüber hinaus geht und querscroll verursacht */  }
}

.list_cruise_single {
	background: #FFF;
	padding: 10px 10px;
	margin-bottom: 10px;
	border-radius: 5px;
	box-shadow: 0px 0px 5px #00000020;
}

.list_cruise_single .offer_liste_header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
.list_cruise_single .offer_liste_header h2 {
	margin: 0;
	line-height: 1.1;
	text-align: left;
	font-weight: bold;
}

.cruise_offers_preisalarm .offer_liste_footer {
	display: flex;
	flex-direction: row;
	justify-content: end;
	gap: 30px;
	position: absolute;
	bottom: 4px;
	right: 10px;
}
.cruise_offers_preisalarm .offerliste_footer_link {
	font-weight: bold;
}


.cruise_offers_landingpage .offerheader_text h2, 
.cruise_offers_landingpage .offerheader_text h2 a {
	font-size: 24px;
}
.cruise_offers_preisalarm .offerheader_text h2 {
	font-size: 20px;
}
.cruise_offers_preisalarm .offerheader_text {
	padding-bottom: 7px;
}
.cruise_offers_standard .offerheader_text h2, 
.cruise_offers_standard .offerheader_text h2 a {
	font-size: 20px;
}
.cruise_reedereischiffe .offerheader_text h2, 
.cruise_reedereischiffe .offerheader_text h2 a {
	font-size: 24px;
	margin-bottom: 5px;
}

.list_cruise_single .offerheader_text .sub_text {
	font-size: 14px;
	padding-bottom: 3px;
	line-height: 1.2;
}

.list_cruise_single .cruise_list_logo {
	justify-content: right;
	text-align: right;
	align-items: start;
	display: flex;
}

.list_cruise_single .cruise_listimage_logo {
	position: absolute;
	top: 0;
	right: 0;
	background: #fff;
	border: 2px solid #fff;
}

.list_cruise_single .cruise_listimage_logo img {
	max-height: 40px;
	max-width: 60px;
	height: auto; 
	width: auto; 
}



@media screen and (min-width: 1200px) {
	.list_cruise_single .cruise_list_logo { margin-top: -3px; margin-right: -2px; }
}


.list_cruise_single .cruise_list_logo.multi {
	gap: 5px;
}

.list_cruise_single .cruise_list_logo img {
	max-width: 100px;
	max-height: 40px;
	width: auto;
	height: auto;
}
.list_cruise_single .cruise_list_logo.large {
	position: relative;	
}
.list_cruise_single .cruise_list_logo.large img {
	position: absolute;
	right: 5px;
	top: 5px;
	max-width: 150px;
	max-height: 60px;
}

@media screen and (max-width: 549px) {
	.list_cruise_single { padding: 5px; }
	.list_cruise_single .offer_liste_header { flex-direction: column; }
	.offer_liste_header .cruise_list_logo { padding-bottom: 5px; }
	.offer_liste_header .cruise_list_logo img { max-width: 75px;  max-height: 20px; }
	.list_cruise_single .offerheader_text { margin-top: 5px; }
}
@media screen and (max-width: 749px) {
	.cruise_offers_landingpage .offer_liste_header { flex-direction: column; }
	.cruise_list_logo.multi { margin-right: 0; }
}
@media screen and (min-width: 550px) and (max-width: 1199px) {
	.offer_liste_header .cruise_list_logo img { max-width: 85px;  max-height: 30px; }
	.list_cruise_single { padding: 7px; }
	.list_cruise_single .offerheader_text { margin-top: 5px; }
}

/* Grid für Kreuzfahrtliste  Brackpoints: 550, 750, 1150 */
.offercontent_line {
	display: grid;
	grid-template-columns: calc(30% - 5px) calc(70% - 5px); 
	grid-template-rows: auto auto;   
	align-items: start;  
	gap: 10px;
	width: 100%;
}
.cruise_offers_preisalarm .offercontent_line {
	display: grid;
	grid-template-columns: auto auto auto;   
	grid-template-rows: auto auto auto;   
	align-items: start;  
	gap: 10px;
	width: 100%;
}

.offercontent_line .list_imagebox {
	grid-row: span 3; 
	 align-self: start; 
}
.offercontent_line .imagebox {
	position: relative; 
}
.cruise_offers_landingpage .offercontent_line .list_imagebox {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.offercontent_line .list_description {
	grid-column: 2;
	grid-row: 1;  
	display: flex;
	flex-direction: column;
	gap: 10px;
	 align-self: start;
}

.offercontent_line .bottom_content {
	grid-column: 2; 
	grid-row: 2;  
	align-self: start;
	display: flex;
	gap: 10px;  
	margin-top: -5px;
}

.cruise_offers_preisalarm { position: relative; }
.cruise_offers_preisalarm .offercontent_line { grid-template-columns: 1fr 10fr; grid-template-rows: auto; }
.cruise_offers_preisalarm .image_grid { display: flex; gap: 5px; }
.cruise_offers_preisalarm .preise_wrapper { justify-content: center; }
.cruise_offers_preisalarm .preise .preis_e { font-size: 26px;  color: #4f4f4f; } 
.cruise_offers_preisalarm .preise_wrapper.gruen .preis_e, .cruise_offers_preisalarm .preise_wrapper.gruen .preis_pp { color: var(--color-page-kfliste-green); } 
.cruise_offers_preisalarm .preise .preis_no { letter-spacing: -0.3px;  font-size: 21px;  color: #5e5e5e;  font-weight: 600;  line-height: 26px; } 
.cruise_offers_preisalarm .preise_wrapper_wrapper { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 20px; width: 100%; } 

@media screen and (max-width: 549px) {
	.offercontent_line {    display: flex; flex-direction: column; }
	.cruise_offers_preisalarm .offercontent_line { display: flex; flex-direction: column;  }
	.offercontent_line .list_imagebox, .offercontent_line .list_description, .offercontent_line .bottom_content {   width: 100%;  }
	.web_frontend .list_cruise_single .offerheader_text .sub_text { display: none; }
	.cruise_offers_preisalarm .offer_liste_footer { margin-top: 15px; position: relative; }
	.cruise_offers_preisalarm .preise_wrapper_wrapper .preis_e { font-size: 22px;  } 
}
@media screen and (min-width: 550px) and (max-width: 749px) {
	.cruise_offers_landingpage .sub_text { display: none; }
	.cruise_offers_preisalarm .preise_wrapper_wrapper { flex-direction: column; gap: 10px; align-items: end;  } 
	.cruise_offers_preisalarm .preise_wrapper_wrapper .preis_e { font-size: 20px;  } 
	.cruise_offers_preisalarm .offercontent_line { grid-template-columns: 1fr 3fr 2fr }
}

@media screen and (min-width: 750px) and (max-width: 1199px) {
	.cruise_offers_preisalarm .offercontent_line { grid-template-columns: 1fr 3fr 3fr }
}
@media screen and (min-width: 550px) and (max-width: 849px) {
	.cruise_offers_preisalarm .preise_wrapper_wrapper .preis_e { font-size: 22px;  } 
}

@media screen and (min-width: 550px) and (max-width: 1199px) {
	.offercontent_line {     grid-template-columns: calc(30% - 5px) calc(70% - 5px);  }
	.offercontent_line .list_imagebox {     grid-row: span 3;  }
	.offercontent_line .list_description {    grid-column: 2;    grid-row: 1;  }
	.offercontent_line .bottom_content {     grid-column: 2;    grid-row: 2;  }
}

@media screen and (min-width: 1200px) {
	.cruise_offers_standard .offercontent_line { grid-template-columns: 290px 550px;  }
	.cruise_reedereischiffe .offercontent_line { grid-template-columns: 290px 550px;  }
	.cruise_offers_landingpage .offercontent_line { grid-template-columns: 530px 550px; }  
	.cruise_offers_preisalarm .offercontent_line { grid-template-columns: 1fr 1fr 1fr }	
	.offercontent_line .list_imagebox {    grid-row: 1;  }
	.offercontent_line .list_description {  grid-column: 2;    grid-row: 1;  }
	.offercontent_line .bottom_content {    grid-column: span 2;  grid-row: 2; flex-direction: row; }
}

@media screen and (max-width: 1200px) {
	.offercontent_line .editorial_description { order: 2; } 
	.bewertung_rectangle { order: 1; }
	.offercontent_line .bottom_content {    flex-direction: column; }
}


/* Fallback für ganz alte Browser ohne Grid, z.B. IE */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { 
	.offercontent_line {     display: flex;  gap: 1%;  flex-wrap: wrap;    align-items: flex-start;  }
	.offercontent_line .list_imagebox, .offercontent_line .list_description, .offercontent_line .bottom_content {     width: 100%;   }

	@media screen and (min-width: 0px) and (max-width: 549px) {
	.offercontent_line .bottom_content { display: flex; flex-direction: column; }
	.offercontent_line .editorial_description { order: 2; } 
	.bewertung_rectangle { order: 1; }
	.list_cruise_single .offerheader_text .sub_text { display: none; }
	
	.cruise_offers_preisalarm .offercontent_line { grid-template-columns: calc(20% - 5px) calc(30% - 5px) calc(50% - 5px); }
	}

	@media screen and (min-width: 550px) and (max-width: 749px) {
	.offercontent_line {      flex-direction: column;     }
	.offercontent_line .list_imagebox  {        width: 100%;  }
	.offercontent_line .list_description {        width: 100%;     }
	.offercontent_line .bottom_content {       width: 100%;    } 
	}

	@media screen and (min-width: 750px) and (max-width: 1199px) {
	.offercontent_line .list_imagebox  {        width: 30%;  }
	.offercontent_line .list_description {        width: 69%;     }
	.offercontent_line .bottom_content {       width: 100%;    } 
	}

	@media screen and (min-width: 1200px) {
	.offercontent_line .list_imagebox  {        width: 30%;  }
	.offercontent_line .list_description {        width: 69%;     }
	.offercontent_line .bottom_content {       width: 100%;    } 
	}
}





.my_booking_list .textlink, 
.offercontent_line .list_description .textlink {
	font-weight: bold;
}


.offercontent_line .bottom_content {
	display: flex;
	justify-content: space-between;
}


.offercontent_line .editorial_description .title  {
	display: inline;
	font-size: 14px;
	color: #333;
	font-weight: normal;
	line-height: 1.3;
	margin: 0;
	font-family: inherit;
}
.offercontent_line .editorial_description .beschreibung  {
	color: #333;
	line-height: 1.3;
	display: inline;
	margin: 0;
}

.steckbrief_preise_zeile {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.preise_wrapper, 
.steckbrief_box {
	display: flex;
	flex-direction: column;
	 flex-grow: 1;
}
.steckbrief_box { line-height: 1.4; }
.preise_wrapper {
	justify-content: end;
}

@media screen and (max-width: 749px) {
	.app_frontend .preise_wrapper { margin-top: -30px; }
}

.cruise_reedereischiffe .steckbrief_box .sterne { color: #555; }

.pre_icon {
	margin-left: 25px;
	 position: relative;  
}
.pre_icon::before {
	text-align: center;
	width: 25px;
	color: #888;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	display: inline-block;
	 position: absolute;  
	 left: 0;
	 margin-left: -29px;
}
.pre_icon.ship::before {  content: "\f21a";  }
.pre_icon.dauer::before {  content: "\f017";  }
.pre_icon.termin::before {  content: "\f073";  }
.pre_icon.hafen::before {  content: "\f276";  }
.pre_icon.nummer::before {  content: "\f05a";  }

.pre_icon .sterne {
	color: #888;
	margin-left: 5px;
	white-space: nowrap;
}

.pre_icon .sterne .far  {
	color: #ddd;
}

.cruise_offers_landingpage .preise_wrapper { margin-top: -13px; }

@media screen and (max-width: 1199px) {
	.pre_icon .sterne { font-size: 10px; }
}
@media screen and (max-width: 749px) {
	.template_landingpage1 .header_teaser_image .caption h1, .template_landingpage1 .header_teaser_image .caption h2  { font-size: 24px;	}
}
@media screen and (max-width: 549px) {
	.template_landingpage1 .header_teaser_image .caption  {  display: none;	}
	.template_landingpage1 .header_teaser_image .caption h2  { 		font-size: 24px;	}
	.pre_icon .sterne { font-size: 10px; }
}
 
@media screen and (max-width: 400px) {
	.steckbrief_preise_zeile { flex-direction: column; }
}
 

.shippic {
	width: 50%;
	display: inline-block;
	margin-right: 2px;
	margin-bottom: 2px;
}

.list_cruise_single .image_grid img {
	width: 100%;
	height: auto;  
}

/* Streichpreise Sonderaktionen */
.offers_kategorie_liste.sonderaktion_anwenden .preise {
	overflow: hidden;
}

.offers_kategorie_liste.sonderaktion_anwenden .kattyp .sonderaktion_streichpreis {
	color: #ce7979; 
	position: relative;	
	padding: 0 5px;	
}

.offers_kategorie_liste.sonderaktion_anwenden .preise .sonderaktion_streichpreis {
	font-weight: bold; 
	color: #ce7979; 
	position: relative;	
	font-size: 20px;
	padding: 0 5px;	
}
.cruise_offers_tiles.sonderaktion_anwenden .kattyp .sonderaktion_streichpreis,
.cruise_offers_tiles.sonderaktion_anwenden .preise .sonderaktion_streichpreis {
	font-size: 18px;
	overflow: hidden;
}

.offers_kategorie_liste.sonderaktion_anwenden .kattyp .streichstrich,
.offers_kategorie_liste.sonderaktion_anwenden .preise .streichstrich {
	font-weight: bold;
	position: absolute;
	color: #b70000;
	transform: rotate(-7deg);
}

.offers_kategorie_liste.sonderaktion_anwenden .kattyp .streichstrich {
	font-size: 28px;
	right: 2px;
	bottom: 5px;
}

.offers_kategorie_liste.sonderaktion_anwenden .preise .streichstrich {
	font-size: 28px;
	right: -2px;
	bottom: 12px;
}
.cruise_offers_tiles.sonderaktion_anwenden .kattyp .streichstrich,
.cruise_offers_tiles.sonderaktion_anwenden .preise .streichstrich {
	font-size: 25px;
}

.offers_kategorie_liste.sonderaktion_anwenden .preise .preis_e {
	color: #b70000;
}
.offers_kategorie_liste .action_add_salehinweis_kategorieseite {
	background: #ec4a14;
	border: 2px solid #e3430d;
	text-align: center;
	color: #fff;
	padding: 1px;
	font-size: 14px;
	border-radius: 5px;
}

.cruise_offers_landingpage.sonderaktion_anwenden .kf_link a {
	background: #b70000;
}


.cruise_offers_landingpage .action_add_salehinweis_kategorieseite {
	float: right;
	padding: 5px 15px;
	margin: 10px 0 0 0;
}
.cruise_offers_tiles .action_add_salehinweis_kategorieseite {
	float: right;
	padding: 0px 10px;
}

.salehinweis_unter_kategorieliste {
	text-align: center;	
	padding: 1px;
	font-size: 22px;
	font-weight: bold; 
	margin-bottom: 10px;
}

.web_frontend .salehinweis_unter_kategorieliste { color: #fff; background: #ec4a14; border: 2px solid #e3430d; }
.app_frontend .salehinweis_unter_kategorieliste {  }
	
	
.salehinweis_unter_kategorieliste .klein1 {
	font-size: 14px;
	display: block;
	font-weight: normal;
}
.salehinweis_unter_kategorieliste .klein2 {
	font-size: 12px;
	display: block;
	font-weight: normal;
}

.salehinweis_in_buchung {
	background: #ec4a14;
	border: 2px solid #e3430d;
	text-align: center;
	color: #fff;
	padding: 1px;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}
.salehinweis_in_buchung .klein2 {
	font-size: 12px;
	display: block;
	font-weight: normal;
	line-height: 1.2;
	font-family: Roboto, Barlow, Arial, sans-serif; 
}
.salehinweis_in_reviewbox {
	background: #ec4a14;
	border: 2px solid #e3430d;
	color: #fff;
	font-weight: bold;
	padding: 2px 10px 2px 10px;
	float: left;
	width: 100%;
}
.salehinweis_kategoriebutton {
	padding: 0 0 5px 0;
	color: #ec4a14;
	margin-top: -2px;
	font-weight: bold;
}


/* Zusatzhinweise für Sonderaktionen (Secret Deals usw.) */
.sonderaktion_zusatzhinweis { 
	float: right;
	width: 100%;
}
.sonderaktion_zusatzhinweis p { 
	margin: 0;
}
.sonderaktion_zusatzhinweis.moeglicher_secret_deal { 
	text-align: right;
	padding: 5px 0 0 0; 
}
@media screen and (max-width: 749px) {
	.sonderaktion_zusatzhinweis.moeglicher_secret_deal { padding: 0 0 10px 0;	}
}
.sonderaktion_zusatzhinweis.moeglicher_secret_deal .maintext { 
	font-size: 24px;
	line-height: 1.2;
	font-weight: bold;
	color: #d51313;
	font-family: Roboto, Barlow, Arial, sans-serif; 
}
.sonderaktion_zusatzhinweis.moeglicher_secret_deal .maintext:before { 
	content: "\f118";
	 font-family: 'Font Awesome 5 Free';
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	margin-right: 10px;
}
.sonderaktion_zusatzhinweis.moeglicher_secret_deal .preis { 
	font-weight: 900;
}
.sonderaktion_zusatzhinweis.moeglicher_secret_deal .subtext { 
	font-size: 16px;
	font-weight: normal;	
	color: #d51313;
	line-height: 1.2;
}
.sonderaktion_zusatzhinweis.aktiver_secret_deal a, 
.sonderaktion_zusatzhinweis.moeglicher_secret_deal .maintext a, 
.sonderaktion_zusatzhinweis.moeglicher_secret_deal .subtext a { 
	text-decoration: underline;	
	color: #d51313;
	font-weight: bold;
}
.sonderaktion_zusatzhinweis.aktiver_secret_deal,  
.sonderaktion_zusatzhinweis.coupon_code  { 
	text-align: right;
	padding-bottom: 10px;
	font-size: 16px;
	line-height: 1.2;
	font-weight: bold;
	color: #d51313;
}
.sonderaktion_zusatzhinweis.aktiver_secret_deal .name { 
	font-weight: 900;
}

.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.coupon_code,  
.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.aktiver_secret_deal,  
.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.moeglicher_secret_deal .subtext, 
.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.moeglicher_secret_deal .maintext {
	font-size: 14px;
}
.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.moeglicher_secret_deal .maintext:before {
	content: unset;
}
.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.coupon_code, 
.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.aktiver_secret_deal, 
.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.moeglicher_secret_deal { 
	padding: 0 0 5px 0;
}

@media screen and (max-width: 749px) {
	.list_cruises_container.longkat_landingpage .sonderaktion_zusatzhinweis.moeglicher_secret_deal { padding: 0 0 10px 0;	}
}


/* Badges */
.badgeKf {
	position: absolute;
	top: 0;
	left: 0;
	margin: 5px;
	background: #fff;
	width: 120px;
	padding: 5px 2px;
	line-height: 1.1;
	text-align: center;
	border-radius: 5px;
}

.badgeKf.weissrot {
	color: #e73827;
	border: 2px solid #e73827;
}

.badgeKf.rotweiss {
	background: #e73827;
	color: #fff;
	border: 2px solid #fff;
}

.badgeKf.blauweiss {
	background: var(--color-page-active-dunkelblue);
	color: #fff;
	border: 2px solid #fff;
}

.app_frontend .badgeKf { margin: 0; border-radius: 0; border-top: 0; border-left: 0; }

/* Vorteil */
.vorteile_gruen {
	color: var(--color-page-kfliste-green);
	font-weight: bold;
	margin: 0px;
}
@media screen and (min-width: 550px) {
	.vorteile_gruen { margin-top: 2px;	}
}


.vorteile_gruen ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.vorteile_gruen ul li {
	line-height: 1.1;
	display: flex;
	gap: 5px;	
}

.pagetemplate_cruisedetail .vorteile_gruen {
	overflow: hidden;
}

.pagetemplate_cruisedetail .vorteile_gruen ul {
	margin: 0 0 0 3px;
}

.vorteile_gruen ul li .icon {
	display: flex;
	align-items: center;
}
.vorteile_gruen .vorteil_hot { color: #ec4a14; }

.pagetemplate_cruisedetail .vorteil {
	font-size: 16px;
}



/* list_description */
.list_description .termine .fa {
	text-align: center;
	width: 30px;
	margin-left: -4px;
	color: #888;
}

/* bewertungen */
.bewertung_klein {
	justify-content: right;
	display: flex;
	align-items: start;
}
.bewertung_klein .main_vote {
	display: flex;
	gap: 5px;
}
.bewertung_klein .text_box {
	display: flex;
	flex-direction: column;
	justify-content: center; 
}
.bewertung_klein .text_label {
	color: var(--color-page-kfliste-green);
	font-weight: bold;
	font-size: 14px;
	line-height: 1;
	text-align: end;
}
.bewertung_klein .text_info {
	font-size: 11px;
	line-height: 1;
	text-align: end;
}
.bewertung_klein .count {
	font-size: 20px;
	padding: 8px;
}


.bewertung_detailseite_klein .count,
.bewertung_detailseite_big .count,
.bewertung_klein .count {
	background: var(--color-page-kfliste-green);
	color: #fff;
	font-weight: bold;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	text-shadow: 0px 0px 4px #0008;
}
 
.bewertung_detailseite_big .main_vote {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
}
.bewertung_detailseite_big .text_thema {
	font-size: 14px;
}

.bewertung_detailseite_big .text_info {
	font-size: 16px;
	font-weight: bold;
}

.bewertung_detailseite_klein .count {
	font-size: 15px;
	border: 1px solid #3a8c3a;
	padding: 7px 4px;
	align-self: start;
	border-radius: 4px;
}
.bewertung_detailseite_big .count {
	min-height: 70px;
	min-width: 70px;
	font-size: 30px;
	border: 1px solid #3a8c3a;
}
.bewertung_detailseite_big .count.prozent {
	 font-size: 28px;
}
.bewertung_detailseite_big .count.prozent::after {
	content: " %";
	font-size: 15px;
}

.bewertung_detailseite_big .text_box {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bewertung_detailseite_big .text_label {
	font-size: 20px;
	color: var(--color-page-kfliste-green);
	font-weight: bold;
	font-size: 23px;
	line-height: 1;
}
.bewertung_detailseite_klein.main_vote {
	display: flex;
	gap: 10px;	
}
.bewertung_detailseite_klein .text_thema {
	font-size: 16px;
	line-height: 1;
	font-weight: bold; 
}
.bewertung_detailseite_klein .text_info {
	font-size: 12px;
	line-height: 1;
	margin-top: 2px;
	color: #888;
}

/* Preise */
.preise {
	text-align: right;
	line-height: 1;
}
.preise .preis_pp {
	font-size: 12px;
	color: #444444;
}
.preise .preis_e {
	font-weight: bold;
	font-size: 40px; 
	color: var(--color-page-active-hellblue);
	text-align: right;
}


/* Kategoriepreise */
.offers_kategorie_liste .kategorien {
	display: flex;
	justify-content: space-around;
	align-items: start;
	width: 100%;
	padding: 5px 0 5px 0;
	border: 1px solid #e3e3e3;
	border-radius: 5px;
	background: #f7f7f7;
}
.offers_kategorie_liste .kattyp {
	display: flex;
	flex-direction: column;  
	justify-content: center;
	text-align: center;
}
.offers_kategorie_liste .trennstrich {
	border-right: 1px solid #aaa;
	height: 30px;
}
.offers_kategorie_liste .kategorie_name {
	line-height: 1.2;
}
.offers_kategorie_liste .kategorie_preis {
	line-height: 1.2;
}
.offers_kategorie_liste .kategorie_preis .small {
	color: #aaa;
	font-size: 12px;
}
.offers_kategorie_liste .kategorie_preis .big {
	font-weight: bold;
	font-size: 16px;
}
.offers_kategorie_liste .ausgebucht .kategorie_preis {
	color: #aaa;
	font-size: 14px;
	margin-top: 2px;
}

@media screen and (max-width: 849px) {
	.app_frontend .offers_kategorie_liste .ausgebucht .kategorie_preis { 	font-size: 14px; margin-top: 2px; }
}
@media screen and (max-width: 449px) {
	.offers_kategorie_liste .ausgebucht .kategorie_preis { 	font-size: 12px; margin-top: 2px; }
	.app_frontend .offers_kategorie_liste .ausgebucht .kategorie_preis { 	font-size: 12px; margin-top: 2px; }
}

/* kf Link */
.cruise_offers_tiles .kf_link a,
.cruise_reedereischiffe .kf_link a,
.cruise_offers_standard .kf_link a {
	font-size: 15px;
	padding: 0;
	margin: 0;
	height: auto;
	font-weight: bold;
	float: right;
} 
.cruise_reedereischiffe .kf_link a, 
.cruise_offers_standard .kf_link a {
	text-shadow: 0px 0px 4px #0008;
}

.list_cruise_single .kf_link a {
	font-size: 17px;
	color: #ffffff;
	height: auto;
	font-weight: bold;
	float: right;  
	background: var(--color-page-active-hellblue);
	padding: 8px 15px 8px 15px;		
	margin-bottom: 5px;
	margin-top: 2px;
	text-align: center;
	white-space: nowrap;
	line-height: 1;
	transition: all 0.1s linear;
} 

.list_cruise_single .kf_link a:hover {
	background: var(--color-page-active-blue);
	transform: scale(1.1);
	transition: all 0.1s linear;
	color: #ffffff;
} 

.app_frontend .list_cruise_single .kf_link a { border-radius: 20px; border: 3px solid var(--color-page-active-hellblue-kante); }
.web_frontend .list_cruise_single .kf_link a { box-shadow: 0px 0px 10px rgba(9, 9, 9, 0.25); border-radius: 5px; border: 3px solid #fff; }
.app_frontend .list_cruise_single .kf_link a:hover {  border: 3px solid var(--color-page-active-blue); }

.cruise_offers_landingpage .kf_link .fa-arrow-circle-right {
	color: #ffffff;
	margin-left: 5px;
	width: unset;
}

.subTitle {
	clear: both;
	letter-spacing: initial;
	margin: 0;
	color: #333333;
	line-height: 1.3;
	font-size: 14px;
	font-weight: 500;
}
.cruise_offers_landingpage p.subTitle, 
.cruise_reedereischiffe p.subTitle, 
.cruise_offers_standard h3.subTitle {
	padding-top: 5px;
}

@media screen and (max-width: 749px) {
	.cruise_reedereischiffe .kf_link a,
	.cruise_offers_standard .kf_link a {
		padding: 5px 8px;
	}
}

/* Bild Grid */
.cruise_offers_standard .image_grid {
	display: grid;
	align-items: center;
	gap: 3px;
}
.cruise_offers_standard .image_grid img {
	width: 100%;
	height: auto;
}

.cruise_offers_landingpage .image_grid {
	display: flex;
	align-items: center;
	gap: 3px;
}
.cruise_offers_landingpage .image_grid img {
	width: 100%;
	height: auto;
}

@media screen and (min-width: 1200px) {
	.cruise_offers_landingpage .image_grid img {
	  width: 50%;
	  height: auto;
	}
}

@media screen and (max-width: 549px) {
	.cruise_offers_landingpage .image_grid img {
	  width: 50%;
	  height: auto;
	}
}


/* Fallback für ganz alte Browser ohne Grid, z.B. IE */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {

	 @media screen and  (max-width: 749px) {
		.cruise_offers_standard .image_grid {    display: flex;  flex-direction: row;  width:100%; gap: 5px; }
	 }
	 @media screen and  (min-width: 750px) {
		.cruise_offers_standard .image_grid {    display: flex;  flex-direction: row;  width:100%; gap: 5px; flex-wrap: wrap; }
		.cruise_offers_standard img.imagebox_1 {    width: 100% }
		.cruise_offers_standard img.imagebox_2 {    width: 100% }
		.cruise_offers_standard img.imagebox_3 {    width: 48% }
		.cruise_offers_standard img.imagebox_4 {    width: 48% }
	 }
}


/* Bildaufteilung 2 x 2  */
@media screen and (max-width: 349px) {		
	.cruise_offers_standard .image_grid { grid-template-columns: 1fr 1fr; }
	.cruise_offers_standard img.imagebox_1 {  grid-column: 1;  grid-row: 1;}
	.cruise_offers_standard img.imagebox_2 {  grid-column: 2;  grid-row: 1;}
	.cruise_offers_standard img.imagebox_3 {  grid-column: 1;  grid-row: 2;}
	.cruise_offers_standard img.imagebox_4 {  grid-column: 2;  grid-row: 2;}
	.cruise_offers_landingpage .image_grid {  flex-direction: row; }
}

/* Bildaufteilung 3 nebeneinander */
@media screen and (min-width: 350px) and (max-width: 549px) {		
	.cruise_offers_standard img.imagebox_4 { display: none; }  
	.cruise_offers_standard .image_grid { grid-template-columns: 1fr 1fr 1fr;  }
	.cruise_offers_standard img.imagebox_1 {    grid-column: 1;    grid-row: 1;  }
	.cruise_offers_standard img.imagebox_2 {     grid-column: 2;     grid-row: 1;  }
	.cruise_offers_standard img.imagebox_3 {    grid-column: 3;     grid-row: 1;  }
	.cruise_offers_landingpage .image_grid {  flex-direction: row; }
}


/* Bildaufteilung 1 1 2 */
@media screen and (min-width: 550px) and (max-width: 1199px) {	
	.cruise_offers_standard .image_grid {         grid-template-columns: 1fr 1fr ;  }
	.cruise_offers_standard img.imagebox_1 {    grid-column: 1 / span 2;    grid-row: 1;  }
	.cruise_offers_standard img.imagebox_2 {    grid-column: 1 / span 2;    grid-row: 2;  }
	.cruise_offers_standard img.imagebox_3 {    grid-column: 1;    grid-row: 3;  }
	.cruise_offers_standard img.imagebox_4 {    grid-column: 2;    grid-row: 3;  }
	.cruise_offers_landingpage .image_grid {  flex-direction: column; }
	.cruise_offers_preisalarm .image_grid {  flex-direction: column; }
	.cruise_offers_preisalarm img { max-width: 100px; }
}


/* Bildaufteilung 1 3 */
@media screen and (min-width: 1200px) {
	.cruise_offers_standard .imageCol {    margin-top: 0;  }
	.cruise_offers_standard .image_grid {        grid-template-columns: 1fr 1fr 1fr;  }
	.cruise_offers_standard img.imagebox_1 {    grid-column: 1 /span 3;         grid-row-start: 1;  }
	.cruise_offers_standard img.imagebox_2 {    grid-column: 1;    grid-row: 2;  }
	.cruise_offers_standard img.imagebox_3 {     grid-column: 2;    grid-row: 2;  }
	.cruise_offers_standard img.imagebox_4 {     grid-column: 3;    grid-row: 2;  }
	.cruise_offers_landingpage .image_grid {  flex-direction: row; }
	.cruise_offers_preisalarm .image_grid {  flex-direction: row; }
}
 
 

.content_bottom_links {
	margin-bottom: 10px;
	margin-top: 30px;
}

.content_bottom_links h3 {
	color: var(--color-page-active-dunkelblue);
	letter-spacing: -0.5px;
	font-weight: 600;
	font-size: 24px;
	margin: 0;
}

.top_links_bottom {
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 10px;
}
.top_links_bottom ul {
	margin-top: 5px;
}
.top_links_bottom li {
	list-style: none;
	margin-left: -12px;
}
@media screen and (max-width: 1049px) {
	.top_links_bottom { flex-wrap: wrap; }
	.top_links_bottom .einzelkasten h3 { font-size: 18px; }
}
@media screen and (max-width: 749px) {
	.top_links_bottom { flex-wrap: wrap; }
	.top_links_bottom .einzelkasten { width: 50%; }
}

.listeweiterbutton:hover {
	background-color: #f26536;
}
.listeweiterbutton {
	border: 3px solid #ffffff;
	box-shadow: 0 0 10px 2px #cccccc;
	font-size: 16px;
	line-height: 26px;
	margin-top: 6px;
	margin-bottom: 10px;
	padding: 8px 17px;
	background-color: #ec4a14;
	border-radius: 5px;
	color: white;
	cursor: pointer;
	font-weight: bold;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	text-align: center;
	display: block;
	width: 230px;
	margin-right: auto;
	margin-left: auto;
	transition: 0.5s all;
	font-family: Roboto, Barlow, Arial, sans-serif; 	
}
input.hidden_field { color: #000; width: 80px; font-size: 12px; }

/* Alte Gallery Slider (z.B. Arosa) */
.content_editorial .kategorieredaktion ul#lightgallery {	margin: 0;	padding: 0;}
.content_editorial .kategorieredaktion ul#lightgallery li {	list-style-type: none;}
.content_editorial .kategorieredaktion ul#lightgallery img {	width: 100%;}

@media screen and (min-width: 750px) {
	.content_editorial .kategorieredaktion ul#lightgallery li  {		width: 32%;		float: left; padding-left: 5px;	}
}

@media screen and (max-width: 749px) {
	.list_cruise_single, .search_listheader, .link_kreuzfahrt_suchformular_mobile {	border-radius: 0; }
	/*.header_teaser_image .big_header_image {	border-radius: 0; }	
	.header_teaser_image .header_teaser_image_2 {	border-radius: 0; }	*/
}

/* Filter Links */
.filter_links_box.main {
	font-size: 14px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 5px;
	padding-bottom: 5px;
	width: 100%;
	justify-content: start;
}
.filter_links_box.zusammenfassung {
	display: flex;
	gap: 5px;
	width: 100%;
	flex-direction: row;
	justify-content: end;
	padding-bottom: 5px;
}
	

@media screen and (max-width: 749px) {
	.app_frontend .filter_links_box { background: var(--color-page-active-dunkelblue); padding-left: 5px; padding-right: 5px; flex-wrap: nowrap; overflow: hidden; }
}

.filter_element {
	display: inline-block;
	border: 1px solid #d4dce6;
	padding: 5px 5px 5px 18px;
	margin: 0;
	max-width: 500px;
	cursor: pointer;
	overflow: hidden;
	opacity: 1;
	background: #e3eaf2;
	position: relative;
	white-space: nowrap;
	height: 32px;
}

.app_frontend .filter_links_box .filter_element { border-radius: 7px; }
.app_frontend .filter_links_box .filter_moredotsoverlay { 
	width: 7px;
	  padding: 5px 0px;
	  position: absolute;
	  right: 0;
	  z-index: 2;
	  background: var(--color-page-active-dunkelblue);
	  height: 34px;
	  top: 0;
}

.app_frontend .filter_links_box .filter_moredots { 
	width: 30px;
	  min-width: 20px;
	  text-align: center;
	  padding: 5px 0px;
	  position: absolute;
	  right: 5px;
	  z-index: 3;
	  outline: 2px solid var(--color-page-active-dunkelblue);
	  background: #597db5;
	  color: #fff;
	  border: 1px solid #a1b9df;
}

@media screen and (max-width: 749px) {
	.app_frontend .filter_link.verbergen {  display: none; }
	.app_frontend .filter_links_box .filter_link { flex-shrink: 1; min-width: 60px; } 
}
@media screen and (min-width: 750px) {
	.app_frontend .filter_link.verbergen { }
	.app_frontend .filter_all { display: none; }
	.app_frontend .filter_more { display: none; }
	.app_frontend .filter_moredots { display: none; }
	.app_frontend .filter_element { background: #fff; }
	.app_frontend .filter_links_box .filter_moredotsoverlay { display: none; }
}

.filter_pin, .filter_all, .filter_more, .filter_sort {  padding: 5px 10px;  }
.filter_pin { margin-left: auto; }
.filter_links_box.main .filter_sortform { margin-left: auto; }
.app_frontend .filter_pin { display: none; }
.filter_sort { max-width: 205px; }

.sortier_select_feld select { display: block; }
.app_frontend .sortier_select_feld { position: relative; }
.app_frontend .sortier_select_feld select { padding-left: 30px; font-weight: bold; color: var(--color-page-active-blue);  }
.app_frontend .sortier_select_feld::before { 
	content: "\f0dc";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute; 
	color: var(--color-page-active-blue);
	top: 50%;
	transform: translateY(-50%);
	left: 10px;
	font-size: 25px;
	z-index: 5;
}

@media screen and (max-width: 349px) {
	.filter_sort { max-width: 150px; }
}

.filter_link::before {
	content: "\f00d";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	float: left;
	padding-right: 5px;
	font-size: 14px;
	position: absolute;
	left: 4px;
	line-height: 20px;
	color: #333;
}

	
.filter_all, .filter_more, .filter_sort {
	background: #eee;
	color: var(--color-page-active-blue);
	font-weight: bold;
}  
.filter_all:hover {
	background: #eee;
}  
.filter_link:hover {
	background: #eee;
}


.filter_link.removed {
	max-width: 0px;
	transition: max-width 0.2s ease-out, padding 0.1s linear 0.2s, margin 0.1s linear 0.2s, border-width 0.1s linear 0.3s;
	padding: 3px 0 3px 0;
	margin: 0 0 5px 0;
	border-width: 0;
}


/************************************************************************************************************************************************************************************************************************/
/* xox: Kreuzfahrt_Detailansicht (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/

.pagetemplate_cruisedetail h3 {
	/* padding: 0px 10px; */
}

.content_cruise_detail {
	width: 100%;
}

/* Breadcrumps */
.cruise_detail_breadcrumbs {
	padding: 0px 0 0 0;
	display: flex;
}
@media screen and (max-width: 749px) {
	.cruise_detail_breadcrumbs {   display: inline;	 }
	.cruise_detail_breadcrumbs .cruisename {   display: none;	 }
}
@media screen and (max-width: 449px) {
	.cruise_detail_breadcrumbs {   display: none;	 }
}


.cruise_detail_breadcrumbs span {
	display: inline-block;
	font-size: 14px;
	max-height: 40px;
}

.cruise_detail_breadcrumbs span:not(:last-of-type)::after {
	font-family: 'Font Awesome 5 Free';
	content: "\f101";
	margin: 0 10px 0 10px;
	color: var(--color-page-active-dunkelblue);
	font-weight: 600;
}

.cruise_detail_breadcrumbs a {
	color: var(--color-page-active-dunkelblue);
}
.cruise_detail_breadcrumbs a:hover {
	color: var(--color-page-active-dunkelblue);
}



/* Anker Navigation Bar auf Detail Seite */
.anchor_navigation  {
	background: var(--color-page-active-hellhellblue);
	margin-bottom: 10px;
	display: flex;
	width: 100%;
	overflow: hidden;
	box-shadow: 0px 0px 5px #00000020;
	justify-content: space-between;
}

.anchor_navigation .anchor_navigation_item {
	font-size: 12px;
	padding: 0;
	text-align: center;
	flex: 1;
}

.app_frontend .anchor_navigation .anchor_navigation_item { font-size: 18px; font-weight: bold; text-shadow: unset; background: unset; }
.app_frontend .anchor_navigation .anchor_navigation_item .fas  { font-size: 28px; top: 3px; position: relative; }
.app_frontend .anchor_navigation { background: var(--color-background-app-header); }
.web_frontend .anchor_navigation { border-radius: 6px; }
	
.anchor_navigation .anchor_navigation_item a {
	color: #fff;
	width: 100%;
	display: inline-block;
	line-height: 40px;
	text-shadow: 1px 1px 5px #0000001f, 1px -1px 5px #0000001f, -1px 1px 5px #0000001f, -1px -1px 5px #0000001f;
	margin: 0 3px;
}

.web_frontend .anchor_navigation .anchor_navigation_item.active a { background: var(--color-page-active-hellgraublue); }
.web_frontend .anchor_navigation .anchor_navigation_item a:hover {  background: var(--color-page-active-hellgraublue); }
.app_frontend .anchor_navigation .anchor_navigation_item.active a { background: #0004; }
.app_frontend .anchor_navigation.item_uebersicht  { display: none; }
.app_frontend .anchor_navigation_item.link_uebersicht { max-width: 40px; justify-content: center; display: flex;  align-items: center; }

.navigation_target {
	height: 1px;
	width: 1px;
	position: relative;
	top: -78px;
}
#uebersicht.navigation_target { top: -120px; }

@media screen and (min-width: 450px) {
	.anchor_navigation .anchor_navigation_item {  font-size: 17px; }
}

@media screen and (min-width: 750px) {
	.anchor_navigation .anchor_navigation_item { font-size: 20px;  }
	.web_frontend .anchor_navigation .anchor_navigation_item { min-width: 120px;	}	
	.app_frontend .anchor_navigation { border-radius: 10px; border: 3px solid var(--color-background-app-header-kante); }
}

@media screen and (max-width: 749px) {
	.app_frontend .anchor_navigation { border-radius: 0;  border-top: 3px solid var(--color-background-app-header-kante);  border-bottom: 3px solid var(--color-background-app-header-kante); border-left: 0; border-right: 0; }
}



/* Anker Navigation Bar mit einzelnen Buttons auf Hotelreise Detail Seite */
.anchor_nav_responsive  {
	margin-top: 20px;
	margin-bottom: 10px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
}

@media screen and (min-width: 750px) {
	.anchor_nav_responsive.uebersicht  {
		margin-top: 0;
	}
}

.anchor_nav_responsive .anchor_nav_responsive_item {
	padding: 0;
	text-align: center;
	width: 33%;
}
	
.anchor_nav_responsive .anchor_nav_responsive_item a {
	font-family: 'Open Sans', Arial, sans-serif;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	font-size: 20px;
	font-weight: normal;
	text-shadow: 0px 0px 4px #0007;
	padding: 10px 0;
	display: inline-block;
	width: 100%;
	background: #4aaee8;
	border-radius: 7px;
}

.anchor_nav_responsive .anchor_nav_responsive_item.active a {
	background: #0381ca;
}

.anchor_nav_responsive .anchor_nav_responsive_item a:hover {
	background: #0381ca;
}


@media screen and (min-width: 750px) {
	.anchor_nav_responsive .anchor_nav_responsive_item {
		display: none;
	}
	.anchor_nav_responsive .anchor_nav_responsive_item.active {
		display: inherit;
		width: calc(100% + 20px);
		text-align: left;
		margin-left: -10px;
		margin-right: -10px;
	}
	.anchor_nav_responsive .anchor_nav_responsive_item.active a {
	  font-weight: normal;
	  padding: 10px 0;
	  display: inline-block;
	  border-radius: 0;
	  padding-left: 20px;
	  background: #eaf0e1;
	  color: #333; 
		text-shadow: none;
		font-weight: bold;
		cursor: default;
	}
}




/* Layout Bild/Vorteile/Einleitungstext */
.web_frontend .detail_page_intro_layout {
	margin-top: 10px;
}

.detail_page_intro_layout .detail_page_media_area_2 {
	overflow: hidden;
	padding: 0;
}

@media screen and (max-width: 749px) {
	.app_frontend .detail_page_intro_layout .detail_page_media_area_2 {
		margin-left: -10px;
		margin-right: -10px;
		margin-top: -1px;
		width: calc(100% + 20px);
	}
}

.detail_page_intro_layout .detail_page_media_area_2 ul {
	margin-top: 0;
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0;
	-webkit-user-select: none;
	 -moz-user-select: none;
	  -ms-user-select: none;
	      user-select: none;
	margin-bottom: 0;
	cursor: -webkit-grab;
	cursor: grab;
}



.detail_page_intro_layout .detail_page_media_area_2 ul li {
	width: 100%;
	flex-grow: 0;
	flex-shrink: 0;
	max-height: 376px; 
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
/* Hinweis:  max-height: stand mis 11.01.2023 auf 336. Das ergab ein Seitenverhältnis von 1,666. Da die Bilder auf 1.5 formatiert werden, wurde die Box entsprechend geändert. Gleiches bei den Vorschaubildern darunter. */

.detail_page_intro_layout .detail_page_media_area_2 ul.lightbox_slider_big  img {
	width: 100%;
	height: auto;
}

.detail_page_intro_layout .detail_page_media_area_2 ul.slidernavigation {
	margin-top: 5px;
	-webkit-transition-duration: 300ms;
	      transition-duration: 300ms;
	-webkit-transition-timing-function: ease;
	      transition-timing-function: ease;
	cursor: pointer;
	align-items: flex-start;
}

.detail_page_intro_layout .detail_page_media_area_2 ul.slidernavigation li {
	margin-right: 5px;
	width: calc((100% / 6) - 4px);
	max-height: 59px;
	display: flex;
	justify-content: center;
	overflow: hidden;
	align-items: center;
}

.detail_page_intro_layout .detail_page_media_area_2 ul.slidernavigation img {
	width: 100%;
	height: auto;
}


.detail_page_intro_layout .textArea h3 {
	letter-spacing: initial;
	margin: 0 0 10px;
}



.detail_page_intro_layout .steckbrief_cruise {
	padding: 10px 0 10px 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: relative;
}

.detail_page_intro_layout .detail_page_media_area_2, 
.detail_page_intro_layout .steckbrief_cruise, 
.detail_page_intro_layout .steckbrief_textarea {
	width: 100%;
	float: left;
}

.cruise_detail_leistungen, .detail_page_intro_layout, .detailansicht_text {
	overflow: hidden;
}

@media screen and (min-width: 750px) {
	.detail_page_intro_layout .detail_page_media_area_2, 
	.detail_page_intro_layout .steckbrief_cruise {
		width: 50%;
	}
	.detail_page_intro_layout .steckbrief_cruise {
	  padding: 10px 0 0 15px;
	}
	.detail_page_intro_layout .steckbrief_textarea {
		padding: 10px 0 20px 0;
	}	
}



/* Icons */
.iconBullet {
	margin-top: 0;
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

.iconBullet .label_icon {
	display: none;
	width: 25px;
	vertical-align: top;
	padding-top: 3px;
	text-align: center;
}



.iconBullet span.labelDetails {
	display: inline;
	vertical-align: top;
}

.iconBullet .label_text {
	vertical-align: top;
}

.iconBullet .label_text a {
	color: var(--color-page-active-dunkelblue);
}



/* Deckplan */
.content_cruise_detail div.img_deckplan  {
	text-align:center;
	float: left;
	max-width: 20%;
	min-width: 14%;
	  padding-right: 5px;
}
.content_cruise_detail img.img_deckplan  {
	width: auto;
	max-width: 100%;
	max-height: 1000px;
}
.content_cruise_detail .img_deckplan p  {
	margin: 20px 0 0 0;
}
	

@media screen and (max-width: 1000px) {
	.content_cruise_detail div.img_deckplan  {
		max-width: 25%;
		min-width: 14%;	
	}
}	
@media screen and (max-width: 749px) {
	.content_cruise_detail div.img_deckplan  {
		max-width: 33%;
		min-width: 25%;	
	}
}	
@media screen and (max-width: 549px) {
	.content_cruise_detail div.img_deckplan  {
		max-width: 50%;
		min-width: 25%;
	}
}	
	
	
/* Logo */
.redereilogo {
	display: block;
	float: right;
	margin: 3px;
}

.redereilogo img {
	width: auto;
	height: auto;
	max-width: 200px;
	max-height: 100px;
	margin-top: -11px;
}

/* Text */
.textArea {
	font-size: 14px;
	line-height: 1.4;
	padding: 0;
}

.textArea h4 {
	margin: 0px;
	margin-bottom: 10px;
}


.row.textArea.blueBg {
	padding: 0;
}

/* Einzelne Textblöcke */
.topmerkmale,
.detailansicht_text,
.cruise_detail_schiff {
	font-size: 16px;
}

.zusatz_hinweis {
	margin: 10px 0 20px 0; 
	padding: 0;
	font-size: 11px;
	color: #888;
	hyphens: auto;
	text-align: justify;
}

.preise_container .zusatz_hinweis {
	 text-align: right; 
}


.cruise_detail_leistungen ul {
	padding-left: 20px;
	margin-top: 0px;
	margin-bottom: 15px;
}


.printButton {
	clear: both;
	float: right;
	font-weight: bold;
	padding: 0 10px;
	color: var(--color-page-active-dunkelblue);
	cursor: pointer;
	margin-bottom: 10px;
}

.datumv2 {
	font-size: 16px;
	text-align: left;
	padding-top: 10px;
	border-top: 1px dashed #ccc;
	font-weight: bold; 
	width: 100%;
}




/* steckbrief_textarea */
.steckbrief_textarea {
	font-size: 16px;
	padding: 0 0 10px 0;
	margin: 0;
	position: relative;
}
.steckbrief_textarea h3 {
	margin: 10px 0 5px 0;
}
.steckbrief_textarea h1 { 
	font-size: 24px;
	margin: 10px 0 5px 0;
}
.steckbrief_cruise {
	font-size: 16px;
	line-height: 1.4;
	position: relative;
}

.steckbrief_cruise h4 {
	margin: 0px;
}

.kf_detail_h1_oben {
	padding: 60px 10px 10px 10px;
	margin: -50px 0 0 0;
	background: var(--color-background-app-header);	
	color: #fff;
	border-bottom: 3px solid var(--color-background-app-header-kante);
	z-index: 1;
	position: relative;
	width: 100%;
}

@media screen and (max-width: 549px) {
	.kf_detail_h1_oben { font-size: 20px; }
}	
@media screen and (max-width: 849px) { 
	.kf_detail_h1_unten { display: none; }
}
@media screen and (min-width: 550px) and (max-width: 749px) {
	.kf_detail_h1_oben { font-size: 24px; }
}
@media screen and (min-width: 750px) and (max-width: 849px) {
	.kf_detail_h1_oben { margin: -50px -10px 10px -10px; width: calc(100% + 20px); font-size: 24px; }
}
@media screen and (min-width: 850px) {
	.kf_detail_h1_oben { display: none; }
}


.app_frontend .steckbrief_cruise .zusammenfassung { display: none; }

/* Preis */
.preis_cruise {
	text-align: right;
	margin-top: -12px;
	width: 100%;
	z-index: 1;
}

.preis_cruise .preis_gross {
	float: right;
	width: 100%;
	line-height:1; 
}
.preis_cruise .preis_gross p {
	margin: 0; 
	font-size: 16px;
}
.preis_cruise .preis_klein {
	float: right;
	width: 100%;
	line-height:1; 
	margin-right: 20px; 
	padding-bottom: 10px;
}
.preis_cruise .preis_klein p {
	margin: 0; 
	font-size: 13px;
}


@media screen and (max-width: 849px) {
	.app_frontend .preis_cruise .preis_klein,
	.app_frontend .preis_cruise .preis_gross { 
		display: flex; 
		justify-content: end;
		gap: 5px;
	}
	.app_frontend .preis_cruise .preis_klein p { padding-top: 13px; }
	.app_frontend .preis_cruise .preis_gross p { padding-top: 34px; }
}
	
@media screen and (max-width: 749px) {
	.app_frontend .steckbrief_cruise .zusammenfassung 	{ order: 1; }
	.app_frontend .steckbrief_cruise .iconBullet 		{ order: 2; }
	.app_frontend .steckbrief_cruise .preis_cruise 		{ order: 3; }
	.app_frontend .steckbrief_cruise .vorteile_gruen 	{ order: 4; }
	.app_frontend .steckbrief_cruise .detail_page_intro_layout .steckbrief_cruise { gap: 0; }
	.app_frontend .steckbrief_cruise .iconBullet .label_text { font-weight: bold; }
	.app_frontend .steckbrief_cruise .steckbrief_textarea { padding-top: 20px; }
	
}

.preis_cruise .aktiver_preis {
	font-weight: bold; 
	text-decoration:none; 
	color: var(--color-page-active-blue); 
	display:inline-block;
	overflow: hidden;
}

.preis_cruise .preis_gross .aktiver_preis {
	font-size: 60px; 
}
.preis_cruise .preis_klein .aktiver_preis {
	font-size: 30px; 
}

@media screen and (max-width: 849px) { 
	.preis_cruise { margin-top: 0; }
}
	

/* Sonderaktion mit Streichpreis */
.preis_cruise .preis_klein a.sonderaktion_streichpreis,
.preis_cruise .preis_gross a.sonderaktion_streichpreis {
	font-weight: normal; 
	color: #ce7979; 
	letter-spacing: -2px;
	position: relative;	
	display: inline-block;
	overflow: hidden;
}
.preis_cruise .preis_gross a.sonderaktion_streichpreis {
	font-size: 50px; 
	padding: 0 15px 0 5px;	
}
.preis_cruise .preis_klein a.sonderaktion_streichpreis {
	font-size: 30px;
	padding: 0 15px 0 5px;	
}

.preis_cruise .preis_klein .streichstrich,
.preis_cruise .preis_gross .streichstrich {
	font-weight: bold;
	position: absolute;
	color: #b70000;
	transform: rotate(-10deg);
}
.preis_cruise .preis_klein .streichstrich {
	font-size: 45px;
	left: -3px;
	bottom: 15px;
}
.preis_cruise .preis_gross .streichstrich {
	font-size: 80px;
	left: -12px;
	bottom: 22px;
}
.preis_cruise.sonderaktion_anwenden .aktiver_preis {
	color: #d51313;
}
.preis_cruise .preis_payback_detailseite {
	float: right;
	width: 100%;
}
.preis_cruise .preis_payback_detailseite img {
	width:150px; 
	margin-left: 10px;
}


/* Promotion Hinweis */
.action_add_salehinweis_detailseite {
	background: #ec4a14; border: 2px dotted #9b2700; text-align: center; color: #ffffff; font-weight:bold; padding: 10px;  font-size: 21px; margin-bottom: 10px;
}

.action_add_salehinweis_detailseite .title {
	font-size: 24px; 
	display: block;
}
.action_add_salehinweis_detailseite .klein1 {
	font-size: 16px; 
	display: block;
}
.action_add_salehinweis_detailseite .klein2 {
	font-size: 14px; 
	font-weight: normal;
	display: block;
}


/* hotel */
.cruise_detail_hotel  {
	padding-bottom: 15px;
}

.cruise_detail_hotel .hotel_zeile {
	display: block;
	margin-top: 15px;
}
.cruise_detail_hotel .hotel_titelzeile {
	margin-top: 15px;
	display: block;
}

.cruise_detail_hotel .foto_links {
	width: 100%;
}
.cruise_detail_hotel .hotel_contentrechts {
	width: 100%;
}

.cruise_detail_hotel .hotel_title {
	padding: 0;
	margin: 0;
	width: 100%;
}
.cruise_detail_hotel .hotel_zeile .hotel_title {
	display: none;
}
.cruise_detail_hotel .hotel_title .sterne {
	position: relative;
	bottom: 5px;
	font-size: 12px;
	color: var(--color-page-active-dunkelblue);
	white-space: nowrap;
}
.cruise_detail_hotel .hotel_title .hotel_name {
	margin-right: 5px;
}
.cruise_detail_hotel .hotel_preis {
	font-size: 24px;
	font-weight: bold;
	color: var(--color-page-active-dunkelblue);
	text-align: right;
}
.cruise_detail_hotel .hotel_preis i {
	font-size: 15px;
	font-style: normal; 
	font-weight: normal;
	color: #333;
}
.cruise_detail_hotel .hotel_zeile .hotel_sub_title {
	font-size: 16px;
	display: none;
}
.cruise_detail_hotel .text_einleitung {
	margin-top: 10px;
}
.cruise_detail_hotel .hotel_contentzeile {
	display: flex;
	padding-top: 10px;
}
.cruise_detail_hotel .title_zusatzinfo {
	font-weight: bold;
	margin-top: 10px;
}
.cruise_detail_hotel .text_allgemein h1,
.cruise_detail_hotel .text_allgemein h2,
.cruise_detail_hotel .text_allgemein h3,
.cruise_detail_hotel .text_allgemein h4,
.cruise_detail_hotel .text_allgemein h5 {
	color: #333;
	font-size: 16px;
}


.cruise_detail_hotel .top_merkmale ul li::before {
	font-family: 'Font Awesome 5 Free';
	content: "\f00c";
	font-weight: bold;
	position: relative;
	float: left;
	padding: 4px 0 0 0;
	line-height: 14px;
	width: 23px;
	text-align: center;
	margin-left: -25px;
}
.cruise_detail_hotel .top_merkmale ul {
	list-style: none;
	margin: 5px 0 5px 25px;
	padding: 0;
	font-weight: bold;
}

@media screen and (min-width: 750px) {
	.cruise_detail_hotel .hotel_titelzeile { display: none; }
	.cruise_detail_hotel .hotel_zeile .hotel_title, .cruise_detail_hotel .hotel_zeile .hotel_zeile .hotel_sub_title { display: block; }
	.cruise_detail_hotel .hotel_preis { float: right; }
	.cruise_detail_hotel .hotel_zeile { display: flex; }
	.cruise_detail_hotel .foto_links {	width: 30%; padding-right: 10px; }
	.cruise_detail_hotel .hotel_contentrechts { width: 70%; }
	.cruise_detail_hotel .hotel_title .sterne { bottom: 5px; font-size: 16px; }
	
	.cruise_detail_hotel .hotel_zeile.kleiner .foto_links {	width: 20%; }
	.cruise_detail_hotel .hotel_zeile.kleiner .hotel_contentrechts { width: 80%; }
}

/* Termintable */
.cruise_detail_termin_table {
	display: flex;
	flex-direction: column; 
	gap: 7px;
	font-size: 16px;
}

.cruise_detail_termin_table .kategorien {
	display: flex;
	flex-direction: row;
}

.cruise_detail_termin_table .terminbox1 {
	line-height: 20px;
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 7px;
}
.cruise_detail_termin_table .terminbox2 {
	line-height: 20px;
	display: flex;
	flex-direction: row;
	width: 100%;
}
.cruise_detail_termin_table .terminbox_linke_spalte {
	width: 25%;
	padding-left: 10px;
}
.cruise_detail_termin_table .preise_tabelle {
	width: 75%;
	display: flex;
	gap: 7px;
	justify-content: space-around;
}
.cruise_detail_termin_table .preismatrix_preisfeld, 
.cruise_detail_termin_table .kabine_typ {
	text-align: center;
}

.cruise_detail_termin_table .cab_type_in_table {
	display: none;
	font-weight: bold; 
	text-shadow: 0px 0px 4px #0008;
}

.cruise_detail_termin_table .preismatrix_preisfeld {
	float: left;
	display: block;
	color: #aacaaa;
	width: 100%;
}


.btn.btn-price .preis_pp {
	font-size: 10px;
	font-weight: normal;
}

.btn.btn-price {
	font-size: 18px;
	width: 100%;
	line-height: 20px;
	border-radius: 8px;
	padding: 5px 0px;
	text-align: center;
	border: 1px solid #296329;
	display: inline-block;
}

.btn.btn-price.available {
	background: var(--color-button-selected);
	border-color: #296329;
	color: #eee;
}
.btn.btn-price.available .streichpreis {
	text-decoration: line-through 2px #ffb8b8;
	color: #eee;
	padding: 0 0 0 5px;
}
.terminbox1 .btn.btn-price.available .aktiverpreis {
	font-weight: bold;
	text-shadow: 0px 0px 4px #0008;
	padding: 0 0 0 5px;
}
.terminbox1.sonderaktion_anwenden .btn.btn-price.available .aktiverpreis {
	color: #ffb8b8;
	text-shadow: 0px 0px 4px #000;
}

.btn.btn-price.available:hover {
	background: #52aa52;
	border-color: #3a7b3a;
}

.btn-group .btn.btn-price, 
.btn.btn-price.btn-sold-out {
	background: #99a299;
	border-color: #757e75;
	color: #eee;
	line-height: 21.5px;
}


.cruise_detail_termin_table .terminbox_linke_spalte {
	line-height: 20px;
	display: flex;
	align-items: start;
 justify-content: start;
	 flex-direction: column;
}


.cruise_detail_termin_table .terminbox_linke_spalte .termin_hinweis {
	display: block;
	line-height: 1;
	color: #8c8c8c;
	margin-top: -1px;	
	font-size: 14px;
}

.content_cruise_detail .button_wrapper { margin: 15px 0 10px 0 !important; }

@media screen and (max-width: 949px) {
	.cruise_detail_termin_table .terminbox_linke_spalte {   width: 25%; }
	.cruise_detail_termin_table .preise_tabelle {   width: 75%; }
}
@media screen and (max-width: 849px) {
	.cruise_detail_termin_table .terminbox_linke_spalte {   padding-left: 0; }
}
@media screen and (max-width: 749px) {
	.cruise_detail_termin_table .kategorien { display: none; }
	.cruise_detail_termin_table .terminbox2 {  flex-direction: column; }
	.cruise_detail_termin_table .preise_tabelle, .cruise_detail_termin_table .terminbox_linke_spalte {  width: 100%; }
	.cruise_detail_termin_table .terminbox_linke_spalte { margin-top: 10px; margin-bottom: 10px; justify-content: center;  }
	.cruise_detail_termin_table .cab_type_in_table { display: block;  }
}
@media screen and (max-width: 449px) {
	.cruise_detail_termin_table .preise_tabelle {  flex-direction: column; }
	.cruise_detail_termin_table .preise_tabelle .preismatrix_preisfeld  {  width: 100%; } 
	.cruise_detail_termin_table { padding: 0 10px; }
	.cruise_detail_termin_table .cab_type_in_table { display: inline; }
}


/* schiffsbeschreibung */
.schiffsbeschreibung .fa-star {
	color: #555;
}

.schiffsbeschreibung .steckbrief_schiff {
	display: flex;
	flex-wrap: wrap;
	font-size: 16px;
}

.schiffsbeschreibung .bewertungen_schiff {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 15px;
}
.schiffsbeschreibung .steckbrief_item {
	flex: 1 1 calc(33.33% - 10px);
}


.bewertungen_schiff .rechts {
	display: flex;
	flex-direction: row;
	gap: 15px;
	margin-top: 5px;
}

.bewertungen_schiff .rechtssub {
	display: flex;
	gap: 15px;
	flex-direction: column;
}
.schiffsbeschreibung .hinweis {
	margin-top: 20px;
	font-size: 9px;
	color: #888;
	line-height: 1.4;
}

.premium_content_editorial .schiffsbeschreibung .hinweis { font-size: 10px; }
.premium_content_editorial .schiffsbeschreibung  { margin-bottom: 30px; }


@media screen and (max-width: 1000px) {
	.schiffsbeschreibung .steckbrief_item {
	    flex: 1 1 calc(50% - 10px); /* 2-spaltig */
	}
}

@media screen and (max-width: 600px) {
	.schiffsbeschreibung .steckbrief_item {
	    flex: 1 1 100%; /* 1-spaltig */
	}		
}
@media screen and (max-width: 700px) {
	.bewertungen_schiff .rechts {
		flex-direction: column;	
		gap: 5px;
	}
	.bewertungen_schiff .rechtssub {
		gap: 5px;
	}		
}

@media screen and (max-width: 549px) {
	.schiffsbeschreibung .bewertungen_schiff {
		flex-direction: column;	
	}
	.bewertungen_schiff .rechts {
		padding-left: 10px;
	}
}





/* Archiv Cruise Detail */
.cruise_detail_archive h3  {
	margin: 40px 0 5px 0;
}

.cruise_detail_archive ul  {
	margin: 0 0 10px 0;
}

.cruise_detail_archive .ueberschrift_archiv  {
	margin: 0 0 10px 0;
}
.cruise_detail_archive .ueberschrift_archiv  {
	font-size: 25px;
}
.cruise_detail_archive .ueberschrift_archiv  {
	font-size: 25px;
}

.cruise_detail_archive .archiv_logo  {
	max-width: 100%;
	float: right;
	
}

.cruise_detail_archive .alternativ_reisen li,
.cruise_detail_archive .alternativ_reisen i,
.cruise_detail_archive .alternativ_reisen a {
	font-size: 17px;
	font-weight: bold; 
}
.cruise_detail_archive .alternativ_reisen a {
	text-decoration: underline;
}

@media screen and (min-width: 550px) {
	.cruise_detail_archive .alternativ_reisen li,
	.cruise_detail_archive .alternativ_reisen i,
	.cruise_detail_archive .alternativ_reisen a {
		font-size: 20px;
	}
	.cruise_detail_archive .ueberschrift_archiv  {
		font-size: 35px;
	}
	.cruise_detail_archive .archiv_logo  {
		height: auto; 
		width: auto; 
		max-width: 500px; 
		max-height: 300px; 
	}

}

 
/* Deckspläne neu 2026 */
.deckplan_container { 
	display: flex; 
	flex-direction: row;
	width: 100%;
	padding-bottom: 10px;
	gap: 20px;
}
.deckliste { 
	display: flex; 
	flex-direction: column;	
	min-width: 25%;
}

.liste_deckplan_button {
	background: #f4f4f4;
	color: var(--color-page-active-dunkelblue);
	padding: 10px 15px;
	cursor: pointer;
	border-radius: 10px;
	border: 1px solid #e8e8e8;
	font-weight: bold;
	display: flex;
	flex-direction: row;
	gap: 5px;
	position: relative;
	z-index: 5;
	font-size: 16px;
	white-space:nowrap;
}

.liste_deckplan_button.aktiv, 
.liste_deckplan_button:hover {
	background: #e8e8e8;
	border: 1px solid #e1e1e1;
}

@media screen and (max-width: 549px) { 
	.deckliste { padding-top: 20px;  gap: 10px; } 
	.deckliste.wenig_buttons { padding-top: 10vh;  gap: 15px; } 
	.deckliste.viele_buttons { padding-top: 10px;  gap: 5px; } 
	.deckliste.viele_buttons .liste_deckplan_button { padding: 7px 15px; } 
}
@media screen and (min-width: 550px) { 
	.deckliste { padding: 50px 0 0 20px; gap: 20px; }
	.deckliste.viele_buttons .liste_deckplan_button { padding: 10px 20px; } 
}



.decksingle { 
	width: 50%;
	position: relative;
	min-height: 85vh;
	height: 85vh;
}
.imgfull_deckplan { 
	position: absolute; 
	top: 0; 
	left: 0; 
}

@media screen and (min-width: 750px) {
	.imgfull_deckplan { left: 20%; }
}

.decksingle .imgfull_deckplan { display: none; }
.deckplaene_synchron .decksingle .imgfull_deckplan.hintergrund img {	filter: saturate(10%) contrast(5%) brightness(190%); display: flex; 	}
.deckplaene_synchron .decksingle .imgfull_deckplan.hintergrund { display: flex; }
.decksingle .imgfull_deckplan.aktiv {	display: flex; }

@media screen and (min-width: 550px) {
	.web_frontend .img_imgfull_deckplan { height: 95vh; max-height: 95vh; width: auto;   }
	.app_frontend .img_imgfull_deckplan { height: 85vh; max-height: 85vh; width: auto;   }	
}
@media screen and (max-width: 549px) {
	.web_frontend .img_imgfull_deckplan { height: 95vh; max-height: 95vh; width: auto;   }
	.app_frontend .img_imgfull_deckplan { height: 85vh; max-height: 85vh; width: auto;   }
}                                                                                       



.deckplan_version { display: none; }
@media screen and (max-width: 749px) {
	.deckplan_version.deckplan_selector_smartphone { display: block; }
}

@media screen and (min-width: 750px) {
	.deckplan_version.deckplan_selector_desktop { display: block; }
}


/* Slider mit Image Gallery */
.kreuzfahrt_detail_gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
}
.kreuzfahrt_detail_gallery .swipe_gallery_track { gap: 5px; flex-shrink: 0; }

.kreuzfahrt_detail_gallery_img {
	width: 100%;
	vertical-align: middle;
	aspect-ratio: 750 / 450;
    object-fit: cover;
}

@media screen and (min-width: 1000px) {
	.kreuzfahrt_detail_gallery .item_single { width: 1020px;	}	
}
@media screen and (min-width: 750px) and (max-width: 999px) {
	.kreuzfahrt_detail_gallery .item_single { 		width: 90vw;	}
}
@media screen and (min-width: 550px) and (max-width: 749px) {
	.kreuzfahrt_detail_gallery .item_single { 		width: 90vw;	}
}
@media screen and (min-width: 450px) and (max-width: 549px) {
	.kreuzfahrt_detail_gallery .item_single { 		width: 85vw;	}
}
@media screen and (max-width: 449px) {
	.kreuzfahrt_detail_gallery .swipe_gallery_track { gap: 2px; }
	.kreuzfahrt_detail_gallery .item_single { 		width: 85vw;	}
}	

@media screen and (max-width: 549px) {
	.app_frontend .kreuzfahrt_detail_gallery .item_single { 		width: 96vw;	}
}



/* Detailansicht Listheader in KF Listen */
.routenpic {
	margin-left: auto;
	margin-right: auto;
	display: block;
	margin-bottom: 10px;
	width: 100%;
}

.route_listheader {
	margin-bottom: 10px;
	background-color: #d7e8f0;
	font-size: 20px;
	color: var(--color-page-active-dunkelblue);
	letter-spacing: -0.5px;
	font-weight: bold;
	justify-content: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.route_listheader select {
	padding: 5px 15px 5px 20px;
	height: 34px;
	font-size: 14px;
	font-weight: normal;
	background: #ffab14;
	cursor: pointer;
	color: #000;
	box-shadow: 0px 0px 5px #00000020;
	border-radius: 3px;
	outline: none;
	border: none;
	text-align: center;
	width: 350px; 
}


.route_listheader .datumselect {
	position: relative;
	padding: 5px;
}


@media screen and (max-width: 449px) {
	.route_listheader {	flex-direction: column;	font-size: 16px; } 
	.route_listheader select {	width: auto; } 
}


/* Routen Liste V2.0 */
.routentermin table {
	border-spacing: 2px;
	border-collapse: separate;
	border: 0px;
	margin-bottom: 20px;
	width: 100%;
	font-size: 10px;
	width: 95vw;
	margin-left: -5px;
}

.routentermin table th {
	background: #57a1c1;
	color: #fff;
	padding: 7px 0px 8px 5px;
	text-align: left;
}

.routentermin table td {
	padding: 5px;
	background: #fff;
	border: 0px;
}
.routemap_container .routemap {
	display: flex;
	align-items: center;
	flex-direction: column;
	margin-bottom: 10px;
}
.routemap_container .routemap.defaultbild  p {
	font-size: 12px;
}
.routemap_container .routemap img {
	max-width: 100%;
}
.routentermin.notshowing, .routemap.notshowing {
	display: none !important;
}

@media screen and (max-width: 749px) {
	.route_listheader, 
	.anchor_navigation.item_route,
	.routemap_container .routemap { margin-bottom: 0; }
}

/* Routen Liste V2.1 */
@media screen and (min-width: 850px) {
	.ausklapper_mobile {		display: none  !important;	}
	.content_cruise_detail .routentermin_container .ausklapper_mobile {		display: none  !important;	}
	.content_cruise_detail .routentermin_container .segmente_container.segmente_mobile {		max-height: 100009px !important;		opacity: 1  !important;	}
}
@media screen and (max-width: 849px) {
	.ausklapper_mobile {		display: none;	}
	.content_cruise_detail .routentermin_container .ausklapper_mobile .auf {		display: none;	}
	.content_cruise_detail .routentermin_container .segmente_container.segmente_mobile {		max-height: 0;		opacity: 0;	}
}

.content_cruise_detail .routentermin_container .ausklapper_longroute .auf {		display: none;	}
.content_cruise_detail .routentermin_container .segmente_container.segmente_longroute {		max-height: 0;		opacity: 0;	}

.content_cruise_detail .routentermin_container .segmente_container.segmente_longroute, 
.content_cruise_detail .routentermin_container .segmente_container.segmente_mobile {
	overflow: hidden;
	opacity: 1;
	transition: all 0.21s linear;
}
.content_cruise_detail .routentermin_container.hide_more .segmente_container.segmente_longroute, 
.content_cruise_detail .routentermin_container.hide_more .segmente_container.segmente_mobile {
	max-height: 0;
	opacity: 0;
	transition: all 0.21s linear;
}

.content_cruise_detail .routentermin_container.show_more .segmente_container.segmente_longroute, 
.content_cruise_detail .routentermin_container.show_more .segmente_container.segmente_mobile {
	max-height: 100009px;
	opacity: 1;
	transition: all 0.21s linear;
}
.content_cruise_detail .ausklapper_longroute,
.content_cruise_detail .ausklapper_mobile {
	width: 100%;
	height: 44px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #d7e8f0;
	cursor: pointer;
	margin-bottom: 10px;
	color: var(--color-page-active-dunkelblue);
	text-decoration: underline;
	font-weight: bold;
}



.content_cruise_detail .ausklapper_longroute .fas,
.content_cruise_detail .ausklapper_mobile .fas {
	text-decoration: none;
	margin-left: 10px;	
}
.content_cruise_detail .routentermin_container.show_more .ausklapper_longroute .zu,
.content_cruise_detail .routentermin_container.show_more .ausklapper_mobile .zu {
	display: none;
}
.content_cruise_detail .routentermin_container.show_more .ausklapper_longroute .auf,
.content_cruise_detail .routentermin_container.show_more .ausklapper_mobile .auf {
	display: block;
}
.content_cruise_detail .routentermin_container.hide_more .ausklapper_longroute .zu,
.content_cruise_detail .routentermin_container.hide_more .ausklapper_mobile .zu {
	display: block;
}
.content_cruise_detail .routentermin_container.hide_more .ausklapper_longroute .auf,
.content_cruise_detail .routentermin_container.hide_more .ausklapper_mobile .auf {
	display: none;
}




.content_cruise_detail .routentermin {
	display: flex; 
	flex-direction: column;
}

.content_cruise_detail .routentermin.notshowing {
	display: none;
}

.content_cruise_detail .routensegment {
	display: flex; 
	flex-direction: row; 
	padding-bottom: 10px;
	cursor: pointer;
}

.content_cruise_detail .routensegment .main_img  {
	width: 220px; 
	overflow: hidden;
	flex-shrink : 1; 
	flex-grow : 1; 
	transition: all 0.21s linear;
}
.content_cruise_detail .routensegment.show_more .main_img  {
	width: 0; 
	transition: all 0.51s linear;
}
.content_cruise_detail .routensegment .main_img img {
	width: 220px; 
}
.content_cruise_detail .routensegment.show_more .main_img  img {
	opacity: 0;
	transition: all 0.51s linear;
}
.content_cruise_detail .routensegment.hide_more .main_img  img {
	opacity: 1;
	transition: all 0.51s linear;
}
.content_cruise_detail .routensegment .segment_day {
	width: 100px; 
	display: flex; 
	flex-direction: row; 
	justify-content: center;
	font-weight: bold;
	padding: 20px 0px 20px 0;
}
	.content_cruise_detail .routensegment .segment_headerarea .seg_header_hafen {
		display: none;
	}
	.content_cruise_detail .routensegment .segment_description .seg_header_hafen {
		display: bold;
		font-weight: bold;
	}
	
.content_cruise_detail .routensegment .segment_headerarea {
	display: flex; 
	flex-direction: row;
	background: #d7e8f0;
}

.content_cruise_detail .routensegment .segment_description {
	display: flex; 
	flex-direction: column;
	padding: 0 0 0 10px;
	width: 100%;	
}
 


.content_cruise_detail .routensegment .seg_link_more {
	display: inline;
	cursor: pointer;
}
.content_cruise_detail .routensegment .seg_link_more .mehr {
	color: var(--color-page-active-dunkelblue);	
	text-decoration: underline;
	font-weight: bold;
}
.content_cruise_detail .routensegment.show_more .seg_link_more {
	transition: all 0.1s linear;
	max-height: 0px;
	opacity: 0;
}
.content_cruise_detail .routensegment.hide_more .seg_link_more {
	display: inline;
	 transition: all 0.1s linear;
	max-height: 3000px;
	opacity: 1;
}



.content_cruise_detail .routensegment .seg_text_2 {
	display: inline;
	overflow: hidden;
}
.content_cruise_detail .routensegment.show_more .seg_text_2 {
	 transition: all 0.51s linear;
	max-height: 3000px;
	opacity: 1;
}
.content_cruise_detail .routensegment.hide_more .seg_text_2 {
	 transition: all 0.51s linear;
	max-height: 0px;
	opacity: 0;
	display: none;
}


.content_cruise_detail .routensegment .seg_images {
	display: none;
	padding: 0;
	margin-right: -10px;
	max-height: 0px;
	overflow: hidden;
}
.content_cruise_detail .routensegment .seg_images img {
	width: 33.3%;
	padding-top: 10px;
	padding-right: 10px;
}


.content_cruise_detail .routensegment.show_more.ohne_text .seg_images {
	margin-top: -29px;
}
.content_cruise_detail .routensegment.hide_more.ohne_text .seg_images {
	margin-top: 0;
}

.content_cruise_detail .routensegment.show_more .seg_images {
	display: block;
	padding-top: 0;
	max-height: 3000px;
	 transition: all 0.51s linear, margin 0.15s linear;
	opacity: 1;	
	position: relative;
	z-index: 1;
}
.content_cruise_detail .routensegment.hide_more .seg_images {
	display: block;
	padding: 0;
	max-height: 0px;
	transition: all 0.51s ease-out, margin 0.1s 0.4s linear;
	opacity: 0;
}


@media screen and (max-width: 749px) {
	.content_cruise_detail .seg_images .hide_mobile {
		display: none;
	}
}

@media screen and (min-width: 750px) {
	.content_cruise_detail .seg_images .hide_desktop {
		display: none;
	}
}

/* Media Styles für Routenliste */

@media screen and (max-width: 749px) {	
	.content_cruise_detail .routensegment .main_img  {		width: 150px; 	}
	.content_cruise_detail .routensegment .main_img img {		width: 150px;	}
	.content_cruise_detail .routensegment .seg_images img {		width: 50%;	}
}


@media screen and (max-width: 549px) {
	.content_cruise_detail .routensegment {		flex-direction: column;	}	
	.content_cruise_detail .routensegment .main_img {		width: 100px;		max-width: 100px;	}
	.content_cruise_detail .routensegment .main_img img {		width: 100px;		height: 67px;	}
	.content_cruise_detail .routensegment .segment_day {		padding: 10px 5px 10px 10px;		flex-direction: row; gap: 5px; 		width: unset;	}	
	.content_cruise_detail .routensegment .segment_day .seg_header_tag::after {	content: ":"; 	}	
	.content_cruise_detail .routensegment.show_more .segment_day {  	}
	.content_cruise_detail .routensegment .segment_headerarea {		width: 100%;		}	
	.content_cruise_detail .routensegment .segment_description { padding: 10px 10px 0 10px;	}
	.content_cruise_detail .routensegment .segment_headerarea .seg_header_hafen {	display: inline;	}
	.content_cruise_detail .routensegment .segment_description .seg_header_hafen {		display: none;	}
	.content_cruise_detail .routensegment .seg_text_1 {		padding-top: 5px;	}
	.content_cruise_detail .routensegment {	  padding-bottom: 30px;	}	
	.content_cruise_detail .routensegment.show_more .main_img {		width: 0;		max-width: 0;	}	
	.content_cruise_detail .routensegment.show_more .main_img img {	  opacity: 1;	}		
	.content_cruise_detail .routensegment .seg_text_2, 
	.content_cruise_detail .routensegment .seg_images, 
	.content_cruise_detail .routensegment.hide_more .seg_text_2, 
	.content_cruise_detail .routensegment.hide_more .seg_images {	  transition: opacity 0.51s linear, max-height 0.51s linear;	}
	.content_cruise_detail .routensegment.show_more .seg_text_2, 
	.content_cruise_detail .routensegment.show_more .seg_images {	  transition: opacity 0.51s linear, max-height 2.51s linear;	}	
}






/* Weitere Media Styles */
@media screen and (min-width: 450px) {
	.textArea { font-size: 16px;  }
	.routentermin table { font-size: 10px;  }
}



@media screen and (min-width: 900px) {
	.iconBullet .label_icon { display: inline-block;	color: #888;  }
 	.iconBullet span { display: inline-block;	}
}


@media screen and (min-width: 550px) {
	.routentermin table {  font-size: 13px;  }
}

@media screen and (min-width: 750px) {
	.routenpic { width: auto;  }
	.routentermin table { border-spacing: 5px; width: 100%; margin-left: 0; font-size: inherit; }
	.routentermin td { padding: 10px 3px 10px 10px;  }
	.routentermin td { padding: 10px 5px 5px 10px;  }
	.button_wrapper { text-align: right;  }	
}


@media screen and (min-width: 750px) {
	.detail_page_intro_layout .iconBullet span.labelDetails { width: 100px;	display: inline-block;  }  
	.detail_page_intro_layout .iconBullet .label_text {	display: inline-block;	width: 62%;  }
}

.sections h1,
.sections h2 {
	color: #333333;
	font-size: 20px;
	margin-bottom: 5px;
	font-weight: bold;
}


/* Sonderdarstellung aktionen_rabatte */
.content_primary.aktionen_rabatte .detail_page_intro_layout .steckbrief_cruise,
.content_primary.aktionen_rabatte .slidernavigation, 
.content_primary.aktionen_rabatte .item_leistungen, 
.content_primary.aktionen_rabatte .cruise_detail_leistungen, 
.content_primary.aktionen_rabatte .preise_container, 
.content_primary.aktionen_rabatte .item_preise {
	display: none;
}


/* Startseite, Kategorie, Detail: Bilder bunter machen */
.detail_page_media_area_2 img, .offers_kategorie_liste .imagebox img, .offers_kategorie_liste img.cruise_offers_tiles_ship { filter: saturate(1.3); }



/************************************************************************************************************************************************************************************************************************/
/* xox: Sitemap_6702 (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/

.pagetemplate_sitemap .container_content {
}

.pagetemplate_sitemap .container_content h1 {
	font-size: 36px;
	color: var(--color-page-active-dunkelblue);
	letter-spacing: -0.5px;
	font-weight: 600;
}

.pagetemplate_sitemap .container_content h2 {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0;
}

.pagetemplate_sitemap .container_content ul {
	margin-top: 0;
	margin-bottom: 10px;
	list-style: none;
}

.pagetemplate_sitemap .container_content ul a:hover {
	text-decoration: underline;
}


.pagetemplate_sitemap .display_w750 .search_form_container.homepage { width: 100%; }
.pagetemplate_sitemap .display_w750 .header_teaser_image { display: none; width: 0; }



/************************************************************************************************************************************************************************************************************************/
/* xox: Sonstige Elemente (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/

.rechtenachweis img {
	max-height: 30px;
	max-width: 30px;
	height: auto;
	width: auto;
	
	top: -1px;
	position: relative;
	padding: 2px;
}

/************************************************************************************************************************************************************************************************************************/
/* xox: cms_minimum_template (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/

.cms_minimum_template .margins_page_column {
	margin-left: auto;
}

.cms_minimum_template .header_teaser_image h1 {
	padding-left: 20px;
}

.cms_minimum_template .content_cms {
	font-size: 20px;
}




/************************************************************************************************************************************************************************************************************************/
/* xox: simple_page_payone (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/
.content_simplepage {
	display: flex;
	justify-content: center;
}
.meldung_box {
	width: 100%;
	max-width: 800px;
	display: flex;
	margin: 100px 0 100px 0;
	border-radius: 10px;
	overflow: hidden;
}

.meldung_box.gruen {
	background: #008e10;
}
.meldung_box.rot {
	background: #df4949;
}
.meldung_box.blau {
	background: #5895b5;
}


.meldung_box .meldung_links {
	padding: 0px 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.meldung_box .meldung_links .fas  {
	font-size: 100px;
	color: #fff;
	margin: 0 20px 0 20px;
}
.meldung_box .meldung_rechts {
	margin: 10px 10px;
	display: flex;
	flex-direction: column;
	border-radius: 3px;
	overflow: hidden;
}
.meldung_box .meldung_head {
	padding: 0px 10px 0 20px;
	display: flex;
	font-weight: bold;
	font-size: 50px;
	background: #fff;
}
.meldung_box .meldung_p {
	padding: 0px 10px 0 20px;
	display: flex;
	font-weight: bold;
	font-size: 30px;
	background: #fff;
}

.meldung_box.gruen .meldung_head, .meldung_box.gruen .meldung_p {	color: #008e10; }
.meldung_box.rot .meldung_head, .meldung_box.rot	 .meldung_p {	color: #df4949; }
.meldung_box.blau .meldung_head, .meldung_box.blau .meldung_p {	color: #5895b5; }

@media screen and (max-width: 649px) {
	.meldung_box .meldung_links .fas {  font-size: 40px; }
	.meldung_box .meldung_head {  font-size: 30px; padding-left: 10px; }
	.meldung_box .meldung_p {  font-size: 16px; padding-left: 10px; font-weight: normal; }
	.meldung_box .meldung_links .fas  { margin: 0 10px 0 10px; }
	.meldung_box {	margin: 60px 0 60px 0;}
}


/************************************************************************************************************************************************************************************************************************/
/* xox: gutscheine  (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/
.gutscheinformular .ueberschrift { margin-top: 20px;margin-bottom: 0; padding-bottom: 10px; }
.gutscheinformular .ueberschrift.eng {  margin-bottom: 0; padding-bottom: 0; }
.gutscheinformular .fehler { font-weight: bold; color: #c00; }
.gutscheinformular { display: flex; flex-direction: column; padding: 10px; border: 1px solid #eee; border-radius: 10px; background: #f2f2f2; margin-top: 10px; }
.gutscheinformular h1 { margin-top: 10px; }
.cmspages125 ul, .cmspages124 ul { list-style: disc; padding-left: 1em; }
.cmspages125 li, .cmspages124 li  { line-height: 1.3;  padding-bottom: 12px; }
.cmspages125 .kategoriehead, .cmspages124 .kategoriehead  { border-radius: 10px; }


/************************************************************************************************************************************************************************************************************************/
/* xox: active_buttons  (KR = GR = MR) */
/************************************************************************************************************************************************************************************************************************/
.actionButtons {
	padding: 5px 0 10px 0;
	display: flex;
	justify-content: right;
	gap: 10px;
}

@media screen and (max-width: 649px) {
	.actionButtons .button_item .button .text  { display: none; }
	.actionButtons .button_item .button  { padding: 4px 11px; font-size: 19px;  } 
}

.actionButtons .button_item  {
	position: relative;
}
.actionButtons .button_item .button {
	background: #f4f4f4;
	color: var(--color-page-active-dunkelblue);
	padding: 3px 15px;
	cursor: pointer;
	border-radius: 10px;
	border: 1px solid #e8e8e8;
	font-weight: bold;
	display: flex;
	flex-direction: row;
	gap: 5px;
	position: relative;
	z-index: 5;
	font-size: 16px;
}

.actionButtons .button_item.show_window .button,
.actionButtons .button_item .button:hover {
	background: #e8e8e8;
	border: 1px solid #e1e1e1;
}
.actionButtons .button_item .button .icon {
	display: flex;
	align-items: center;
	padding: 0 5px;
}
@media screen and (max-width: 849px) {
	.actionButtons .button_item .button .icon { padding: 0 5px 0 5px; }
}
@media screen and (min-width: 850px) {
	.actionButtons .button_item .button .icon { padding: 0 0 0 10px; }
}


.actionButtons .button_item.button_aktiv .button {
	color: #0f820f;
}

.actionButtons .button_item .modal_container_1,
.actionButtons .button_item .modal_container_2 {
	display: none;
	position: fixed;
	left: 50%;
	transform: translate(-50%, 0);
	text-align: center;
	max-width: 100%;
}
.actionButtons .button_item .modal_container_1 {
	min-width: 630px;
	top: 200px;
}

.actionButtons .button_item .modal_container_2 {
	top: 330px;
}


.actionButtons .button_item .tooltip_container {
	display: none;
	padding: 10px 5px;
	position: absolute;
	right: -10px;
	top: 25px;
	z-index: 111;
} 

.actionButtons .button_item.show_window_2 .modal_container_2, 
.actionButtons .button_item.show_window>.modal_container_1,
.actionButtons .button_item.show_window .tooltip_container {
	display:block;
}

/* Tooltip beim Hover */  
.actionButtons .button_item .action_tooltip {
	text-align: right;
	font-size: 15px;
	line-height: 1.6;
	background: #fff;
	z-index: 5;
	border: 1px solid #ddd;
	padding: 15px;
	border-radius: 15px;
	white-space: nowrap;
	box-shadow: 0px 0px 5px #00000020;
	color: var(--color-page-active-dunkelblue);	
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.actionButtons .button_item .action_modal {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: start;
	font-size: 16px;
	line-height: 1.2;
	background: #fff;
	padding: 30px 20px;
	box-shadow: 0px 0px 5px #00000020;
	border-radius: 15px;
	min-height: 150px;
	justify-content: center;
}


.actionButtons .button_item .modal_container_2 .action_modal {
	padding: 20px;
}

.actionButtons .button_item .action_modal_scrollbox {
	max-height: calc(100vh - 205px);
	border-radius: 15px;
	border-bottom: 2px solid #fff;
	border-top: 2px solid #fff;
	outline: 1px solid #ccc;
	background: #fff;
}
.actionButtons .button_item.preisalarm .action_modal_scrollbox {
	overflow-y: auto;
}


.actionButtons .close {
	font-weight: 900;                   /* Solid */
	position: absolute;
	top: -0.5rem;
	right: -0.5rem;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;                 /* runder Kreis */
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 1rem;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: auto;
	font-style: normal;
	font-variant: normal;
	user-select: none;
	background: #fff;
	box-shadow: 0px 0px 5px #00000020;
	opacity: 1;
}
.actionButtons .close::after {
	content: "\f00d";                   /* fa-times */
	font-family: "Font Awesome 5 Free"; /* FA5 Free */
	font-weight: 900;                  
}

.actionButtons .button_item .modal_container_1 {
	z-index: 105;
}
.actionButtons .modal_container_1 .close::after {
	z-index: 106;
}
.actionButtons .button_item .modal_container_2 {
	z-index: 115;
}
.actionButtons .modal_container_2 .close::after {
	z-index: 116;
}
	
.actionButtons .button_item.preisalarm .modal_container_2 .action_modal {
	justify-content: center;
}

.actionButtons .button_item.preisalarm .modal_container_2 .action_modal.preiseingabe {
	width: 300px;
}
.actionButtons .button_item.preisalarm .modal_container_2 .action_modal.close_meldung {
	width: 600px;
}
.actionButtons .button_item.preisalarm .aktuellerpreis {
	position: relative;
	width: 100%;
	line-height: 1.2;
	margin-bottom: 10px;
}
.actionButtons .button_item.preisalarm .wunschblock {
	position: relative;
	width: 100%;
}
.actionButtons .button_item.preisalarm .wunschpreis {
	text-align: right;
	padding-right: 50px;
	margin-bottom: 10px;
	font-weight: bold;
}
.actionButtons .button_item.preisalarm .aktiviert {
	padding: 40px;
}
.actionButtons .button_item.preisalarm .wunschpreis::placeholder {
	 font-weight: normal;
}
.actionButtons .button_item.preisalarm .wunschpreis:focus::placeholder {
	 opacity: 0;
}
.actionButtons .button_item.preisalarm .eur_input {
	position: absolute;
	right: 10px;
	line-height: 42px;
	top: 0;
	font-weight: bold;
}

#whatsapp_content { display: none; }
.actionButtons .send_whatsapp .laenderliste {
	display: flex;
	align-items: end;
	gap: 5px;
	width: 100%;
}


.actionButtons .button_item .selected, 
.actionButtons .button_item select,
.actionButtons .button_item input {
	height: 40px;
	width: 100%;
}

.actionButtons .button_item .laenderliste .selected {
	min-width: 110px;
}


.actionButtons .button_item .label  {
	color: #333;
	font-size: 14px;
	text-align: left;
	top: 8px;
	position: relative;
	left: 6px;
	background: #fff;
	display: inline;
	padding: 0 4px;
	font-weight: normal;
}


.actionButtons .button_item .vorwahl  {
	display: flex; 
	flex-direction: column;
	align-items: start;
	width: 100%;
}

.actionButtons .button_item.fav_cruise .gemerkt { 	display: none; transform: scaleX(0.95); width: 70px; } 
.actionButtons .button_item.fav_cruise .merken {  width: 70px; } 
.actionButtons .button_item.fav_cruise.button_aktiv .gemerkt { display: inline; }
.actionButtons .button_item.fav_cruise.button_aktiv .merken { display: none; }
.actionButtons .button_item.fav_cruise.button_aktiv .button { color: #fff; background: var(--color-button-selected); border: 1px solid #296329; }
.actionButtons .button_item.fav_cruise.button_aktiv .fa-heart { font-weight: bold; color: #fff;  }
.actionButtons .button_item.fav_cruise.button_aktiv .fa-heart-xxx { text-shadow: 0px 0px 1px #060, 0px 0px 1px #060, 0px 0px 1px #060, 0px 0px 1px #060, 0px 0px 1px #060, 0px 0px 1px #060; }

.actionButtons .button_item .action_modal span.intro  {
	display: block;
	color: #333;
	font-weight: bold;
	padding-bottom: 10px;
}

.actionButtons .button_item .action_modal span.outro  {
	margin-top: 20px;
}


.list_cruise_single .fav_tooltip .action_button, 
.actionButtons .button_item .action_tooltip .span_link.action_button, 
.actionButtons .button_item .action_tooltip a.action_button,
.actionButtons .button_item .action_modal .span_link.action_button, 
.actionButtons .button_item .action_modal a.action_button {
	background: #f4f4f4;
	color: var(--color-page-active-dunkelblue);
	padding: 10px 20px;
	cursor: pointer;
	border-radius: 10px;
	border: 1px solid #e8e8e8;
	font-weight: bold;
	font-size: 16px;
}



.list_cruise_single .fav_tooltip .action_button:hover,
.actionButtons .button_item .action_tooltip .span_link.action_button:hover,
.actionButtons .button_item .action_tooltip a.action_button:hover,
.actionButtons .button_item .action_modal .span_link.action_button:hover,
.actionButtons .button_item .action_modal a.action_button:hover {
	background: #e8e8e8;
	border: 1px solid #e1e1e1;
}
.actionButtons .button_item .action_modal .span_link.action_button.close_button, 
.actionButtons .button_item .action_modal .span_link.action_button.send_submit,
.actionButtons .button_item .action_modal a.action_button.close_button, 
.actionButtons .button_item .action_modal a.action_button.send_submit {
	margin: 20px auto 0 auto;
	padding: 5px 20px;
}
.actionButtons .button_item .action_modal .span_link.action_button.preisalarm_submit,
.actionButtons .button_item .action_modal a.action_button.preisalarm_submit {
	padding: 5px 20px;
	width: 100%;
}


.actionButtons .button_item .action_modal .span_link.action_button.printlink,
.actionButtons .button_item .action_modal a.action_button.printlink {
	width: 100%;
	text-align: left;
	margin-top: 20px;
	display: flex;
	align-items: center;
	line-height: 1.1;
	gap: 10px;
}
.actionButtons .button_item .action_modal .span_link.action_button.printlink i,
.actionButtons .button_item .action_modal a.action_button.printlink i {
	font-size: 30px;
	  line-height: 20px;
	  position: relative;
}

.actionButtons .button_item .action_modal select, 
.actionButtons .button_item .action_modal textarea, 
.actionButtons .button_item .action_modal input {
	color: #333;
	padding: 5px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 16px;
	line-height: 1.2;
	background: #fff;
	width: 100%;
}


.actionButtons .button_item .action_modal textarea {
	min-height: 100px;
	width: 100%;
}
.actionButtons .button_item .action_modal .buttongroup {
	display: flex;
	line-height: 1.1;
	width: 100%;
	justify-content: center;
	margin-top: 20px;
	gap: 10px;
}

#preisalarm { display: none; }

.actionButtons .button_item.preisalarm .header_gesamtpreis {
	display: flex;
	justify-content: end;
	width: 100%;
}
.actionButtons .button_item.preisalarm .header_gesamtpreis .text {
	font-size: 14px;
}
.actionButtons .button_item.preisalarm .tabelle_all {
	display: table;
	border-spacing: 5px; 
	width: 100%;
	margin-top: 20px;
}

.actionButtons .button_item.preisalarm .table_tr {
	display: table-row;
}
.actionButtons .button_item.preisalarm .table_tr.zeilenabstand {
	height: 10px;
}
.actionButtons .button_item.preisalarm .header_gesamtpreis .preis,
.actionButtons .button_item.preisalarm .table_tr div {
	display: table-cell;
	border-radius: 10px;
	margin: 2px;
	padding: 5px;
	font-size: 14px;
	cursor: pointer;
	vertical-align: middle; 
}

.actionButtons .button_item.preisalarm .header_gesamtpreis .preis {
	padding: 5px 20px; 
	 color: #eee;
	background: var(--color-button-selected);
	border: 1px solid #428242;
	color: #9fc19f;
	font-weight: bold; 
	position: relative;  
}


.actionButtons .button_item.preisalarm .header_gesamtpreis span.gesamt {
	color: #fff;
}

.actionButtons .button_item.preisalarm .table_tr .leer {
	border-color: #fff;
	color: #333;
	padding: 0;
}

.actionButtons .button_item.preisalarm .table_tr .preis {
	background: var(--color-button-selected);
	border: 1px solid #428242;
	color: #9fc19f;
	font-weight: bold; 
	position: relative;  
}
.actionButtons .button_item.preisalarm .table_tr .ausgebucht {
	background: #6aa26a;
	border-color: #457345;
	color: #eee;
}
.actionButtons .button_item.preisalarm .table_tr .termin {
	background: #91a286;
	border-color: #7f867a;
	color: #fff;
	font-weight: bold;   
}
.actionButtons .button_item.preisalarm .table_tr .termin span {
	font-weight: normal;   
}
.actionButtons .button_item.preisalarm .table_tr .kategorie {
	background: #91a286;
	border-color: #7f867a;
	color: #fff;
	font-weight: bold;   
}
.actionButtons .button_item.preisalarm .table_tr .kategorie_flug {
	background: #91a286;
	border-color: #7f867a;
	color: #fff;
	font-size: 13px;
}
.actionButtons .button_item.preisalarm .table_tr .flug {
	background: #91a286;
	border-color: #7f867a;
	color: #fff;
	font-weight: bold; 
}


.actionButtons .button_item.preisalarm .header_gesamtpreis .preis:hover {
	background: #52aa52;
	border-color: #3a7b3a;
}
.actionButtons .button_item.preisalarm .table_tr .preis:hover {
	background: #52aa52;
	border-color: #3a7b3a;
}
.actionButtons .button_item.preisalarm .table_tr .ausgebucht:hover {
	background: #82b782;
	border-color: #598059;
}
.actionButtons .button_item.preisalarm .table_tr .termin:hover {
	background: #9dac93;
}




.actionButtons .button_item.preisalarm span.euro {
	font-size: 8px;   
	color: #9fc19f;  
	font-weight: normal;   
	margin-left: 3px;
}


body.modal_actionbuttons_aktiv_2 .modal_layer_actionbuttons_2, 
body.modal_actionbuttons_aktiv_1 .modal_layer_actionbuttons_1 {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: var(--modal-opacity);
	z-index: 102;
	overflow: hidden; 
	top: 0;
	left: 0;
}
 
body.modal_actionbuttons_aktiv_1 .modal_layer_actionbuttons_2 {
	z-index: 112;
}
body.modal_actionbuttons_aktiv_2, 
body.modal_actionbuttons_aktiv_1 {
	overflow: hidden; 
	padding-right: var(--scrollbar-width);
}

body.modal_actionbuttons_aktiv_1 header.main-header,  
body.modal_actionbuttons_aktiv_2 header.main-header, 
body.modal_actionbuttons_aktiv_2 header.navbar_container, 
body.modal_actionbuttons_aktiv_1 header.navbar_container {
	padding-right: var(--scrollbar-width);
	transition: unset;
}

@media screen and (max-width: 1200px) {
	.actionButtons .button_item .modal_container_1 { top: 150px; }	
	.actionButtons .button_item .action_modal_scrollbox { max-height: calc(100vh - 150px); }
} 

@media screen and (max-width: 649px) {
	.actionButtons .button_item .intro { padding-top: 60px; }
	.actionButtons .button_item .modal_container_1 { position: fixed; left: 15px; transform: unset; text-align: center; overflow-y: auto; overflow-x: hidden; width: calc(100% - 30px); min-width: unset; }	
	.actionButtons .button_item.preisalarm .modal_container_1 .action_modal { padding: 15px; }
	.actionButtons .button_item.send_email .action_modal, .actionButtons .button_item.cruise_print .action_modal { padding: 15px; }
	.actionButtons .button_item .modal_container_1 .close { top: 15px; right: 15px; width: unset; border-radius: 7px; padding: 5px 10px; box-shadow: unset; background: #e8e8e8; border: 1px solid #e1e1e1; }
	.actionButtons .button_item .modal_container_1 .close::before { content: 'Schließen'; padding-right: 10px; font-weight: 700; }
	.actionButtons .button_item.preisalarm .table_tr .termin { line-height: 1.1; }
	.actionButtons .button_item.preisalarm .header_gesamtpreis .preis, .actionButtons .button_item.preisalarm .table_tr div { border: 0 !important; border-radius: 5px; font-size: 12px;  } 
	.actionButtons .button_item.preisalarm .table_tr .termin span {  font-weight: normal; white-space: nowrap; display: block; } 
} 

@media screen and (max-width: 549px) {
	.actionButtons .button_item .modal_container_1 { top: 56px;  }	
	.actionButtons.app_action_buttons .button_item .modal_container_1 { top: 200px;  }		
	.actionButtons .button_item .action_modal_scrollbox { max-height: calc(100vh - 56px); }	
	.actionButtons.app_action_buttons .button_item .action_modal_scrollbox { max-height: calc(100vh - 200px); }	
}


@media screen and (max-width: 449px) {
	.actionButtons .button_item .modal_container_1 { width: calc(100% - 20px); left: 10px; }		
}

@media screen and (max-width: 349px) { 
	.actionButtons .button_item.preisalarm .table_tr .kategorie  {  font-weight: normal; padding: 5px 0;  } 
	.actionButtons .button_item .modal_container_2 { max-width: 90%; left: 5%; transform: unset; }		
	.actionButtons .button_item.preisalarm .modal_container_2 .action_modal.preiseingabe { width: unset; }
}
@media screen and (max-width: 300px) { 
	.actionButtons .button_item.preisalarm .table_tr div { padding: 5px 0; font-size: 10px !important; }
	.actionButtons .button_item.preisalarm .tabelle_all { border-spacing: 2px; }
	.actionButtons .button_item .action_modal { padding: 10px; }
}

 
/* Preisalarm ändern */
.cruise_offers_preisalarm .preis_ziel {
	position: relative;
	
}

.cruise_offers_preisalarm .preisalarm_aendern {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	display: none;
	background: #fff;
	border: 1px solid #ccc;
	padding: 15px;
	border-radius: 10px;
	box-shadow: 0px 0px 5px #00000020;
}
.cruise_offers_preisalarm .preisalarm_container.js_modal_open .preisalarm_aendern input {
	width: 150px;
	font-size: 24px;
	line-height: 26px;
	font-weight: bold;
	text-align: right;
	height: 38px;
	padding: 5px;
}
.cruise_offers_preisalarm .preisalarm_container.js_modal_open .preisalarm_aendern button {
	height: 38px;
	margin-left: 5px;
}
.cruise_offers_preisalarm .preisalarm_container.js_modal_open .preisalarm_aendern i {
	font-size: 20px;
}
.cruise_offers_preisalarm .preisalarm_container.js_modal_open .preisalarm_aendern {
	display: flex;
	z-index: 105;
}

.cruise_offers_preisalarm .preisalarm_container.js_modal_open .preis_e {
	opacity: 0;
}

a.offerliste_footer_link {
	cursor: pointer;
}

/* Anpassungen für App */
.actionButtons.app_action_buttons { padding: 0; gap: 10px; }
.actionButtons.app_action_buttons .button_item .button { background: unset; border: unset; color: #fff; padding: 0;  }
.actionButtons.app_action_buttons .button_item .button i { font-size: 28px; }
.actionButtons.app_action_buttons .button_item.fav_cruise.button_aktiv .button { color: #53d953; font-weight: normal; border: unset; background: unset;  }
.actionButtons.app_action_buttons .button_item.fav_cruise.button_aktiv .button i { color: #53d953;  }

@media screen and (max-width: 849px) {
	.actionButtons.app_action_buttons .button_item .button .text { display: none;; }
}
@media screen and (min-width: 850px) and (max-width: 999px) {
	.actionButtons.app_action_buttons .button_item .button .text { font-size: 18px; font-weight: normal; }
}
@media screen and (min-width: 1000px) {
	.actionButtons.app_action_buttons .button_item .button .text { font-size: 20px; font-weight: bold; }
}


/************************************************************************************************************************************************************************************************************************/
/* xox: Favoriten_8896 (KR = GR = MR, wird aber auf GR / MR nicht verwendet) */
/************************************************************************************************************************************************************************************************************************/
/* Favoriten Herz mit Hover   Start*/
/* Position Alles im Gesamtlayout */
.cruise_offers_tiles .fav_cruise {
	position: absolute;
	right: 10px;	
	top: 10px;
}
.cruise_offers_heroimg .fav_cruise {
	position: absolute;
	right: 10px;	
	top: 40px;
}
.list_cruise_single .fav_cruise {
	text-align: right;
	position: relative;
}
.list_cruise_heroimg .fav_cruise {
	text-align: right;
	line-height: 1;
	position: relative;
}
/* Formaierung Herz */
.list_cruise_single .fav_cruise .fa-heart {
	font-size: 26px;
	z-index: 10;
	position: relative;
	text-shadow: -2px 2px 2px #fff, 0px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff, 2px 2px 2px #fff;
	font-weight: normal;
}
.cruise_offers_heroimg .fav_cruise .fa-heart {
	font-size: 26px;
	z-index: 10;
	position: relative;
	text-shadow: -1px 1px 1px #fff6, 0px 1px 1px #fff6, 1px -1px 1px #fff6, -1px -1px 1px #fff6, 1px 1px 1px #fff6;
	font-weight: normal;
}
.cruise_offers_heroimg .fav_cruise .fa-heart, 
.list_cruise_single .fav_cruise .fa-heart {
	color: var(--color-page-active-hellblue);
}

.cruise_offers_tiles .fav_cruise .fa-heart {
	font-size: 20px;
	z-index: 10;
	position: relative;	
	font-weight: normal;
}

/* Hover über Herz */
.cruise_offers_tiles .cruise_favoriten_hover .fa-heart  {
	font-size: 30px;
}

/* Grafik für aktives Herz */
.cruise_offers_heroimg .fav_cruise .herz_aktiv , 
.list_cruise_single .fav_cruise .herz_aktiv , 
.cruise_offers_tiles .fav_cruise .herz_aktiv  {
	font-weight: bold;
	color: #0f820f;
}


/* Mauszeiger beim Hover */
.fav_cruise a:hover {
	cursor: pointer;
}

/* Tooltip beim Hover */
.cruise_offers_heroimg .fav_cruise .fav_tooltip , 
.list_cruise_single .fav_cruise .fav_tooltip ,
.cruise_offers_tiles .fav_cruise .fav_tooltip {
	display: none;
	text-align: right;
	position: absolute;
	right: -4px;
	top: 18px;
	line-height: 1.6;
	font-size: 15px;
	background: #fff;
	z-index: 5;
	border: 1px solid #ddd;
	padding: 15px;
	border-radius: 15px;
	white-space: nowrap;
	box-shadow: 0px 0px 5px #00000020;
	color: var(--color-page-active-dunkelblue);
	cursor: pointer;	
	flex-direction: column;
	gap: 5px;
}



/* Ausblenden der Favoriten aus Fav Liste */
/* In vertikaler Liste (Merkliste) */
body.page_mit_favoriten_liste .fav_ausgeblendet {
	max-height: 0px !important;
	padding-top: 0;
	padding-bottom: 0;
	margin-bottom: 0;
	opacity: 0;
}
/* In horizontaler Liste (App Startseite) */
body.app_frontend .cruise_favoriten_liste .fav_ausgeblendet {
	max-width: 0px !important;
	overflow: hidden;
	opacity: 0;
	margin-left: -10px;
	transition: max-width 0.5s, opacity 0.5s;
}
body.app_frontend .cruise_favoriten_liste .fav_ausgeblendet .kf_content * {
	display: none;
}

body.page_mit_favoriten_liste .merklist_link {
	display: none;
}


/* Favoritenliste (aus/einblenden) */
.list_cruise_single  {
	overflow: hidden;
	transition: all 0.5s;
	max-height: 1000px;
}

.favoritenliste_leer {
	background: #fff;
	padding: 2vw 3vw;
	border-radius: 5px;
	margin: 10px 2px 100px 2px;
	box-shadow: 0px 0px 5px #00000020;
}
.favoritenliste_leer h2 {
	margin: 0 0 10px 0;
	color: #333333;
}
.favoritenliste_leer p {
	font-size: 18px;
}

.cruise_offers_tiles .fav_cruise {
	position: absolute;
	right: 10px;	
	top: 10px;
}

/************************************************************************************************************************************************************************************************************************/
/* xox: Skeleton_Seiten (KR = GR = MR, wird aber auf GR / MR nicht verwendet)  */
/************************************************************************************************************************************************************************************************************************/

/* Skeleton Basis */
.skeleton {
	display: block;
	width: 100%;
	background: var(--color-background-contrast);
	margin: 0;
	padding-top: var(--height-header-app-inner-medium);
}
.sk_page {	
	display: flex;
	gap: 10px;	
	padding: 10px;
	min-height: 100vh;
	width: var(--width-page-content-general);
	margin-left: auto;
	margin-right: auto;
}
.skeleton_page_header_inner { 
	height: var(--safe-area-top-default); 
}

.sk_header {
	margin: 0;
	background: var(--color-background-app-header);
	border-bottom: 3px solid var(--color-background-app-header-kante);
}

.sk_shine {
	display: block;
	position: relative;
	overflow: hidden;
}
	
.sk_box_grey {
	border-radius: 6px;
	width: 100%;
	border: 1px solid #00000010;
	background: #00000010;
}
.sk_box_inner {
	border-radius: 2px;
	width: 100%;
	border: 1px solid #00000010;
	background: #00000010;
}
.sk_box_w {
	border-radius: 6px;
	width: 100%;
	border: 1px solid #00000010;
	background: #ffffff;
	box-shadow: 0px 0px 5px #00000020;
}
.sk_box_blue {
	border-radius: 6px;
	width: 100%;
	background: var(--color-page-active-dunkelblue);
	opacity: 0.5;
}
.sk_line_grey {
	border-radius: 6px;
	height: 30px;
	margin: 8px 0;
	border: 1px solid #00000010;
	background: #00000010;
} 

/* Shimmer Animation */
.sk_shine:before {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 120%;
	height: 100%;
	background: linear-gradient(
		90deg,
		#00000004 0%,
		#0000000A 25%,
		#00000014 50%,
		#0000000A 75%,
		#00000004 100%
	);
	animation: sk_shine 1.6s ease-in-out infinite;
}

@keyframes sk_shine {
	0% { transform: translateX(0); }
	100% { transform: translateX(220%); }
}

/* links das Search Form geklickt */
.skeleton.cruise_search_form .sk_page {	padding: 0; width: 100%; }
.skeleton.cruise_search_form  {	padding: 0;  }
.skeleton.cruise_search_form .trefferliste {	width: 100%;  }


/* Liste Skeleton Layout */
.skeleton .menuleiste { width: 22%; display: flex; flex-direction: column; gap: 10px; }
.skeleton .trefferliste { width: 78%; display: flex; flex-direction: column; gap: 10px; }
.skeleton .skeleton_liste_header { height: 50px; width: 100%; }
.skeleton .skeleton_liste_content { display: flex; gap: 10px; flex-direction: row;  }
.skeleton .skeleton_liste_image { height: 220px; width: 34%; }
.skeleton .skeleton_liste_text {   width: 66%; gap: 10px; display: flex; flex-direction: column; }
.skeleton .treffer_single { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 10px; }
.skeleton .trefferliste .vorteile { width:80%; height: 80px; }
.skeleton .trefferliste .daten { width:50%; height: 100px; }
.skeleton .trefferliste .preise { width:100%; height: 50px; }


/* Detail Skeleton Layout */
.default .sk_page { flex-direction: column; background: #fff; box-shadow: 0px 0px 33px #00000010; }
.skeleton.cruise_detail .sk_page { flex-direction: column; background: #fff; box-shadow: 0px 0px 33px #00000010; }
.skeleton.cruise_list .sk_page { flex-direction: row; }

.skeleton .steckbrief {
	display: flex;
	gap: 10px;
	width: 100%;
}
.skeleton.cruise_detail .skeleton_detail_image {
	width: 50%;
	height: 350px;
}
.skeleton.cruise_detail .textblock {
	width: 50%;
}

.skeleton.cruise_detail .sk_header {
	display: none;
}

.skeleton .introtext {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 10px;
}

.skeleton .preise {
	display: flex;
	width: 100%;
	height: 300px;
	flex-direction: row;
	gap: 10px;
}

@media screen and (max-width: 549px) {
	.skeleton .vorteile  { width: 100%; height: 100px; }
	.skeleton .skeleton_liste_text  { width: 100%; } 
	.skeleton .skeleton_liste_image { width: 100%; height: 110px; }
	.skeleton .skeleton_liste_content { flex-direction: column;  }
	.skeleton .menuleiste { display: none;  }
	.skeleton .trefferliste { width: 100%;  }
}
@media screen and (min-width: 550px) and (max-width: 749px) {
	.skeleton .skeleton_liste_image { width: 30%; }
	.skeleton .menuleiste { display: none;  }
	.skeleton .trefferliste { width: 100%;  }
}
@media screen and (min-width: 750px) and (max-width: 1199px) {
	.skeleton .skeleton_liste_image { width: 30%; }
	.skeleton .skeleton_liste_text { width: 70%; }
}


@media screen and (min-width: 850px) and (max-width: 1199px) {
	.sk_page { width: 100%;  }
	.skeleton .skeleton_liste_image { height: 300px;  }
}

@media screen and (max-width: 849px) {
	.skeleton .steckbrief { flex-direction: column; }
	.skeleton.cruise_detail .skeleton_detail_image, .skeleton.cruise_detail .textblock { width: 100%; }
	.sk_page  { width: 100%; }
	.skeleton.cruise_detail .sk_header { display: block; height: 50px;  }	
}
@media screen and (max-width: 749px) {
	.skeleton .menuleiste { display: none; }
	.skeleton .trefferliste { width: 100%;  }
	.skeleton.cruise_list .sk_page { padding: 0; }
	.skeleton.cruise_detail .sk_page { padding: 0 10px; }
	.skeleton.cruise_list .sk_box_blue, .cruise_list .sk_box_w  { border-radius: 0; } 
	.skeleton.cruise_detail .skeleton_detail_image   { border-radius: 0; margin: 0 -10px; width: calc(100% + 20px);  } 
}





/************************************************************************************************************************************************************************************************************************/
/* xox: Einzelseiten (KR = GR = MR, wird aber auf GR / MR nicht verwendet)  */
/************************************************************************************************************************************************************************************************************************/

/* Datenschutz */
.body_public.cmspages5 .content_cms h1 {
	font-size: 25px;
	color: #555;
	margin: 50px 0 10px 0;
}
.body_public.cmspages5 .content_cms h2 {
	font-size: 22px;
	color: #444;
	margin: 40px 0 10px 0;
}
.body_public.cmspages5 .content_cms h3 {
	font-size: 20px;
	margin: 30px 0 10px 0;
}
	
.body_public.cmspages5 .content_cms h5,
.body_public.cmspages5 .content_cms h4 {
	font-size: 16px;
	margin: 20px 0 10px 0;
}
.body_public.cmspages5 .content_cms ol {
	padding-left: 13px;
	margin: 20px 0 10px 0;
}
.body_public.cmspages5 table td {
	border: 1px solid #aaa;
	padding: 5px;
	border-collapse: collapse;
}
.body_public.cmspages5 table {
	border: 0px solid #aaa;
	border-collapse: collapse;
}
.body_public.cmspages5 table p {
	margin: 0;
}
	
.body_public.cmspages5 .content_cms li, 
.body_public.cmspages5 .content_cms p {
	margin: 10px 0;
}

.cmspages24 .content_cms h3 { font-size: 16px; margin: 30px 0 5px 0; }
.cmspages24 .content_cms h3:first-of-type { margin-top: 10px; }

/************************************************************************************************************************************************************************************************************************/
/* xox: Sonderaktion (KR = GR = MR, wird aber auf GR / MR nicht verwendet)  */
/************************************************************************************************************************************************************************************************************************/
.jubilaeum {
	font-size: 18px;
	width: 100%;
}
.jubilaeum h1, .jubilaeum h2  {
	font-size: 40px;	
}
	
.jubilaeum .textcontent {
	
}
.jubilaeum .aktionen {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 20px;
}

.jubilaeum .einzel {
	box-shadow: 0px 0px 5px #00000020;
	padding: 10px 3px;
	width: calc(50% - 10px);
	margin-bottom: 16px;
	display: block;
	background: #fff;
	text-align: center;
}
.jubilaeum .einzel p {
	margin: 0;
}
.jubilaeum .einzel h2 {
	font-size: 40px;	
	font-weight: 700;
	color: #d51313;
	margin: 0.3em 0 0.3em 0;
}

.jubilaeum .klein {
	font-size: 10px;
	margin: 0;
}

.jubilaeum .bilder2 {
	display: flex;
	justify-content: space-between;
}
.jubilaeum .partner {
	display: block;
}
.jubilaeum .reihe1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.jubilaeum .partner .reihe1 div {
	width: calc(25% - 8px);
}
.jubilaeum .partner img {
	width: 100%;
	margin-bottom: 10px;
	box-shadow: 0px 0px 5px #00000020;
}


.jubilaeum .bilder2 div {
	Width: calc(50% - 10px);
}
.jubilaeum .contentbild {
	width: 50%;
	float: right;
	margin: 10px 0 10px 0;	
}

.jubilaeum .longtext img,
.jubilaeum .bilder2 img {
	width: 100%;
}

.jubilaeum .aktionen, 
.jubilaeum .partner, 
.jubilaeum .images_top_categories, 
.jubilaeum .bilder2 {
	margin-top: 20px;
	margin-bottom: 20px;
}
 
@media screen and (max-width: 800px) {	
	.jubilaeum .einzel {
		width: calc(50% - 8px);
	}
	.jubilaeum .partner .reihe1 div {
		width: calc(50% - 5px);
	}
	.jubilaeum h1, .jubilaeum h2 {
	  font-size: 30px;
	}
}
@media screen and (max-width: 600px) {	
	.jubilaeum .bilder2 {
		display: block;
	}
	.jubilaeum .bilder2 div, .jubilaeum .contentbild, .jubilaeum .einzel {
		width: 100%;
	}
	.jubilaeum h1, .jubilaeum h2 {
	  font-size: 24px;
	}
}


/* Bilder Seitenverhältnis */
	.detail_page_intro_layout ul.lightbox_slider_big img, 
	ul.slidernavigation img,
	img.imagebox_1,
	img.imagebox_rest,
	img.cruise_offers_tiles_ship,
	.my_booking_list img.my_data_kf { aspect-ratio: 1.6666; }
	

	
/* Allgemein Bild Lightbox  */
#image_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 90;
	cursor: pointer;
	transition: background 0.3s ease;
}

#image_overlay.active { background: rgba(0,0,0,0.9); }

.image_overlay_wrapper {
	position: relative;
	display: inline-block;
}

.image_overlay_wrapper img {
	max-width: 98vw;
	max-height: 98vh;
	transform: scale(0.85);
	opacity: 0;
	transition: transform 0.3s cubic-bezier(0.22,1,0.36,1), opacity 0.3s ease;
}

#image_overlay.active .image_overlay_wrapper img { 	transform: scale(1); 	opacity: 1; }

/* Kreuz direkt auf dem Bild */
.image_overlay_close {
	position: absolute;
	top: 3px;
	right: 12px;
	pointer-events: none;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.1s ease;
}

.image_overlay_close::before {
	content: "\f00d";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 28px;
	color: #ffffff;
}

.image_overlay_close.visible { opacity: 0.7; }


/*######################################################################################################################################################################################################################*/
/*######################################## xox: ___________BUCHUNG________________________________9232_KR_GR_MR () /*###############################################################################################################*/
/*######################################################################################################################################################################################################################*/


/************************************************************************************************************************************************************************************************************************/
/* xox: Allgemeine_Formulare (KR=GR=MR) */
/************************************************************************************************************************************************************************************************************************/

/* Allgemein Formularfelder in der Buchungsstrecke */
.booking_subtitle {
	letter-spacing: 0;
	color: #333333;
	margin-bottom: 5px;
	font-size: 14px;
	font-weight:bold;
}


.pagetemplate_booking .btn {
	display: inline-block;
	margin-bottom: 0;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	  touch-action: manipulation;
	cursor: pointer;
	background-image: none;
	border: 1px solid transparent;
	white-space: nowrap;
	padding: 6px 12px;
	font-size: 14px;
	line-height: 1.42857143;
	border-radius: 4px;
	-webkit-user-select: none;
	 -moz-user-select: none;
	  -ms-user-select: none;
	      user-select: none;
}

.pagetemplate_booking .btn-default {
	color: #333333;
	background-color: #ffffff;
	border-color: #cccccc;
}

.sections .invalid,
.sections input[type=date].error,
.sections input[type=text].error,
.sections input[type=password].error,
.sections input[type=email].error,
.sections select.error,
.sections input[type=date].invalid,
.sections input[type=text].invalid,
.sections input[type=password].invalid,
.sections input[type=email].invalid,
.sections input[type=tel].error,
.sections input.error,
input.error {
	border: 1px solid #F00;
	box-shadow: 0 0 3px 1px rgba(255, 0, 0, 0.8);
	background: #ffdbdb;
}

.zahlungsart_abstand { width: 100%; height: 10px; }
.zahlungsart_radio { margin: 3px 0; }

#zahlungsarten.error {
	color: #ce0000;
	background: #fcc;
}

.sections .valid,
.sections input[type=date].valid,
.sections input[type=text].valid,
.sections input[type=password].valid,
.sections input[type=email].valid,
.sections select.valid,
.sections input[type=checkbox].valid,
.sections input[type=tel].valid,
.sections input.valid {
	border: 1px solid #99cc00;
	background: #f9ffee;
}


.sections label {
	/* width: 100%; => enternt, ist zu allgemein. dadurch werden in der Kategorieauswahl die Buttons auf 100% gezogen */
	display: block;
	position: relative;
}

.sections input[type=date]:focus,
.sections input[type=text]:focus,
.sections input[type=password]:focus,
.sections input[type=email]:focus,
.sections select:focus,
.sections textarea:focus {
	border: 1px solid var(--color-page-active-dunkelblue);
	display: inline-block;
}

.sections .form-title,
.sections .section-title {
	font-weight: bold;
	/* text-align: center; deaktiviert, damit im Step buchungsabschluss die Überschrift link ssteht */
	margin: 10px 0 10px;
	color: #333333;
}
.sections .form-title.center,
.sections .section-title.center {
	text-align: center;
}

.web_frontend .sections .form-title,
.web_frontend .sections .section-title {
	font-size: 30px;
}
.app_frontend .sections .form-title,
.app_frontend .sections .section-title {
	font-size: 26px;
}

.padding_5 {
	padding-right: 5px;
	padding-left: 5px;
}


.booking_review_box, 
.booking_content_box  {
	box-shadow: 0px 0px 10px #00000050;
}

/************************************************************************************************************************************************************************************************************************/
/* xox: Booking_Layout () */
/************************************************************************************************************************************************************************************************************************/

.booking_container_content {
	margin-left: 0;
	margin-right: 0;
	font-size: 14px;
	display: flex;
	flex-direction: row; 
	flex-wrap: wrap;
}

@media screen and (max-width: 749px) {
	body.pagetemplate_booking  { background-color: #fff; }
	body.pagetemplate_booking .booking_container_footer { border-top: 1px solid #ccc; }	
	.booking_container_content { display: flex; flex-direction: column; }
}




/************************************************************************************************************************************************************************************************************************/
/* xox: Booking_Header () */
/************************************************************************************************************************************************************************************************************************/


.all_page_booking_container_1 {
	padding-top: var(--height-header-small);
}


.pagetemplate_booking .booking_container_header_1 {
	display: flex;
	position: relative;
	align-items: start;
	justify-content: space-between;
	width: 100%;
}


.pagetemplate_booking .header_nav_container {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-bottom: 5px;
	padding-top: 5px;
}


@media screen and (max-width: 549px) {
	.pagetemplate_booking .navbar_container { height: var(--height-header-small); 	}
	.body_scrolled.pagetemplate_booking .navbar_container {     height: var(--height-header-small);   }
	.pagetemplate_booking .navbar_container .kr_logo { padding-top: 10px; }
	.body_scrolled.pagetemplate_booking .navbar_container .kr_logo { padding-top: 10px; }
}		
@media screen and (min-width: 550px) {
	.pagetemplate_booking .navbar_container .header_nav_container,
	.pagetemplate_booking .navbar_container .kr_logo,
	.pagetemplate_booking .navbar_container {     height: var(--height-header-medium);   }
	.body_scrolled.pagetemplate_booking .navbar_container .header_nav_container, 
	.body_scrolled.pagetemplate_booking .navbar_container .kr_logo, 
	.body_scrolled.pagetemplate_booking .navbar_container {     height: var(--height-header-small);   }	
	.body_scrolled.pagetemplate_booking .navbar_container .kr_logo { width: 20%; }	
}



.pagetemplate_booking .navbar_container .headerline_item {
	line-height: 1.2;
	padding: 0;
}

.pagetemplate_booking .navbar_container .kontakt {
	max-height: 0;
	line-height: 1.2;
	transition: all 100ms linear;
}
.pagetemplate_booking.body_scrolled .navbar_container .kontakt {
	max-height: 0;
}
.pagetemplate_booking .navbar_container .floatline  {
	display: block;
}	
.pagetemplate_booking .navbar_container .headerline_item.mail, 
.pagetemplate_booking .navbar_container .headerline_item.tel  {
	display: inline-block;
}	

.pagetemplate_booking .navbar_container .site_logo_large_booking {
	transition: all 200ms linear;
	display: inline;
	height: auto;
	width: auto;
}

.booking_container_header_1 {
	/*
	height: var(--height-header-medium);
	padding: 0;
	-webkit-box-align: center;
	  -ms-flex-align: center;
	      align-items: center;
	margin-left: 0;
	margin-right: 0;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	z-index: 100;
	overflow: hidden;
	letter-spacing: -0.5px;
	transition: all 300ms ease-out;*/
}

/* Scrolled */
.body_scrolled.pagetemplate_booking .navbar_container .headerline_item.mail,
.body_scrolled.pagetemplate_booking .navbar_container .headerline_item.tel {
	display: inline-block;
}
.body_scrolled .booking_container_header_1 {
		box-shadow: unset;
	transition: all 300ms ease-out;
}
.body_scrolled.pagetemplate_booking .booking_container_header {
	/*
	padding: 5px 10px 5px 10px;
	background: #e3f4fb;*/
}
.body_scrolled.pagetemplate_booking .navbar_container {
		box-shadow: 0px 0px 10px #00000040;
}


/* Media */
@media screen and (max-width: 549px) {
	.pagetemplate_booking .navbar_container .a_tel::before, 
	.pagetemplate_booking .navbar_container .a_mail::before {		content: "";		display: none;	}
	.pagetemplate_booking .navbar_container .site_logo_large_booking { max-height: calc(var(--height-header-small) - 10px);	}
}	

@media screen and (max-width: 449px) {
	.pagetemplate_booking .navbar_container .a_tel, 
	.pagetemplate_booking .navbar_container .a_mail {		font-weight: normal;	}	
	.booking_container_footer { font-size: 12px; }
	.pagetemplate_booking .header_nav_container { font-size: 13px;	}
}

@media screen and (max-width: 349px) {
	.pagetemplate_booking .header_nav_container {		width: 100%;  font-size: 12px;	}
}

@media screen and (max-width: 249px) {
	.pagetemplate_booking .kr_logo {		display: none;	}
	.pagetemplate_booking .navbar_container {		display: none;	}
	.all_page_booking_container_1 {		padding-top: 0;	}	
}

@media screen and (min-width: 550px) {
	.booking_container_header_1 {	letter-spacing: unset;  }    	
	.pagetemplate_booking .navbar_container .site_logo_large_booking {	max-height: calc(var(--height-header-medium) - 10px);	}
	.pagetemplate_booking.body_scrolled .navbar_container .site_logo_large_booking { max-height: calc(var(--height-header-small) - 10px);	}
	.all_page_booking_container_1 {	padding-top: var(--height-header-medium); }
}

@media screen and (min-width: 750px) {
	.pagetemplate_booking .booking_container_header {    padding: 0 0 0 10px;  }    
	.all_page_booking_container_1 {    width: 100%; }
	.pagetemplate_booking .navbar_container .kontakt { max-height: 50px; }
}

@media screen and (min-width: 1200px) {
	.booking_container_header_1 {    text-align: left;	margin: 0;  }
	.booking_container_footer {    width: var(--width-page-content-general);	}
	.all_page_booking_container_1 {    width: var(--width-page-content-general);  }
}


 

/************************************************************************************************************************************************************************************************************************/
/* xox: Booking_Footer () */
/************************************************************************************************************************************************************************************************************************/
.booking_container_footer {
	max-width: var(--width-page-content-general);
	width: 100%;
	margin: auto;
}

.booking_container_footer  {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 20px 0px;
}

.booking_container_footer .booking_footer_link {
	margin-right: 15px;
}

@media screen and (min-width: 750px) {
	.booking_container_content {
	margin-left: 0;
	margin-right: 0;
	padding: 0 10px;
	}
}


/************************************************************************************************************************************************************************************************************************/
/* xox: _Fortschrittsbalken () */
/************************************************************************************************************************************************************************************************************************/
.progressArea {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.progress-bar {
	position: relative;
	margin: 10px 0;
	border: 1px solid #ddd;
	width: 100%;
	height: auto;
	border-radius: 10px;
	font-size: 12px;
	line-height: 20px;
	color: #000;
	text-align: center;
	box-shadow: 0px 0px 10px #00000010;
	background: linear-gradient(to right, #fff 1%, #e8e8e8);
}

.progress {
	background: -webkit-gradient(linear, left top, right top, color-stop(1%, lightgreen), to(green));
	background: linear-gradient(to right, lightgreen 1%, green);
	height: 40px;
	border-radius: 10px 5px 5px 10px;
}

.progress-bar .progress-text {
	position: absolute;
	width: 100%;
	height: 40px;
	line-height: 40px;
	text-align: center;
	color: #000;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	font-size: 20px;
	text-shadow: 0px 0px 3px #fff;
}

.no_prozentbalken {
	position: relative;
	width: 100%;
	height: 10px;
	min-height: 10px;
}



/************************************************************************************************************************************************************************************************************************/
/* xox: Review_Area () */
/************************************************************************************************************************************************************************************************************************/

	
.booking_review_box {
	background: #dff3ff;
}
	
.app_frontend .booking_review_box {
	background: var(--color-app-buchung-contentbox);
}


.rewArea .zusammenfassung_header, 
.booking_review_box .review_box_content {
	overflow: hidden;
}

/* Review Area */ 
.rewArea .review_element {
	padding: 5px 10px 5px 10px;
}

.rewArea .review_element .reviewPart {
	font-size: 14px;
	margin: 0;
	border-bottom: rgba(255, 255, 255, 0.8) 1px solid;
	padding: 2px 0 2px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	  flex-wrap: wrap;
}

.web_frontend .rewArea .review_element .reviewPart { font-family: Roboto, Barlow, Arial, sans-serif;  }
	

.rewArea .review_element .reviewPart > span {
	width: 100%;
	display: block;
	float: left;
}

.rewArea .salehinweis_in_reviewbox .rechtstext, 
.rewArea .review_element .rechtstext {
	display: block;
	float: right;
	text-align: right;
}
.rewArea .review_element .rechtstext.fett {
	font-weight: bold;
}

.rewArea .review_element .reviewPart a:hover,
.rewArea .review_element .reviewPart a:focus {
	color: #23527c;
	text-decoration: underline;
}

.rewArea .review_element .reviewPart:last-of-type {
	border: none;
}

.rewArea .review_element .reviewPart .content.tn1,
.rewArea .review_element .reviewPart .content.tn2 {
	display: block;
	width: 100%;
}




/* Layout Review area / booking_content_area */
.rewArea { 
	width: 25%;
	float: left;
}
.booking_content_area { 
	width: 75%;
	float: left;
}
.booking_content_area { 
	width: 75%; 
}
.booking_review_box .review_box_image {
	display: block;
	width: 100%;	
}
.button_booking_zusammenfassung { 
	display: none;
	float: left;
	width: 100%;
}
.button_booking_zusammenfassung .button_booking_grey {
	width: 100%;
}
.button_booking_zusammenfassung .button_booking_grey .fas {
	display: none;
}

.rewArea .general_info_header {
	background: #abe0ff;
	border-top: 5px solid #d1d1d1;
	font-weight: bold;
}
 

.review_ausklappen .rewArea .general_info_header {
	white-space: unset;
}

.rewArea .general_info_header a {
	color: #000;
	padding-left: 10px;
}

.rewArea .zusammenfassung_header,
.rewArea .cart_item_header {
	border-top: 6px solid #d1d1d1;
	background: #c5eaff;
	padding: 5px 10px 5px 10px;
}
.app_frontend .rewArea .zusammenfassung_header,
.app_frontend .rewArea .cart_item_header {
	background: var(--color-background-contrast);
}


@media screen and (min-width: 750px) {
	.booking_review_box {
		border-radius: 10px;
	}
	.booking_review_box .review_box_image {
		border-radius: 10px 10px 0 0;
	}	
	.booking_content_area .booking_content_box{
	border-radius: 10px;
	}
	
}



@media screen and (max-width: 749px) {
	.rewArea { 
		width: 100%; 		
	}
	.booking_content_area { 
		width: 100%; 
	}
	
	.booking_content_area  { 
		width: 100%; 
	}
	
	 .booking_review_box .review_box_image {
		display: none;
	  }
	
	.button_booking_zusammenfassung { 
		display: block;
		padding: 5px;
	}
	.rewArea  {
		padding: 5px;
	}
	.booking_review_box  {
		border-radius: 10px;
		border: 3px solid #fff;
		overflow: hidden;
		box-shadow: 0 0 5px 1px #0003;
	}
	
	.booking_review_box .review_box_content {
		max-height: 0;
	}
	
	
	.progress {
		height: 30px;
		border-radius: unset;
	}
	.progress-bar .progress-text {
		height: 30px;
		line-height: 30px;
		font-size: 15px;
		font-weight: bold;
	}
	
	
	
	.progressArea .progress-bar {
		margin: 10px 0 5px 0;
		border-radius: 0; 
	}
	.rewArea .zusammenfassung_header, 
	.rewArea .cart_item_header {
		max-height: 100px;
		padding: 3px 10px 3px 10px;
		border-top: 5px solid #d1d1d1;
	}
	
	.rewArea .general_info_header {
		border-top: 0;
		white-space: nowrap;
		overflow: hidden; 
		text-overflow: ellipsis;
		padding: 10px;
	}

		
	/* auf und zuklappen */
	.booking_container_content .button_booking_grey .zeigen {  display: inline; }
	.booking_container_content .button_booking_grey .verbergen {  display: none; }
	.booking_container_content.review_ausklappen .button_booking_grey .zeigen {  display: none; }
	.booking_container_content.review_ausklappen .button_booking_grey .verbergen {  display: inline; }
	
	.rewArea .cart_item_header, 
	.rewArea .zusammenfassung_header { 	
		max-height: 0; 
		 transition: all 200ms linear;
		 padding: 0px 10px 0px 10px;
		 border-top: 0px solid #fff;
	}	
	
	.booking_container_content .review_box_content  { 	
		max-height: 0; 
		 transition: all 250ms ease-out;
		opacity: 0;
	}

	.review_ausklappen .rewArea .cart_item_header, 
	.review_ausklappen .rewArea .zusammenfassung_header  { 	max-height: 100px;  padding: 3px 10px 3px 10px; border-top: 3px solid #fff; transition: all 200ms linear; }	
	.review_ausklappen .review_box_content  { 	max-height: 1000px; opacity: 1; transition: all 500ms ease-out; }
}





/************************************************************************************************************************************************************************************************************************/
/* xox: Navigation_Buttons () */
/************************************************************************************************************************************************************************************************************************/

/* Navigations buttons in Buchung */
/*
#naviButtons .btncontainer {
	width: 100%;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 2fr 1fr;
	  grid-template-columns: 1fr 2fr 1fr;
	-ms-grid-rows: 1fr;
	  grid-template-rows: 1fr;
}
*/

.sticky_nav .navi_buttons {
	position: fixed;
	width: 100%;
	left: 0;
	bottom: 0;
	border-top: 1px solid #aeaeae;
	z-index: 10;
	padding: 5px 0;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
}
.web_frontend.sticky_nav .navi_buttons { background: var(--color-web-buchung-contentbox); }
.app_frontend.sticky_nav .navi_buttons { background: #f2f2f2cc; border-top: 1px solid #ccc; bottom: var(--height-footer-app-height-medium); }

.app_frontend.sticky_nav #abstand_zu_naviButtons { min-height: 100px; }
.web_frontend.sticky_nav #abstand_zu_naviButtons { min-height: 100px;	width: 1px; }


.sticky_nav .navi_buttons_inner {	padding: 0 10px 0 10px;}
@media screen and (min-width: 750px) {	
	.sticky_nav .navi_buttons_inner {	padding-left: 27%;	}
}
@media screen and (min-width: 1200px) {	
	.sticky_nav .navi_buttons_inner {	width: var(--width-page-content-general);	margin: auto;	padding-left: 295px;	}
}



/*
.step_insurance .navi_buttons .btncontainer,
.step_cabin_number .navi_buttons .btncontainer {
	-ms-grid-columns: 1fr 2fr;
	  grid-template-columns: 1fr 2fr;
}

.step_insurance .navi_buttons .button_booking_next,
.step_cabin_number .navi_buttons .button_booking_next {
	font-size: 14px;
	-ms-grid-column: 2;
	grid-column: 2;
}

.step_final_check .navi_buttons .btncontainer {
	-ms-grid-columns: 1fr 2fr;
	  grid-template-columns: 1fr 2fr;
}
*/

.step_final_check .navi_buttons .button_booking_next {
	padding-left: 5px;
	padding-right: 5px;
	-ms-grid-column: 2;
	grid-column: 2;
}

@media screen and (min-width: 450px) {
	.step_final_check .navi_buttons .button_booking_next {
	font-size: 14px;
	padding-left: 5px;
	padding-right: 5px;
	max-width: 349px;
	width: 100%;
	-ms-grid-column-align: end;
	    justify-self: end;
	}
}

@media screen and (min-width: 750px) {
	#naviButtons.sticky .btncontainer {
	max-width: 95%;
	padding-left: 24%;
	padding-right: 20px;
	}
	.step_final_check .navi_buttons .button_booking_next {
	padding-left: 50px;
	padding-right: 50px;
	max-width: 1000px;
	}
	
	.step_insurance .navi_buttons .button_booking_next,
	.step_cabin_number .navi_buttons .button_booking_next,
	.step_final_check .navi_buttons .button_booking_next {
	font-size: 16px;
	}
}

@media screen and (min-width: 1200px) {
	#naviButtons.sticky .btncontainer {
	max-width: var(--width-page-content-general);
	}
}




/* booking_content_box */
.booking_content_area .booking_content_box {
	 padding: 5px;
	float: left;
	width: 100%;
}
.web_frontend .booking_content_area .booking_content_box { background: var(--color-web-buchung-contentbox); }
.app_frontend .booking_content_area .booking_content_box { background: var(--color-app-buchung-contentbox); }

@media screen and (min-width: 750px) {
	.step_final_confirmation.booking_content_area .booking_content_box { 	padding: 20px;  }
}

@media screen and (max-width: 749px) {	
	body.web_frontend.body_booking .all_page_booking_container_1 { background: var(--color-web-buchung-contentbox); }
	body.app_frontend.body_booking .all_page_booking_container_1 { background: var(--color-app-buchung-contentbox-dark); }
	.app_frontend .booking_content_area.step_personal_data .booking_content_box { background: var(--color-app-buchung-contentbox); }
}


.booking_content_area .booking_content_warning {
	background: #ffcfcf;
	padding: 20px;
	border: 0;
}
	
@media screen and (max-width: 749px) {
	.booking_content_area .booking_content_warning { margin-top: 5px; }
}
@media screen and (min-width: 750px) {
	.booking_content_area .booking_content_warning { border-radius: 10px; margin-bottom: 10px; }
}

.booking_content_area .booking_content_warning ul, 
.booking_content_area .booking_content_warning h2, 
.booking_content_area .booking_content_warning p {
	color: #ac0000;
}
.session_ungueltig_content {
	border-radius: 5px;
	padding: 10px;
}
.session_ungueltig_content ul {
	padding-left: 20px;
}
@media screen and (min-width: 550px) {
	.session_ungueltig_content {
		padding: 50px 50px 200px 50px;
	}
}
	
.booking_content_area .form {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.booking_content_area .section-holder  {
	display: block;
}

.booking_content_area .section {
	width: 100%;
}

.booking_1_content {
	margin-top: 10px;
}

.booking_1_content .plusminus {
	width: 100%;
	font-weight: bold;
	font-size: 23px;
	line-height: 20px;
	height: 42px;
	margin: 0;
}

.booking_1_content select {
	text-align: center;
	font-size: 16px;
	outline: none;
	line-height: 18px;
	color: #000;
	min-height: 36px;
	border: 1px solid #d9d9d9;
	width: 100%;
	background-color: #FDFDFD;
	font-weight: normal;
	padding: 10px 0px;
	margin: 5px 0px 3px 0px;
}

.booking_1_content select.selections-personen-dropdowns,
.booking_1_content select.selections-personen-dropdowns:focus {
	font-size: 16px;
	text-align: center;
	text-indent: 0;
	width: 100%;
}

.booking_1_content .selections-personen {
	font-weight: bold;
	height: 42px;
	font-size: 20px;
	width: 100%;
	border-radius: 4px;
	text-align-last: center;
	padding: 0;
}



.booking_1_content .personenalter_auswahl  {
	text-align: center;
	width: 100%;	
}


.booking_1_content .personenalter_auswahl label {
	width: 100%;
}

.booking_1_content .anzahl_reiseteilnehmer {
	display: flex; 
	width: 100%;
	gap: 10px;
	justify-content: center;
	align-items: center;
}
.booking_1_content .anzahl_reiseteilnehmer .plus, 
.booking_1_content .anzahl_reiseteilnehmer .minus {
	width: 20%;
}
.booking_1_content .anzahl_reiseteilnehmer .select {
	width: 60%;
}



@media screen and (min-width: 750px) {
	.booking_content_area {
	padding-left: 10px;
	padding-bottom: 10px;
	}
	.booking_1_content .termine_container {
	padding: 0px 10px;
	}
	.booking_1_content select.selections-personen-dropdowns  {
		padding-left: 30px;
		padding-right: 30px;
	}

}

/************************************************************************************************************************************************************************************************************************/
/* xox: Neue_Ausklapplisten () */
/* Neue Listen mit bereich_klappen... ab v2.3 (06.02.2023) erstmals bei Bahnstep für R&C
/************************************************************************************************************************************************************************************************************************/

/* Erweiterung für JS => Dazu muss im Quellcode js_bereich_klappen_manage set_events im input-Element aktiviert sein. Damit werden zusätzlich noch die Klassennamen aktiv und passiv eingefügt. => ist aber eigentlich nicht erforderlich. Funktioniert auch ohne JS 
.bereich_klappen_label.aktiv .bereich_klappen_zusatzinfo { 	display:block; }
.bereich_klappen_label input + div.bereich_klappen_area div.bereich_klappen_zusatzinfo { 	background: #f00; }  */


.sections label.bereich_klappen_label,
.bereich_klappen_label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0;
	border: 0;
	font-weight: normal;
}

.bereich_klappen_label .bereich_klappen_input {
	touch-action: manipulation;
}

.bereich_klappen_label .bereich_klappen_input {
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	display: none;
}

.bereich_klappen_label .bereich_klappen_input + .bereich_klappen_area::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	top: 0;
	float: left;
	padding-right: 5px;
}


.bereich_klappen_label .bereich_klappen_input + .bereich_klappen_area.use_radio::before {
	font-weight: normal;
	content: "\f111";
}
.bereich_klappen_label .bereich_klappen_input + .bereich_klappen_area.use_checkbox::before {
	font-weight: normal;
	content: "\f0c8";
}


.bereich_klappen_label .bereich_klappen_input:checked + .bereich_klappen_area.use_radio::before {
	content: "\f058";
	font-weight: normal;
}
.bereich_klappen_label .bereich_klappen_input:checked + .bereich_klappen_area.use_checkbox::before {
	content: "\f14a";
	font-weight: normal;
}





.bereich_klappen_label {
	margin: 10px 0;	
}

.bereich_klappen_label .bereich_klappen_area {
	width: 100%;
	height: 100%;
	padding: 10px 10px;
	border-radius: 8px;
	border: 1px solid transparent;
	background-color: #FFF;
	color: #333;
	cursor: pointer;
	display: flex;
	flex-direction: row;	
	line-height: 1.5;
}

.bereich_klappen_label .bereich_klappen_text {
	padding: 8px 0 8px 10px;	
}

.bereich_klappen_label .bereich_klappen_area:hover {
	background-color: var(--color-button-background);
	border: var(--color-button-width) solid var(--color-button-border);
	color: #333;
}
.bereich_klappen_label .bereich_klappen_input:checked + .bereich_klappen_area {
	background-color: var(--color-button-selected) !important;
	border: var(--color-button-width) solid var(--color-button-border-selected) !important;
	color: #fff !important;
}

.bereich_klappen_label .bereich_klappen_zusatzinfo, 
.bereich_klappen_label.passiv .bereich_klappen_zusatzinfo {
	display: none;
	
}
.bereich_klappen_label .bereich_klappen_input:checked + div.bereich_klappen_area div.bereich_klappen_zusatzinfo {
	display: block;
}

.bereich_klappen_zwischenueberschrift {
	padding: 20px 10px 10px 10px;
	margin: 0;
	display: block;
}
.bahn_sternchentext {
	padding: 10px;
	margin: 0;
}

@media screen and (max-width: 549px) {
	.bereich_klappen_label .bereich_klappen_text {
		padding-left: 5px;	
	}
}




/************************************************************************************************************************************************************************************************************************/
/* xox: Auswahllisten () */
/************************************************************************************************************************************************************************************************************************/

.subformular_auswahlliste, 
.vertikale_auswahlliste .btn {
	background-color: #FFF;
	margin: 10px 0px;
	border-radius: 5px;
	display: flex;
	transition: all .2s ease-in;
	padding: 0;
	border: 0;
	width: 100%;
}

.subformular_auswahlliste {
	padding: 10px;
	border-radius: 0;
	display: block;
}
	

.vertikale_auswahlliste .btn:hover > div {
	background-color: var(--color-button-background);
	border: 1px solid var(--color-button-border);
}
.vertikale_auswahlliste .btn.btn_einzelpruefung_erforderlich:hover > div {
	background-color: #ffffd4;
	border: 1px solid #ffc992;
}


.subformular_auswahlliste .subformular_ausklapper input[type="radio"],
.subformular_auswahlliste .subformular_ausklapper input[type="checkbox"],
.vertikale_auswahlliste .btn input[type="radio"],
.vertikale_auswahlliste .btn input[type="checkbox"] {
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	top: 80%;
	position: absolute;
	left: 30%;
}

/* .vertikale_auswahlliste .btn > div {    <= müsste so korrekt ersetzt sein. */
.booking_form_checkbox_before, 
.vertikale_auswahlliste .ausklappliste_element_ebene2, 
.vertikale_auswahlliste .ausklappliste_element_ebene1 {
	width: 100%;
	/* height: 100%; */
	padding: 10px 10px;
	border-radius: 5px;
	border: 1px solid transparent;
}

/* .vertikale_auswahlliste .btn > div > span {    <= müsste so korrekt ersetzt sein. */
.vertikale_auswahlliste .ausklappliste_headtext_einzeilig,
.vertikale_auswahlliste .ausklappliste_headtext_mehrzeilig, 
.vertikale_auswahlliste .ausklappliste_headtext {
	padding-left: 10px;
	line-height: 36px;
	font-weight: bold;
	position: relative;
	display: block;
	float: left;
	max-width: 90%;
	width: 90%;
	margin: 0;
}

.ausklappliste_headtext_subformular {
	padding-left: 10px;
	position: relative;
	display: block;
	float: left;
	margin: 0;
	max-width: 100%;
}
.vertikale_auswahlliste .ausklappbereich_subformular {
	background: #fff;
}

.vertikale_auswahlliste .einzelpruefung_erforderlich {
	width: 95%;
	float: left;
	display: block;
	padding-left: 30px;
	text-align: left;
}

.vertikale_auswahlliste .ausklappliste_headtext_mehrzeilig, 
.vertikale_auswahlliste .ausklappliste_headtext {
	margin: 5px 0 0 0;
}
.vertikale_auswahlliste .ausklappliste_headtext_einzeilig {
	margin: 10px 0 0 0;
}

.vertikale_auswahlliste .btn .label_mehrzeilig  {
	margin-top: 10px;
	padding-left: 36px;
	max-width: 90%;
}
.vertikale_auswahlliste .btn .label_mehrzeilig span.unwichtig  {
	display: none;
}


@media screen and (min-width: 550px) {
	.vertikale_auswahlliste .btn .label_mehrzeilig span.unwichtig  {
	  display: unset;
	}	
}
.vertikale_auswahlliste .btn .label_mehrzeilig span {
	line-height: 1.4;
	font-weight: bold;
	position: relative;
	display: block;
	float: left;
}

.vertikale_auswahlliste .ausklappliste_element_ebene2 strong {
	display: block; 
}



.ausklappliste_headtext_subformular {
	width: 100%;
	padding: 0;
	border-radius: 0;
	border: 0;
}


/* Icon setzen für nicht ausfgefüllten Zustand z5379 */
.ausklappliste_element_ebene1::before, 
.ausklappliste_element_ebene2::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	font-weight: normal;
	content: "\f111";
	top: 0;
	position: relative;
	float: left;
	width: 30px;
}

.btn_einzelpruefung_erforderlich .ausklappliste_element_ebene2::before {
	content: "\f111";
	font-weight: normal;
}
.subformular_labeltext {
	padding-left: 30px;
	display: block;
}

.subformular_labeltext strong, 
.subformular_labeltext span {
	display: block;
	line-height: 20px;
	font-size: 16px;
}
.subformular_labeltext span {
	font-weight: normal;
}
.ausklappbereich_subformular p.form_label {
	margin: 10px 0 0 0;
}

.ausklappbereich_subformular {
	display: block;
}

.booking_form_tabs_checkbox_before::before, 
.booking_form_checkbox_before::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	font-weight: normal;
	content: "\f111";
	top: 0;
	position: relative;
	float: left;
	padding-right: 5px;
}

/* Icon setzen für angeklickten Zustand */
input[type="radio"]:checked + .booking_form_tabs_checkbox_before::before,
input[type="radio"]:checked + .booking_form_checkbox_before::before,
input[type="radio"]:checked + .ausklappliste_element_ebene2::before,
input[type="checkbox"]:checked + .ausklappliste_headtext_subformular::before,
input[type="checkbox"]:checked + .booking_form_tabs_checkbox_before::before,
input[type="checkbox"]:checked + .booking_form_checkbox_before::before,
input[type="checkbox"]:checked + .ausklappliste_element_ebene2::before {
	content: "\f058";
	font-weight: normal;
}

/* Fragezeichen */
.btn_einzelpruefung_erforderlich input[type="radio"]:checked + .ausklappliste_element_ebene2::before,
.btn_einzelpruefung_erforderlich input[type="checkbox"]:checked + .ausklappliste_element_ebene2::before {
	content: "\f059";
	font-weight: bold;
}

/* Farben und Schrift für angeklickten Zustand */
.vertikale_auswahlliste input[type="radio"]:checked + .booking_form_tabs_checkbox_before,
.vertikale_auswahlliste input[type="radio"]:checked + .booking_form_checkbox_before,
.vertikale_auswahlliste input[type="radio"]:checked + .ausklappliste_element_ebene2,
.vertikale_auswahlliste input[type="checkbox"]:checked + .booking_form_tabs_checkbox_before, 
.vertikale_auswahlliste input[type="checkbox"]:checked + .booking_form_checkbox_before, 
.vertikale_auswahlliste input[type="checkbox"]:checked + .ausklappliste_element_ebene2 {
	background-color: var(--color-button-selected) !important;
	border: var(--color-button-width) solid var(--color-button-border-selected) !important;
	color: white !important;
}

/* Farben und Schrift für angeklickten Zustand zuvor mit ausklappliste_einzelpruefung_ebene2 gemacht */
.vertikale_auswahlliste .btn_einzelpruefung_erforderlich input[type="radio"]:checked + .ausklappliste_element_ebene2,
.vertikale_auswahlliste .btn_einzelpruefung_erforderlich input[type="checkbox"]:checked + .ausklappliste_element_ebene2 {
	
	/* Heller Hintergrund (analog hover) 
	background-color: #fff3b4 !important;
	border: 1px solid #e8d679  !important;
	/*
	
	/* dunkler Hintergrund (analog ausgewählt) */
	background-color: #a87e00  !important;
	border: 1px solid #8a7500  !important;
	color: white !important;
	
	/* nichts machen, weil man diese Option ja nicht auswählen kann */
}


.vertikale_auswahlliste .btn .airport_inner2 {
	display: none;
	font-weight: normal;
	font-size: 14px;
	text-align: left;
}

.vertikale_auswahlliste .btn .airport_inner2 span {
	white-space: normal;
	font-weight: normal;
	font-size: 14px;
	display: unset;
	margin: 0;
	padding: 0;
	display: block;
}

.vertikale_auswahlliste .btn input[type="radio"]:checked + div .airport_inner2,
.vertikale_auswahlliste .btn input[type="checkbox"]:checked + div .airport_inner2 {
	display: block;
}

#airportContainer .zusatzleistungen_ausklapper .ausklappliste_element_ebene1 {
	padding: 5px 10px;
}

#airportContainer label.btn span,
#zusatzContainer label.btn span,
#bahnContainer label.btn span {
	white-space: normal;
	font-weight: normal;
	padding-top: 0;
	padding-bottom: 0;
	display: block;
	line-height: 20px;
	text-align: left;
}

#airportContainer .ausklappliste_element_ebene1 span.ausklappliste_headtext {
	padding-top: 8px;	
}

#zusatzContainer label.btn span .airport_inner2 span,
#bahnContainer label.btn span .airport_inner2 span {
	display: unset;
}

#airportContainer label.btn span.flug_hinrueck {
	padding-top: 20px;
	font-weight: bold;
}

#airportContainer label.btn span.flug_strecke {
	padding-top: 3px;
	padding-bottom: 3px;
	line-height: 17px;
}
@media screen and (max-width: 549px) {
	#airportContainer label.btn span.flug_strecke {
		border-top: 1px dashed #97ae97;	
	}
}

/************************************************************************************************************************************************************************************************************************/
/* xox: Warnungs_und_Meldungen () */
/************************************************************************************************************************************************************************************************************************/
/* Warnings und Meldungen */
.errormessage, 
.warnung_rot_full {
	color: #a81818; 
	font-weight: bold; 
	width: 100%;
	padding: 10px;
	background: #fcc;
	border: 2px solid #f2a3a3;
	margin: 0 0 10px 0;
	
}
.infomessage, 
.hinweis_blau_full {
	font-weight: bold;
	width: 100%;
	padding: 10px;
	background: #ebfbff;
	border: 2px solid #bbccd5;
	margin: 0 -5px 10px -5px;
}
.orangemessage,
.infomessage {
	border:2px solid #FF6100;
	color:#FF6100;
	background:#FFEDC9;
	padding: 10px;
	margin: 0 -5px 10px -5px;
}
.successmessage {
	border:2px solid #008000;
	color:#008000;
	background:#ACF9AC;
	padding: 10px;
	margin: 0 -5px 10px -5px;
}


.app_frontend .infomessage  { border:2px solid #e8d4c8; }
.app_frontend .errormessage { border:2px solid #eeb8b8; }
.app_frontend .successmessage { border:2px solid #008000; }


/************************************************************************************************************************************************************************************************************************/
/* xox: Booking_Content_Area () */
/************************************************************************************************************************************************************************************************************************/


/************************************************************************************************************************************************************************************************************************/
/* xox: ausklapp_subinfos () */
/************************************************************************************************************************************************************************************************************************/

.ausklapp_subinfos .subinfo_item {
	position: relative;
	background-color: #FFF;
	padding: 10px;
	margin-bottom: 10px;
}
.ausklapp_subinfos .subinfo_item .nicht_verfuegbar {
	text-align: center;
	padding: 10px 10px 0 10px;
}

.ausklapp_subinfos .subinfo_item.ohne_veranstaltung, 
.ausklapp_subinfos .subinfo_item.ohne_hotel {
	display: flex; 
	justify-content: space-between;
}

.ausklapp_subinfos .subinfo_item.ohne_veranstaltung .text_im_button, 
.ausklapp_subinfos .subinfo_item.ohne_hotel .text_im_button {
	word-wrap: nowrap;
}
.ausklapp_subinfos .subinfo_item.ohne_veranstaltung .button_kategorieauswahl, 
.ausklapp_subinfos .subinfo_item.ohne_hotel .button_kategorieauswahl {
	width: 100%;
}

.ausklapp_subinfos .infoitem_title {
	font-weight: bold;
	font-size: 16px;
	padding-top: 10px;
}
.ausklapp_subinfos .infoitem_subtitle {
	font-size: 14px;
}
.ausklapp_subinfos .infoitem_contentzeile {
	display: block;
}
.ausklapp_subinfos .infoitem_contentzeile {
	padding-top: 10px;
}

.ausklapp_subinfos .infoitem_smallfoto, 
.ausklapp_subinfos .infoitem_foto {
	width: 100%;
}
.ausklapp_subinfos .infoitem_smallfoto img, 
.ausklapp_subinfos .infoitem_foto img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.ausklapp_subinfos .button_zusatzzeile_ausklappen {
	justify-content: end;
	display: flex;
	margin-top: 5px;
}


.ausklapp_subinfos .hotel_contentrechts {
	width: 100%;
	display: inline-block;
}

.ausklapp_subinfos .hotel_ausklappinfos {
}

.ausklapp_subinfos .top_merkmale ul li::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 16px;
	content: "\f058";
	font-weight: bold;
	position: relative;
	float: left;
	padding: 4px 0 0 0;
	line-height: 14px;
	width: 23px;
	text-align: center;
	margin-left: -23px;
}

.ausklapp_subinfos .top_merkmale ul li {
	font-size: 14px;
	color: var(--color-page-kfliste-green);
	font-weight: bold;
}
.ausklapp_subinfos .top_merkmale ul {
	list-style: none;
	margin: 5px 0 5px 20px;
	padding: 0;
}
.ausklapp_subinfos .text_zusatzinfo {
	
}
.ausklapp_subinfos .title_zusatzinfo, .ausklapp_subinfos h3 {
	font-weight: bold;
	margin-top: 15px;
	color: #333;
	font-size: 14px;
}


.ausklapp_subinfos .zusatzinfo_haecken_text_liste ul li::before {
	font-family: 'Font Awesome 5 Free';
	content: "\f00c";
	font-weight: bold;
	position: relative;
	float: left;
	padding: 4px 0 0 0;
	line-height: 14px;
	width: 23px;
	text-align: center;
	margin-left: -25px;
}
.ausklapp_subinfos .zusatzinfo_haecken_text_liste ul {
	list-style: none;
	margin: 5px 0 10px 25px;
	padding: 0;
}
.ausklapp_subinfos .zusatzinfo_haecken_schmale_liste ul li::before,
.ausklapp_subinfos .zusatzinfo_text_liste ul li::before {
	font-family: 'Font Awesome 5 Free';
	content: "\f00c";
	font-weight: bold;
	position: relative;
	float: left;
	padding: 4px 0 0 0;
	line-height: 14px;
	width: 23px;
	text-align: center;
	margin-left: -25px;
}
.ausklapp_subinfos .zusatzinfo_text_liste ul {
	list-style: none;
	margin: 5px 0 10px 0;
	padding: 0;
}
.ausklapp_subinfos .zusatzinfo_text_liste ul li {
	margin: 5px 0;
}
.ausklapp_subinfos .zusatzinfo_text_liste p {
	margin: 10px 0 5px 0;
}
.ausklapp_subinfos .zusatzinfo_text_liste p+p {
	margin-top: 5px;
}

.ausklapp_subinfos .zusatzinfo_haecken_schmale_liste ul {
	list-style: none;
	margin: 5px 0 10px 25px;
	padding: 0;
}

@media screen and (min-width:  450px){ 
	.ausklapp_subinfos .zusatzinfo_haecken_schmale_liste ul {
		display: flex;
		flex-wrap: wrap;
	}

	.ausklapp_subinfos .zusatzinfo_haecken_schmale_liste ul li {
		width: 50%;
	}
}
@media screen and (min-width:  900px){ 
	.ausklapp_subinfos .zusatzinfo_haecken_schmale_liste ul li {
		width: 33%;
	}
}

.ausklapp_subinfos .text_zusatzinfo ul, 
.ausklapp_subinfos .zusatzinfo_liste_simple ul {
	margin: 5px 0 10px 25px;
	padding: 0;
}

.ausklapp_subinfos .fotoliste_zusatzinfo { 
	margin-right: -10px;
	display: flex;
	flex-wrap: wrap;
}
.ausklapp_subinfos .fotoliste_zusatzinfo .einzelfoto {
	width: 32.3%;
	margin-right: 1%;
	margin-top: 1%;
	position: relative;
}
.ausklapp_subinfos .fotoliste_zusatzinfo.anzahl_1 .einzelfoto {
	width: 98.9%;
}
.ausklapp_subinfos .fotoliste_zusatzinfo.anzahl_2 .einzelfoto {
	width: 48.9%;
}

@media screen and (max-width:  600px){ 
	.ausklapp_subinfos .fotoliste_zusatzinfo .einzelfoto {
		width: 49%;
	}
}
.ausklapp_subinfos .fotoliste_zusatzinfo .einzelfoto img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.ausklapp_subinfos .fotoliste_zusatzinfo .credit {
	text-align: right;
	margin-right: 7px;
	font-size: 12px;
	bottom: 0;
	position: absolute;
	text-shadow: 1px 1px 0px #fff;
	opacity: 0.8;
	right: 0;
}

.ausklapp_subinfos .kategorien_am_termin.termin_verbergen,
.js_zusatzzeile_ausklappen_parent.verbergen_preise .js_zusatzzeile_hotelpreise_content,
.js_zusatzzeile_ausklappen_parent.verbergen_beschreibungen .js_zusatzzeile_hotelbeschreibungen_content,
.ausklapp_subinfos .zusatzinfo_wrapper.verbergen,
.step_veranstaltungen .ausklapp_subinfos .zusatzinfo_wrapper.verbergen,
.ausklapp_subinfos .zusatzinfo_wrapper.verbergen {
	opacity: 0;
	max-height: 0px;
	overflow:hidden;
	transition: max-height 0.50s ease-out, opacity 0.30s linear;
}
 

.ausklapp_subinfos .zusatzinfo_wrapper {
	opacity: 1;
	overflow: hidden;
	transition: max-height 0.50s ease-out, opacity 0.30s linear;
}
.ausklapp_subinfos .zusatzinfo_wrapper {	
	max-height: 100009px;
}

.step_veranstaltungen .ausklapp_subinfos .zusatzinfo_wrapper {	
	max-height: 100009px;
}

.ausklapp_subinfos .kategorien_am_termin.termin_zeigen {
	max-height: 100009px;
}
	
.ausklapp_subinfos .hotel_kategoriezeile {
	display: flex;
	padding-top: 10px;
	margin-top: 10px;
	border-top-style: dashed;
	border-top-width: 1px;
	border-top-color: #7ad3e3;
}
.step_veranstaltungen .ausklapp_subinfos .hotel_kategoriezeile {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.ausklapp_subinfos .veranstaltung_kategoriedesc {
	padding: 0 20px 0 0;
}
.ausklapp_subinfos .veranstaltung_kategoriebuttons {
	text-align: right;
}


.ausklapp_subinfos .hotelkategorie_foto_list {
	display: none;
}

.ausklapp_subinfos .hotel_footerzeile {
	text-align: right;
}


.ausklapp_subinfos .kategorie_contentfull {
	width: 100%;
}
.ausklapp_subinfos .kategorie_contentrechts {
	width: 100%;
}
.ausklapp_subinfos .kategorie_title {
	font-weight: bold;
	font-size: 16px;
}
.ausklapp_subinfos .kategorie_description { 
	margin-top: 10px;
	margin-bottom: 10px;
}
.ausklapp_subinfos .kategorie_fruehstueck { 
}
.ausklapp_subinfos .kategorie_ausstattung { 
	margin-top: 10px;
	margin-bottom: 10px;
}

.ausklapp_subinfos .offer_wrapper {
	text-align: right;
	display: block;
}

.ausklapp_subinfos .offers_title { 
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: 5px;
}

.ausklapp_subinfos .preisbutton_zeile {
	display: flex;
	justify-content: right;
	position: relative;
	flex-direction: column;
	margin-bottom: 5px;
}



@media screen and (min-width: 550px) {
	.ausklapp_subinfos .hotelkategorie_foto_list { display:block; width: 30%; padding-right: 10px; }
	.ausklapp_subinfos .kategorie_contentrechts { 	width: 70%; }
}	
@media screen and (min-width: 750px) {
	.ausklapp_subinfos .infoitem_contentzeile { display: flex; }
	.ausklapp_subinfos .infoitem_title { padding-top: 0; }
	.ausklapp_subinfos .infoitem_foto { width: 30%; padding-right: 10px; }
	.ausklapp_subinfos .top_merkmale ul li { font-size: 16px; }	
	.ausklapp_subinfos .hotel_contentrechts { 	width: 70%; }	
	.ausklapp_subinfos .infoitem_smallfoto { width: 20%; padding-right: 10px; }	
	.step_veranstaltungen .ausklapp_subinfos .hotel_kategoriezeile { flex-direction: row; }
	.ausklapp_subinfos .veranstaltung_kategoriebuttons { padding-top: 30px; }
}
@media screen and (max-width: 749px) {
	.ausklapp_subinfos .hotel_contentrechts .zusatzzeile_ausklappen { display: none; }
	.progress-bar, .booking_content_box { box-shadow: none; }
	.booking_container_content { background: #e3f4fb; }
}


/* Kasten für Fotogalerie (bei Hotels) */
.foto_galerie_liste {
	padding: 0;	
	margin-right: -5px;
}
.foto_galerie_liste .foto_single_box {
	display: flex;
}

.foto_galerie_liste .foto_single_box .foto_single {
	display: inline-block;
	margin-top: 5px;
	margin-right: 5px;
	margin-bottom: 5px; 
}
.foto_galerie_liste .foto_single_box .foto_single img {
	opacity: 0;
}

.foto_galerie_liste .foto_single img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}


.foto_galerie_liste .foto_big {  width: calc(100% - 5px);  }
.foto_galerie_liste.layout_2 .foto_single.foto_1, .foto_galerie_liste.layout_2 .foto_single.foto_2 {  width: calc(50% - 5px);  }
.foto_galerie_liste.layout_3 .foto_single.foto_1, .foto_galerie_liste.layout_3 .foto_single.foto_2, .foto_galerie_liste.layout_3 .foto_single.foto_3 {  width: calc(33.33% - 5px);  }

.foto_galerie_liste img {
	width: 100%;
}

 

/************************************************************************************************************************************************************************************************************************/
/* xox: Viator_DB_iframe () */
/************************************************************************************************************************************************************************************************************************/
.vg-widget {
	--color-mainColor: #0784cc !important;
	--color-mainPrior: #043e7c !important;
	--color-mainLight: #043e7c !important;
	--color-disabledMain: #c5c5c5 !important;
	--color-background: #dee6eb !important;	
	--text-sm--line-height: 1.25;
}

.vg-widget .focus\:outline-mainLight,
.vg-widget .focus\:outline-mainLight:focus {
	outline-color: #fff !important;
}

.vg-widget .vg-widget__step {  }

.vg-widget .vg-widget__step__header {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	padding: 10px 15px !important;
}
.vg-widget .vg-widget__step__header--accessible {}
.vg-widget .vg-widget__step__header--open {}
.vg-widget .vg-widget__step__header--disabled {}

.vg-widget .vg-widget__step__body { 
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.vg-widget .vg-widget__step__box {}

/* Box in Schritt 1 */
.vg-widget .border-b-2.vg-widget__step__box--input { 
	background: #fff !important; 
	border-radius: 5px;
	border: 1px solid #fff;
}  
.vg-widget .border-b-2.vg-widget__step__box--input:hover { 
	background: var(--color-button-background) !important;
	border-radius: 5px;
	border: 1px solid var(--color-button-border) !important;
} 
.vg-widget .border-b-2.vg-widget__step__box--input {
	border-bottom-style: unset;
	border: 1px solid #409140  !important;
	background: var(--color-button-background) !important;
}

.vg-widget .border-b-2.vg-widget__step__box--input .text-mainColor {
	color: #448844 !important;
}
.vg-widget .border-b-2 .text-mainColor .rounded-full {
	border-color: #448844 !important;
}

/* Eingabeformular */
.vg-widget label.vg-widget__step__box--input {
	border: 1px solid #d9d9d9 !important;
	border-radius: 5px;	
}

.vg-widget label.vg-widget__step__box--input input[type="text"] {
	border: 0;
}

.vg-widget label.vg-widget__step__box--input .text-sm {
	font-weight: normal;
	color: #2e2e2e;
}


.vg-widget .border-mainColor .text-lg {
	border: 0;
}

.vg-widget .vg-widget__step__box--input {}
.vg-widget .vg-widget__step__button {}
.vg-widget .vg-widget__step__button--stepper {}
.vg-widget .vg-widget__step__button--stepper:hover {}

.vg-widget .bg-background {
	background: #fff !important;
	background: #f0f7fd !important;
}

.vg-widget .bg-disabledSectionGray {
	background-color: #d0e7f4 !important;
	color: #fff !important;
	border-radius: 5px !important;
	text-shadow: 0 0 4px #0002 !important;
}

.vg-widget ::placeholder {
	opacity: 1;
	color: color-mix(in oklab,currentColor 30%,transparent);
}


/************************************************************************************************************************************************************************************************************************/
/* xox: Landausfluege () */
/************************************************************************************************************************************************************************************************************************/

.landausflug_liste {
	display: block;
	float:left;
	width: 100%;
}
.landausflug_item {
	display: block;
	float:left;
	background-color: #FFF;
	padding: 10px;
	margin-bottom: 10px;
	width: 100%;
}
.landausflug_item .static_block {
	display: block;
	position: relative;
}
.landausflug_item .bild {
	padding-right: 5px;
	float: left;
}
.landausflug_item .bild2 {
	position: relative;
}
.landausflug_item .bild img {
	width:200px; height: 175px;
	filter: saturate(1.5); 
}
.landausflug_item .ort_auf_bild {
	position:absolute;
	color: #fff;
	bottom:0;
	left: 0;
	padding: 0px 0 5px 5px;
	text-shadow: 0 0 2px #000;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.2;
}
.landausflug_item .beschreibung {
	
	
}
.landausflug_item .beschreibung .titel {
	font-weight: bold;
	font-size: 18px;
	line-height: 1.2;
}
.landausflug_item .attribute .attribut_liste {
	display: block;
	float: left;
}
.landausflug_item .attribute  {
	display: block;
	float: left;
	width: 100%;
}
.landausflug_item .attribute .attribut_item:first-child  {
	padding-top: 5px;
} 
.landausflug_item .attribute .attribut_item {
	display: block;
	float: left; 
	width: 100%;
}
.landausflug_item .attribute .attribut_title  {
	font-weight: bold;
	display: inline;
}
.landausflug_item .attribute .attribut_text  {
	display: inline;
}
.landausflug_item .attribute .attribut_text p  {
	margin: 0;
}
.landausflug_item .attribute .foto_liste {
	display: block;
	float: left;
	width: 100%;
}
.landausflug_item .attribute .foto_item {
	display: block;
	float: left;
	width: calc(33.33% - 5px);
	margin: 5px 5px 0 0;
}
.landausflug_item .attribute .foto_item img {
	width: 100%;
	height: auto;
}

.landausflug_item .sub_products  {
	display: block;
	float: right;
	width: 100%;
}
.landausflug_item .sub_product  {
	display: block;
}
 
.landausflug_item .sub_product .date {
	font-weight: bold;	
	float: right;
	padding: 14px 0 5px 0;
	font-size: 18px;
	text-align: right;
	width: 500px;
}
.landausflug_item .sub_product .date_options {
	display: block;
	float: right;
}
.landausflug_item .sub_product .date_option {
	display: flex;
	padding: 2px 2px 2px 8px ;
	margin-bottom: 2px;
	border-radius: 5px;
	background-color: var(--color-button-background);
	border: 1px solid var(--color-button-border);
	text-align: right;
	float: right;
	justify-content: space-between;
}
.landausflug_item .sub_product .date_option_links {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.landausflug_item .sub_product .subprodukt_title {
	padding: 5px 5px 5px 0;
	min-width: 250px;
	display: block;
	text-align: left;
}

.landausflug_item .sub_product .subprodukt_preis {
	padding: 5px 10px 5px 0;
	min-width: 100px;
	display: block;
	white-space: nowrap;
}

.landausflug_item .anzahl_tickets {
	background-color: #fff;
	background-color: var(--color-button-background);
	border: 1px solid var(--color-button-border);
	border-radius: 4px;
	padding: 5px 7px;
	font-weight: bold;
	font-size: 16px;
	min-width: 100px;
}

.landausflug_item .date_option:hover .anzahl_tickets, 
.landausflug_item .anzahl_tickets:focus {
	background-color: #fff;
	border: 1px solid var(--color-page-active-dunkelblue);
	outline: 2px solid var(--color-page-active-dunkelblue);
	box-shadow: 0px 0px 0px 3px #fff, 0px 0px 0px 5px #8bc3ff;
}

.landausflug_item .sub_product .date_option:hover {
	background-color: var(--color-button-hover);
	border: 1px solid var(--color-button-border);
}
.landausflug_item .sub_product .date_option.selected {
	background-color: var(--color-button-selected);
	border: var(--color-button-width) solid var(--color-button-border-selected);
	color: #fff;
	font-weight: bold;
}
.landausflug_item .sub_product .selected .anzahl_tickets:focus, 
.landausflug_item .sub_product .selected .anzahl_tickets {
	background-color: #66bd66;
	border: 1px solid #abe6ab;
	outline: unset; 
	box-shadow: unset;
	color: #fff;
}

.landausflug_item .ab_preis_hotel {
	margin-top: 10px;
}


@media screen and (min-width: 750px) {	
	.landausflug_item .attribute  {
		float: left;
		width: 100%
	}
}
@media screen and (min-width: 1200px) {	
	.landausflug_item .ab_preis_hotel {margin-top: -20px;	}
}
@media screen and (max-width: 749px) {
	.landausflug_item .sub_product .date_options,
	.landausflug_item .sub_product .date_option,
	.landausflug_item .sub_product, 
	.landausflug_item .sub_product .date {	width: 100%; }	
	.landausflug_item .sub_product .subprodukt_preis,
	.landausflug_item .sub_product .subprodukt_title {	min-width: unset;	}
	.landausflug_item .bild img { width:150px; height: 150px; }
	.landausflug_item.verbergen_beschreibungen .ab_preis_hotel {		margin-top: 10px;	}	
}
@media screen and (max-width: 449px) {
	.landausflug_item .sub_product .date_option_links { flex-direction: column; }
	.landausflug_item .sub_product .subprodukt_title { padding: 5px 5px 5px 0;  }
	.landausflug_item .sub_product .subprodukt_preis {  padding: 0px 10px 5px 0; }
	.landausflug_item .bild img { width:100px; height: 100px; }
	.landausflug_item .ort_auf_bild {  padding: 0 0 5px 5px;}		
}
 

/************************************************************************************************************************************************************************************************************************/
/* xox: Hotel () */
/************************************************************************************************************************************************************************************************************************/

.ab_preis_hotel {
	float: right;
	display: flex;
	flex-direction: column;
	border-radius: 5px;
	background-color: var(--color-button-background);
	border: 1px solid var(--color-button-border);
	text-align: left;
	color: var(--color-page-active-dunkelblue);
}
.ab_preis_hotel:hover {
	background-color: var(--color-button-background);
}
.ab_preis_hotel .preisbutton_hotel {
	padding: 6px 10px 6px 20px; 
	justify-content: end;
}
.ab_preis_hotel .preisbutton_hotel.js_preisbeschreibung_zusatzzeile_ausklappen {
	cursor: pointer;
}

.ab_preis_hotel .button_inhalt {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
	
.ab_preis_hotel .preiszeile {
	text-align: right;
	font-size: 18px;
}
.ab_preis_hotel .preis_pp {
	color: #444;
	font-size: 14px;
}
.ab_preis_hotel .preis_e {
	font-weight: bold;
	font-size: 18px;
	text-align: right;
} 

.ab_preis_hotel .button_nicht_verfuegbar {
	color: #999;
	text-decoration: none;
	text-align: right;
	font-size: 15px;
	height: 42px;
	cursor: default;
}


.ab_preis_hotel .kreuz::after, 
.ab_preis_hotel .pfeil::after {
	font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	font-weight: bold;
	padding-left: 10px;
	line-height: 45px;
	top: 2px;
	position: relative;
	width: 25px;
	display: block;
	text-align: right;  
}
.offen_preise .ab_preis_hotel .kreuz::after, 
.offen_preise .ab_preis_hotel .pfeil::after {
	top: -6px; 
	right: -4px;
	transform: rotate(90deg);
}


.ab_preis_hotel .kreuz::after {
	content: "\f00d";
	color: #999;
}
.ab_preis_hotel .pfeil::after {
	content: "\f0da";
}
.js_zusatzzeile_ausklappen_parent.offen_hotelpreise .ab_preis_hotel .pfeil::after {
	content: "\f0d7";
}


.hotel_kategoriezeile .preisbutton_zeile.verbergen_hoteltermin, 
.ab_preis_hotel .preisbutton_hotel.verbergen_hoteltermin {
	display: none;
}
.hotel_kategoriezeile.verbergen_kategorie {
	display: none;
}
.hotel_kategoriezeile.ajax_loader {
	height: 200px;
	width: 100%;
	background: #eee;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px;
}
.hotel_kategoriezeile.ajax_loader .ajax_loader_meldung {
	display: flex;
	max-width: 500px;
}
.hotel_kategoriezeile.ajax_loader .ajax_loader_meldung i {
	font-size: 60px;
	color: #666;
	width: 60px;
	height: 60px;
}
.hotel_kategoriezeile.ajax_loader .ajax_loader_meldung span {
	font-size: 14px;
	padding-left: 20px;
	align-content: center;
}


.ab_preis_hotel .preisbutton_hotel {
	display: flex;
	flex-direction: row;
}

.hotel_datumsauswahl_wrapper .datum_title {
	font-size: 16px;
	display: block;
	margin-bottom: 5px;
	font-weight: bold; 
}
.hotel_datumsauswahl_wrapper select {
	background-color: var(--color-button-background);
	border: 3px solid var(--color-button-border);
	border-radius: 4px;
	padding: 5px 7px;
	width: 100%;
	font-weight: bold;
	font-size: 16px;
}
.hotel_datumsauswahl_wrapper select:focus {
	border: 3px solid #676774;
	outline: 2px solid #145aff;
	box-shadow: 0px 0px 0px 3px #fff, 0px 0px 0px 5px #8bc3ff;
}

@media screen and (max-width: 399px) {
	.ab_preis_hotel {
		width: 100%;	
		margin-top: 10px;
	}
}
 

/************************************************************************************************************************************************************************************************************************/
/* xox: Kategorie () */
/************************************************************************************************************************************************************************************************************************/
h2.section-title {
	
	color: #333333;	
}


.booking_content_area .kategorie_warnmeldung {
	color: #c80000;
	font-weight: bold;
	padding: 10px;
}

.booking_content_area .hide_line {
	display: none;
}

.kategorietyp_nicht_verfuegbar {
	margin-bottom: 10px;
	background-color: #FFF;
	padding: 10px;
}
 
.kategorie_ueberschrift {
	font-size: 16px;
	text-align: left;
	padding: 10px 10px 0 10px;
	font-weight: bold;
	background: #fff;
	margin-bottom: 0px;
}
@media screen and (max-width: 749px) {
	.kategorie_ueberschrift { background-color: var(--color-button-selected); color: #fff; padding-bottom: 7px; }
}

.kategorietyp_container_box {
	width: 100%;
}

.kategorietyp_container {
	width: 100%;
}

.kategoriezeile {
	position: relative;
	background-color: #FFF;
	padding: 0px 10px 10px 10px;
	margin-bottom: 10px;
	width: 100%;
	float: left;
}


.kategoriezeile .info_button {
	color: #333;
	line-height: 18px;
	padding: 5px 0px;
	font-size: 18px;
	background-color: #e2e2e2;
	border: var(--color-button-width) solid #d6d3d3;
	border-radius: 5px;
	width: 100%;
	text-align: center;
	margin: 0 0 5px 0;;
}

.kategoriezeile .info_button:hover {
	background-color: #bbb;
	border: var(--color-button-width) solid #aaa;
}

.booking_content_area .preisbutton_zeile .tooltip_content {
	border-radius: 5px;
	position: absolute;
	bottom: 80px;
	left: 0;
	visibility: hidden;
	text-align: left;
	max-width: 300px;
	background-color: #FFF;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	z-index: 1;
}

.booking_content_area .preisbutton_zeile .tooltip_content.aktiv_mouseover, 
.booking_content_area .preisbutton_zeile .tooltip_content.aktiv {
	visibility: visible;
}
	
	
.booking_content_area .preisbutton_zeile .tooltip_content h4 {
	background-color: #c5c4c4;
	margin: 0;
	padding: 5px 10px;
	color: #333333;
}

.booking_content_area .preisbutton_zeile .tooltip_content span {
	padding: 5px 10px;
	display: block;
}

.booking_content_area .tooltip_content .unvisible {
	color:#fff; 
	font-size: 8px;
	padding: 0;  
}

.booking_content_area .preisbutton_zeile {
	display: flex;
	justify-content: right;
	position: relative;
	flex-direction: column;
	margin-bottom: 5px;
}


.kategoriezeile .kategorie_text {
	padding-bottom: 10px;
}
.kategoriezeile .kategorietyp_textohnebild .title, 
.kategoriezeile .kategorie_text .title {
	font-weight: bold; 
	font-size: 16px;
}
.kategoriezeile .kategorie_text .sub {
	font-weight: normal; 
}

.zusatzinfo_link_formatierung, 
.zusatzinfo_wrapper .zusatzzeile_ausklappen, .zusatzinfo_wrapper .zusatzzeile_einklappen, 
.infoitem_contentzeile .zusatzzeile_ausklappen, .infoitem_contentzeile .zusatzzeile_einklappen, 
.hotel_contentzeile .zusatzzeile_ausklappen, .hotel_contentzeile .zusatzzeile_einklappen, 
.hotel_footerzeile .zusatzzeile_ausklappen, .hotel_footerzeile .zusatzzeile_einklappen, 
.kategorie_text .zusatzzeile_ausklappen, .kategorie_text .zusatzzeile_einklappen {
	font-weight: bold; 
	color: var(--color-page-active-dunkelblue);
	text-decoration: underline;
	cursor: pointer;
}

.step_veranstaltungen .zusatzzeile_ausklappen {
	display: inline;
	margin-left: 5px;
}

.js_zusatzzeile_ausklappen_parent.offen_beschreibungen .zusatzzeile_hotelbeschreibungen_ausklappen,
.js_zusatzzeile_ausklappen_parent.offen .zusatzzeile_ausklappen {
	display: none;
}
.js_zusatzzeile_ausklappen_parent .zusatzzeile_hotelpreise_einklappen, 
.js_zusatzzeile_ausklappen_parent .zusatzzeile_hotelbeschreibungen_einklappen, 
.js_zusatzzeile_ausklappen_parent .zusatzzeile_einklappen { 
	display: none;
}

.js_zusatzzeile_ausklappen_parent.offen_hotelpreise .zusatzzeile_hotelpreise_einklappen,
.js_zusatzzeile_ausklappen_parent.offen_beschreibungen .zusatzzeile_hotelbeschreibungen_einklappen { 
	display: block;
}

.js_zusatzzeile_ausklappen_parent.offen .zusatzzeile_einklappen { 
	display: inline;
}


.kategoriezeile .kategorie_button {
	text-align: right; 
	display: block;
}




/* button_zusatzzeile_ausklappen */
.button_zusatzzeile_ausklappen, 
.button_kategorieauswahl  {
	margin: 0;
}



.button_zusatzzeile_ausklappen:hover .button_kategorieauswahl_text, 
.button_kategorieauswahl:hover .button_subauswahl_text, 
.button_subauswahl:hover .button_subauswahl_text, 
.button_kategorieauswahl:hover .button_kategorieauswahl_text {
	background-color: var(--color-button-hover);
	border: var(--color-button-width) solid var(--color-button-border);
}
.button_zusatzzeile_ausklappen .button_kategorieauswahl_text,
.button_subauswahl .button_subauswahl_text, 
.button_kategorieauswahl .button_subauswahl_text, 
.button_kategorieauswahl .button_kategorieauswahl_text {
	background-color: var(--color-button-background);
	width: 100%;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: right;
	padding: 2px 10px 2px 10px;
	border-radius: 5px;
	border: var(--color-button-width) solid var(--color-button-border);
	text-align: left;
	cursor: pointer;
}

.button_kategorieauswahl input[type="radio"],
.button_kategorieauswahl input[type="checkbox"] {
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	top: 80%;
	position: absolute;
	left: 30%;
}


.button_kategorieauswahl.veranstaltung .button_kategorieauswahl_text  {
	justify-content: left;
}
.button_kategorieauswahl.mit_sub_auswahl .button_kategorieauswahl_text {
	flex-direction: column;
	align-items: end;
}
.button_kategorieauswahl .subauswahl_head {
	display: flex;
	flex-direction: row;	
	align-items: center;
}

.button_kategorieauswahl .button_kategorieauswahl_text.longtext {
	padding: 5px 20px 5px 20px;
}
.button_kategorieauswahl .button_kategorieauswahl_text.longtext {
	padding: 5px 20px 5px 20px;
}
.button_zusatzzeile_ausklappen .button_kategorieauswahl_text {
	width: auto;
	padding: 2px 20px;
}

.button_kategorieauswahl_text .text_im_button {
	line-height: 1.1;
	text-align: end;
}
.web_frontend .button_kategorieauswahl_text .text_im_button { font-family: Roboto, Barlow, Arial, sans-serif;  }
.button_kategorieauswahl_text.longtext .text_im_button {
	line-height: 1.3;
}







.button_kategorieauswahl_text.mit_tabelle {
	padding: 10px;
	flex-direction: column;
}



.button_kategorieauswahl_text.mit_tabelle .button_tabelle_head {
	width: 100%;
	padding-bottom: 5px;
	font-weight: normal;
}
.hotel_kategoriezeile .button_kategorieauswahl_text.mit_tabelle .button_tabelle_head {
	padding-bottom: 0;
}

.button_kategorieauswahl_text.mit_tabelle .button_tabelle_links_rechts {
	width: 100%;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-direction: row;
}
.button_kategorieauswahl_text.mit_tabelle .button_tabelle_links {
	line-height: 1.1;
	font-weight: normal;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3px;	
}
.button_kategorieauswahl_text.mit_tabelle .button_tabelle_links .button_text_links_item {
	line-height: 1.2;
	font-weight: bold;
}

.button_kategorieauswahl_text.mit_tabelle .button_tabelle_rechts {
	display: flex;
	flex-direction: row;
	align-items: center;
}
.button_kategorieauswahl_text.mit_tabelle .button_tabelle_rechts .text_neben_icon {
	line-height: 1.1;
	font-family: Roboto, Barlow, Arial, sans-serif; 
	text-align: right;
	white-space: nowrap;
	align-items: center;
	display: flex;
}



.button_kategorieauswahl.mit_sub_auswahl.offen .button_kategorieauswahl_text {
	background-color: #ffffff;
	border: 1px dashed #ced9ce;
	transition: all 0.2s linear;	
}



.button_kategorieauswahl.mit_sub_auswahl .subauswahl_content {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: all .2s linear;
}

.button_kategorieauswahl.mit_sub_auswahl.offen .subauswahl_content {
	max-height: 1000px;
	opacity: 1;
	transition: all .2s linear;
}






.button_zusatzzeile_ausklappen .button_kategorieauswahl_text .check_icon::after,
.button_kategorieauswahl .button_kategorieauswahl_text .arrowright_icon::after,
.button_kategorieauswahl .button_kategorieauswahl_text .check_icon::after {
	font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	top: 0;
	position: relative;
	margin-left: 10px;
	float: right;
}

.button_kategorieauswahl .button_kategorieauswahl_text.longtext .check_icon::after {
	margin-right: 10px;
	margin-left: 0;
	float: left;
}

.button_kategorieauswahl .button_kategorieauswahl_text .check_icon::after {
	content: "\f111"; 
	font-weight: normal;
}
.button_kategorieauswahl .button_kategorieauswahl_text .arrowright_icon::after, 
.button_zusatzzeile_ausklappen .button_kategorieauswahl_text .check_icon::after {
	content: "\f138"; 
	font-weight: bold;
	transition: all 0.20s linear;	
}
.button_kategorieauswahl.offen .button_kategorieauswahl_text .arrowright_icon::after, 
.js_zusatzzeile_ausklappen_parent.offen .button_zusatzzeile_ausklappen .button_kategorieauswahl_text .check_icon::after {
	transform: rotate(90deg);
	transition: all 0.20s linear;	
}

.button_kategorieauswahl input[type="radio"]:checked + .button_subauswahl_text .check_icon::after,
.button_kategorieauswahl input[type="radio"]:checked + .button_kategorieauswahl_text .check_icon::after,
.button_kategorieauswahl input[type="checkbox"]:checked + .button_kategorieauswahl_text .check_icon::after {
	content: "\f058";
	font-weight: normal;
}

.button_kategorieauswahl input[type="radio"]:checked + div,
.button_kategorieauswahl input[type="checkbox"]:checked + div {
	background-color: var(--color-button-selected);
	border: var(--color-button-width) solid var(--color-button-border-selected);
	color: white;
}

@media screen and (max-width: 499px) {
	.kategoriezeile .kategorietyp_bild { max-height: 250px; overflow: hidden; align-items: center; display: flex; }
}
@media screen and (min-width: 500px) and (max-width: 749px) {
	.kategoriezeile .kategorietyp_bild { max-height: 300px; overflow: hidden; align-items: center; display: flex; }
}
@media screen and (min-width: 750px) {
	.kategoriezeile .kategorietyp_bild { padding: 10px 0 10px 0;  }
}
@media screen and (max-width: 749px) {
	.kategoriezeile .kategorietyp_bild { padding: 0; margin: 0 -10px 0 -10px;  width: calc(100% + 20px);  }
	.kategoriezeile .kategorie_text { padding-top: 10px; }
}

.kategoriezeile .kategorietyp_bild.is_empty_image .kategorie_foto {
	min-width: unset;
	width: 50px;
}

.kategoriezeile .kategorietyp_text {
	padding: 0;
}


.kategorietyp_container .kategorie_foto {
	min-width: 100%;
	margin: 0;
	width: 100%;
	padding: 0;
}

.kategoriezeile .kategorietyp_textohnebild {
	padding: 10px 0 10px 0;
}


.button_zusatzzeile_ausklappen .button_kategorieauswahl_text  {
	border: 1px solid var(--color-button-border);
}
.button_zusatzzeile_ausklappen .button_kategorieauswahl_text:hover  {
	background-color: var(--color-button-background);
}


@media screen and (min-width: 350px) {
	.booking_content_area .preisbutton_zeile .tooltip_content {  bottom: 50px;	}
	.info_button {  width: 5%;  }
	
	.button_kategorieauswahl {  width: 100%;  }	
	.step_category  .button_kategorieauswahl, .step_terminkategorie  .button_kategorieauswahl, .step_date_selection  .button_kategorieauswahl {  width: 95%;  }	
	.step_veranstaltungen  .button_kategorieauswahl, .step_hotel  .button_kategorieauswahl, .hotel_contentrechts  .button_kategorieauswahl {  width: 100%;  }
	
	
	.kategoriezeile .info_button {	padding: 11px 8px;	width: auto;	margin: 0 5px 0 0;  }  
	.booking_content_area .preisbutton_zeile { flex-direction: row;  }
}


@media screen and (min-width: 750px) {
	.kategoriezeile .kategorietyp_text {	padding: 10px 0 10px 10px;	}	
	.kategoriezeile {   padding-bottom: 0;  }
	.kategorietyp_container .kategorie_foto {    min-width: 100%;   margin: 0; width: 100%; padding: 0; }
	.booking_content_area .kategorie_warnmeldung {   padding: 10px 0px;  }
}


.kategorie_header_uebersicht {
	padding: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-right: -10px;
	margin-left: -10px;
}


.kategorie_header_uebersicht .kategrietyp-ueberschrift-mitbild {
	color: #333;
	text-align: center;
	background-color: #FFF;
	border: 1px solid #FFF;
	height: 30px;
	overflow: hidden;
	font-weight: bold;
	font-size: 20px;
	line-height: 30px;  
	letter-spacing: -0.5px;
}

.kategorie_header_uebersicht .kategrietyp-ueberschrift-nurtext {
	color: #333;
	text-align: center;
	background-color: #FFF;
	border: 1px solid #FFF;
	height: 45px;
	overflow: hidden;
	color: #333;
	font-weight: bold;
	font-size: 20px;
	line-height: 45px;
	letter-spacing: -0.5px;
}


@media screen and (max-width: 549px) {	
	.kategorie_header_uebersicht .kategrietyp-ueberschrift-mitbild, 
	.kategorie_header_uebersicht .kategrietyp-ueberschrift-nurtext {
	  font-size: 16px;
	  letter-spacing: -0.5px;
	}
}
@media screen and (max-width: 449px) {	
	.kategorie_header_uebersicht .kategrietyp-ueberschrift-mitbild, 
	.kategorie_header_uebersicht .kategrietyp-ueberschrift-nurtext {
	  font-size: 15px;
	  letter-spacing: -0.5px;
	}
}
@media screen and (max-width: 349px) {	
	.kategorie_header_uebersicht .kategrietyp-ueberschrift-mitbild, 
	.kategorie_header_uebersicht .kategrietyp-ueberschrift-nurtext {
	  font-size: 14px;
	  letter-spacing: -0.5px;
	}
}

.kategorie_header_uebersicht .kategorieIntro img {
	height: auto;
}



/* Kategorie Intro */
.kategorieIntro.spalten_1 {
	width: 50%;   
	margin-right: 3px; 
}
.kategorieIntro.spalten_2 {
	width: 50%;   
	margin-right: 3px; 
}
.kategorieIntro.spalten_3 {
	width: 33.333333%;   
	margin-right: 3px; 
}
.kategorieIntro.spalten_4 {
	width: 25%;   
	margin-right: 3px; 
}
.kategorieIntro.spalten_5 {
	width: 20%;   
	margin-right: 3px; 
}


@media screen and (min-width: 450px) {	
	.kategorieIntro.spalten_2,
	.kategorieIntro.spalten_3,
	.kategorieIntro.spalten_4,
	.kategorieIntro.spalten_5 {
		margin-right: 5px; 
	}
}
@media screen and (min-width: 550px) {	
	.kategorieIntro.spalten_2,
	.kategorieIntro.spalten_3,
	.kategorieIntro.spalten_4,
	.kategorieIntro.spalten_5 {
		margin-right: 10px; 
	}
	
	.kategorieIntro.spalten_2 .kat_image {
		max-height: 150px;
		overflow: hidden;
	}
	.kategorieIntro.spalten_2 .kat_image img {
		margin-top: -50px;
	}
}

.kategorieIntro.letztes_element {
	margin-right: 0;
}

/*
@media screen and (max-width: 1199px){
	.kategorieIntro {
		width: 130px;
	}
}

@media screen and (max-width: 991px){
	.kategorieIntro {
		width: 132px;
	}
}

@media screen and (max-width: 767px){
	.kategorieIntro {
		width: 20%;
	}
}			

*/


.kategorieIntro:hover .kategrietyp-ueberschrift-nurtext, 
.kategorieIntro:hover .kategrietyp-ueberschrift-mitbild {
	background-color: var(--color-button-background);
	cursor: pointer;
	border: 1px solid var(--color-button-border);
}


.kategorie_header_uebersicht .kategorieIntro.aktiv .kategrietyp-ueberschrift-nurtext ,
.kategorie_header_uebersicht .kategorieIntro.aktiv .kategrietyp-ueberschrift-mitbild {
	background-color: var(--color-button-selected);
	color: #FFF;
	border: var(--color-button-width) solid var(--color-button-border-selected);
}

.kategorie_header_uebersicht .kategorieIntro.aktiv.kategorie_ausgebucht .kategrietyp-ueberschrift-nurtext ,
.kategorie_header_uebersicht .kategorieIntro.aktiv.kategorie_ausgebucht .kategrietyp-ueberschrift-mitbild {
	color: #999;
}

.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-mitbild {
	padding: 1px 0 1px 0; 
	line-height: 1;
}

.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-nurtext   {
	padding: 5px 0 5px 0; 
	line-height: 1;
}

.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-nurtext , 
.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-mitbild  {
	font-size: 12px;
	font-weight: normal;
	line-height: 1;
}

@media screen and (min-width: 450px) {
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-nurtext , 
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-mitbild  {
		font-size: 12px;
		font-weight: normal;
	}
}
@media screen and (min-width: 550px) {
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-nurtext , 
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-mitbild  {
		font-size: 12px;
		font-weight: normal;
	}
}
@media screen and (min-width: 750px) {
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-nurtext , 
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-mitbild  {
		font-size: 12px;
		font-weight: bold;
	}
}
@media screen and (min-width: 1200px) {
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-nurtext , 
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-mitbild  {
		font-size: 12px;
		font-weight: bold;
		line-height: 1;
	}
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-mitbild  {
		padding: 0; 
	}
	.kat_desc_platzsparen_stark .kategrietyp-ueberschrift-nurtext   {
		padding: 7px 0 5px 0; 
	}
}


.kat_desc_platzsparen_leicht .kategrietyp-ueberschrift-nurtext , 
.kat_desc_platzsparen_leicht .kategrietyp-ueberschrift-mitbild  {
	font-size: 12px;
	font-weight: bold;
}

@media screen and (min-width: 450px) {
	.kat_desc_platzsparen_leicht .kategrietyp-ueberschrift-nurtext , 
	.kat_desc_platzsparen_leicht .kategrietyp-ueberschrift-mitbild  {
		font-size: 14px;
		font-weight: bold;
	}
}
@media screen and (min-width: 550px) {
	.kat_desc_platzsparen_leicht .kategrietyp-ueberschrift-nurtext , 
	.kat_desc_platzsparen_leicht .kategrietyp-ueberschrift-mitbild  {
		font-weight: bold;
		font-size: 16px;
	}
}


.kategorietyp_image {
	width: 100%;
	cursor: pointer;
}

.kategorie_ausgebucht .kategorietyp_image {
	filter: contrast(0.2) grayscale(1) brightness(1.6);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-webkit-filter: contrast(0.2) grayscale(1) brightness(1.6);    	
	cursor: default !important;
}


.kategorie_ausgebucht .kategrietyp_tabtext {
	color: #999 !important;
	background: #eee !important;
	border: 1px solid #ddd !important;
	cursor: default;
	font-family: Roboto, Barlow, Arial, sans-serif; 
}

/* Kategorie zusatzkategorie_info ausklapper */
.kategoriezeile .zusatzkategorie_info {
	display: flex;
	flex-direction: column-reverse;
}
.kategoriezeile .zusatzkategorie_info .zusatzinfo_grundrissbild {
	max-width: 100%;
	min-width: 200px;
	width:auto;
	height:auto;
}
.kategoriezeile .kategorie_beschreibung {
}

.kategoriezeile .zusatzkategorie_container .grundrissbild {
	max-height: 213px;
	width: auto;
}

.kategoriezeile .zusatzkategorie_container .title {
	font-weight: bold; 
	margin-top: 0.5rem;
}
.kategoriezeile .zusatzkategorie_container .sub {
	font-weight: bold; 
	margin-top: 0.5rem;
}

.kategoriezeile .zusatzkategorie_container p {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
} 
.kategoriezeile .zusatzkategorie_container ul {
	margin-top: 0;
	margin-bottom: 0.5rem;
}
.kategoriezeile .zusatzkategorie_container p.ul_title {
	margin-bottom: 0;
	font-weight: bold; 
}

.kategoriezeile .zusatzkategorie_container .zusatzhinweis {
}

.kategoriezeile .zusatzkategorie_container.verbergen {
	opacity: 0;
	max-height: 0px;
	transition: all 0.50s linear;
}
.kategoriezeile .zusatzkategorie_container {
	opacity: 1;
	max-height: 2000px;
	overflow: hidden;
	transition: all 0.50s linear;
	float: left;
}


@media screen and (min-width: 450px) {
	
	.kategorie_header_uebersicht .kategorieIntro .small_text {
	font-size: 10px;
	line-height: 14px;
	display: block;
	height: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	}
}

@media screen and (min-width: 750px) {
	.kategorie_header_uebersicht .kategorieIntro .small_text {
	font-size: 12px;
	}
	.booking_content_area. .kategorietyp_container .kategoriezeile .col-xs-12.col-sm-7 {
	padding: 10px;
	}

	.kategoriezeile .zusatzkategorie_info {
		flex-direction: row;
	}
	.kategoriezeile .zusatzkategorie_info .grundriss {
		max-width: 50%;
	}
	.kategoriezeile .zusatzkategorie_info .zusatzinfo_beschreibung  {
		padding-left: 10px;
	}
}

@media screen and (min-width: 1200px) {
	.kategorie_header_uebersicht .kategorieIntro .small_text {
	font-size: 13px;
	}
}


/************************************************************************************************************************************************************************************************************************/
/* xox: addon_uebersicht () */
/************************************************************************************************************************************************************************************************************************/

.addon_kacheln {
	float: left;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	margin-right: -10px;
}

.addon_kacheln .addon_item {
	margin: 0 10px 10px 0;
	position:relative;
	width: calc(33.333% - 10px);
	overflow: hidden;
}


.booking_input_passwort .addon_kacheln .addon_item {
	width: calc(25% - 10px);
}

.addon_kacheln .bild img {
	width: 100%;
	height: auto;
	filter: saturate(1.5); 
}
.addon_kacheln .kachel_ort {
	position:absolute;
	color: #fff;
	top:0;
	left: 0;
	padding: 5px 0 0 10px;
	text-shadow: 0 0 2px #000;
	font-weight: bold;
	font-size: 26px;
	line-height: 1.2;
	white-space: nowrap;
}
.addon_kacheln .kachel_titel {
	position:absolute;
	color: #fff;
	top:0;
	left: 0;
	padding: 36px 0 0 10px;
	text-shadow: 0 0 2px #000;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.2;
}
.addon_kacheln .kachel_preis {
	position:absolute;
	color: #fff;
	padding: 0 10px 10px 0;
	right:0;
	bottom: 0;
	text-shadow: 0 0 2px #000;
	display: flex;
	flex-direction: column;
	align-items: end;
}
.addon_kacheln .preis_e {
	font-weight: bold;
	font-size: 36px;
	line-height: 1;
}
.addon_liste_button {
	width: 100%;
	text-align: right;
	float: right;
}

@media screen and (max-width: 849px) {
	.addon_kacheln .kachel_titel {
	font-size: 15px;
	}
}
@media screen and (max-width: 649px) {
	
	/* Normale Formatierung für die Addon-Übersichtsseite */
	.addon_kacheln .kachel_titel {
	display: none;
	}
	.addon_kacheln .kachel_ort {
	font-size: 22px;
	padding: 3px 0 0 5px;
	}
	.addon_kacheln .kachel_preis {
	  padding: 0 5px 5px 0;
	}
	.addon_kacheln .preis_e {
		font-size: 26px;
	}
	.addon_kacheln .addon_item {
	  margin: 0 5px 5px 0;
		width: calc(33.333% - 5px);
	}
	
	/* Anpassungen, wenn landausflüge auf der Buchungsbestätigungseite stehen */
	.booking_input_passwort .addon_kacheln .kachel_titel {
		display: block;
		padding: 36px 0 0 5px;
	}
	.booking_input_passwort .addon_kacheln .addon_item {
		margin: 0 5px 5px 0;
		width: calc(50% - 5px);
	}
}

@media only screen and (min-width: 650px) and (max-width: 1199px) {
	
	.booking_input_passwort .addon_kacheln .addon_item.child4 {
		display: none;
	}
		
	.booking_input_passwort .addon_kacheln .addon_item {
		margin: 0 5px 5px 0;
		width: calc(33.333% - 5px);
	}
}


/************************************************************************************************************************************************************************************************************************/
/* xox: Flugsitze () */
/************************************************************************************************************************************************************************************************************************/
.flugsitz_container {
	background: #fff;
	margin-bottom: 10px;
}

.flugsitzplatz_box_aussen {
	width: 50%;
	float: left;
}

.flugsitzplatz_box {
	background-color: #ffffff;
	width: 100%;
	padding: 10px;
	text-align: left;
}

@media screen and (max-width: 760px) {
	.section.current .flugsitz_container {
	padding: 0;
	}
	.flugsitzplatz_box_aussen {
	width: 100%;
	margin: 0;
	padding: 0;
	}
	.flugsitzplatz_box {
	border-bottom: 10px solid #d4f7ff;
	}
}

span.flugsitzplatz_header {
	font-size: 18px;
	font-weight: bold;
	display: block;
}

div.flugsitzplatz_header {
	padding-bottom: 20px;
}

.flugsitze_grafik {
	text-align: center;
}

.flugsitzplatz_reihennummer {
	display: block;
	float: left;
	width: 40px;
}

.flugsitzplatz_einzel {
	display: block;
	float: left;
	width: 20px;
	height: 24px;
	text-align: center;
	margin: 1px;
	position: relative;
}

.flugsitzplatz_einzel.frei {
	cursor: pointer;	
}

.flugsitzplatz_einzel.no_seat {
	color: #cccccc;
	border: 1px solid #cccccc;
	background: #cccccc;
}

.flugsitzplatz_einzel.gang {
	border: 0;
}

.flugsitzplatz_einzel.gebucht,
.gebucht {
	color: #fff;
	border: 1px solid #024d00;
	background: #357d20;
	cursor: default;
}

.flugsitzplatz_einzel.belegt,
.belegt {
	color: #ffd4d4;
	border: 1px solid #bf0000;
	background: #ff6363;
	cursor: default;
}
.flugsitzplatz_einzel.other_cabin_select,
.other_cabin_select {
	color: #ffd4d4;
	border: 1px solid #700;
	background: #bd0000;
}

.flugpreislegende {
	display: inline;
	text-align: center;
	margin: 1px;
	padding: 0 3px 0 3px;
}

.flugpreis_0 {
	color: #387300;
	border: 1px solid #88ac65;
	background: #c0dfa2;
}

.flugpreis_1 {
	color: #3a7500;
	border: 1px solid #57ae00;
	background: #a4db87;
}

.flugpreis_2 {
	color: #008043;
	border: 1px solid #00ae5b;
	background: #a2dfc2;
}

.flugpreis_3 {
	color: #007d66;
	border: 1px solid #00aa8a;
	background: #86e1d0;
}

.flugpreis_4 {
	color: #005e6f;
	border: 1px solid #51a0ae;
	background: #80d3e1;
}

.flugpreis_5 {
	color: #004084;
	border: 1px solid #6590bf;
	background: #a4c3e3;
}

.flugpreis_6 {
	color: #1b1c71;
	border: 1px solid #8687d9;
	background: #b3b4ec;
}

.flugpreis_7,
.flugpreis_8,
.flugpreis_9,
.flugpreis_10 {
	color: #310a86;
	border: 1px solid #9e86d2;
	background: #c5b3ec;
}

.flugreihe {
	display: block;
	float: left;
	width: 20px;
	text-align: center;
	margin: 0 3px 0 3px;
	height: 26px;
}

.flugreihe.wand_links {
	border-right: 3px solid #8a8a8a;
}

.flugreihe.wand_rechts {
	border-left: 3px solid #8a8a8a;
}

.flugreihe.wing_links {
	border-right: 3px solid #8a8a8a;
	background: #ccc;
}

.flugreihe.wing_rechts {
	border-left: 3px solid #8a8a8a;
	background: #ccc;
}

.flugreihe.exit_wing_links {
	border-right: 3px solid #F00;
	background: #ccc;
}

.flugreihe.exit_wing_rechts {
	border-left: 3px solid #F00;
	background: #ccc;
}

.flugreihe.exit_links {
	border-right: 3px solid #F00;
}

.flugreihe.exit_rechts {
	border-left: 3px solid #F00;
}

.flugsitzplatz_infotext_container {
	width: 350px;
	text-align: left;
	margin: -2px 0 0 13px;
	padding: 0;
	display: none;
	border: 1px solid #aaa;
	background: #fff;
	position: absolute;
	z-index: 10;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.anzeigeseite_links .flugsitzplatz_infotext_container {
	margin: -2px 0 0 13px;
}

.anzeigeseite_rechts .flugsitzplatz_infotext_container {
	margin: -2px 0 0 -250px;
}

.flugsitz_container .strich_unten {
	height: 10px;
	background: #d4f7ff;
}

@media screen and (max-width: 600px) {
	.flugsitzplatz_infotext_container {
	width: 350px;
	margin: 3px 0 0 0;
	left: -5px;
	}
}

@media screen and (max-width: 400px) {
	.flugsitzplatz_infotext_container {
	width: 300px;
	margin: 3px 0 0 0;
	left: -5px;
	}
}

.flugsitzplatz_infotext_oben {
	text-align: left;
	padding: 10px 2px 3px 10px;
	color: #333;
	font-size: 14px;
	line-height: 1.4em;
	background: #e6e6e6;
	border-bottom: 1px dashed #ccc;
}

.flugsitzplatz_infotext_oben.bereich_frei {
	background: #e8eee3;
}

.flugsitzplatz_infotext_oben.bereich_belegt {
	background: #eee1e1;
}
.flugsitzplatz_infotext_oben.bereich_other_cabin_select {
	background: #b70000;
}

.flugsitzplatz_infotext_oben .flightseatinfo_sitplatzname {
	font-size: 18px;
	font-weight: bold;
}

.flugsitzplatz_infotext_oben .sitzplatz_belegung_frei {
	color: #005b06;
}

.flugsitzplatz_infotext_oben .sitzplatz_belegung_belegt {
	color: #600;
}
.flugsitzplatz_infotext_oben.bereich_other_cabin_select .flightseatinfo_sitplatzname, 
.flugsitzplatz_infotext_oben .sitzplatz_belegung_other_cabin_select {
	color: #fff;
}

.flugsitzplatz_infotext_unten {
	text-align: left;
	padding: 5px 2px 5px 10px;
	color: #333;
	font-size: 14px;
	line-height: 1.4em;
}

.flugsitzplatz_infotext_unten ul {
	padding-left: 16px;
	margin: 0;
}

.flugsitzplatz_infotext ul {
	padding-left: 20px;
	margin: 0;
}

@media screen and (max-width: 700px) {
	.flugsitzplatz_box {
	width: 100%;
	}
	.flugsitz_container .strich_unten {
	height: 0;
	background: #fff;
	}
}

@media screen and (max-width: 1199px) {
	.flugsitzplatz_reihennummer {
	display: none;
	}
}

@media screen and (min-width: 750px) {
	.flugsitz_container {
	margin-left: -10px;
	margin-right: -10px;
	}
}

/************************************************************************************************************************************************************************************************************************/
/* xox: Cart_Abschluss () */
/************************************************************************************************************************************************************************************************************************/
/* cart abschluss */
.cartitem_zeile {
	display: block;
	width: 100%;
	background: #fff;
	padding: 10px;
	margin-top: 0;
	margin-bottom: 0;
	border-top: 3px dashed #d4f7ff;
}
.cartitem_zeile.ueberschrift {
	font-size: 16px;
	text-align: left;
	padding: 10px;
	font-weight: bold;
	border-top: 0;
}
.cartitem_text_button {
	font-size: 16px;
	text-align: left;
	padding-right: 10px;
}
.cartitem_buttons {
	text-align: right;
}


@media screen and (max-width: 449px) {
	.cartitem_bild { padding-bottom: 10px; }
}
@media screen and (min-width: 450px) {
	.cartitem_bild { padding-right: 10px; }
}

@media screen and (min-width: 750px) {
	.cartitem_zeile { padding: 10px; 	margin-top: 0; 	margin-bottom: 0;   }
}



/************************************************************************************************************************************************************************************************************************/
/* xox: Zusatzleistungen () */
/************************************************************************************************************************************************************************************************************************/
/* Zusatzleistungen */
.zusatzleistungen_ausklapper {
	display: flex;
	flex-direction: column;
}

.subformular_ausklapper:hover > div:first-child, 
.zusatzleistungen_ausklapper:hover > div:first-child {
	background-color: #FFF;
	border: 1px solid transparent;
}

.zusatzleistungen_ausklapper:hover > div:last-of-type {
	background-color: #FFF;
	border: 1px solid transparent;
}

.zusatzleistungen_ausklapper > input.flughafenliste[type="checkbox"]:checked + div::before,
.zusatzleistungen_ausklapper > input.hex[type="checkbox"]:checked + div::before {
	content: "\f0d7";
	font-weight: bold;
}

.zusatzleistungen_ausklapper > input.flughafenliste[type="checkbox"]:checked + div,
.zusatzleistungen_ausklapper > input.hex[type="checkbox"]:checked + div {
	background-color: #FFF;
	color: #333;
	border: 1px solid transparent;
}

.zusatzleistungen_ausklapper > input.flughafenliste[type="checkbox"] + div::before,
.zusatzleistungen_ausklapper > input.hex[type="checkbox"] + div::before {
	content: "\f0da";
	font-weight: bold;
}

.zusatzleistungen_ausklapper .ausklappbereich.flughafenliste,
.zusatzleistungen_ausklapper .ausklappbereich.hex {
	padding: 0;
	background-color: #FFF;
	border: 1px solid transparent;
}

.zusatzleistungen_ausklapper .ausklappbereich.flughafenliste:hover,
.zusatzleistungen_ausklapper .ausklappbereich.hex:hover {
	background-color: #FFF;
	border: 1px solid transparent;
}

.zusatzleistungen_ausklapper .ausklappbereich.flughafenliste::before,
.zusatzleistungen_ausklapper .ausklappbereich.hex::before {
	display: none;
}

/* .zusatzleistungen_ausklapper .btn.flughafenliste > div, */
/* .zusatzleistungen_ausklapper .btn.hex > div  */
.zusatzleistungen_ausklapper .ausklappbereich.flughafenliste .ausklappliste_element_ebene2,
.zusatzleistungen_ausklapper .ausklappbereich.hex .ausklappliste_element_ebene2 {
	border: 1px solid #d8eed8;
	background-color: #f6fff6;
}

/* unklar wozu das noch verwendet wird ??? 
.zusatzleistungen_ausklapper .ausklappbereich.flughafenliste .ausklappliste_einzelpruefung_ebene2 {
	border: 1px solid #ffecb3;
	background-color: #fff7e3;
} */

.zusatzleistungen_ausklapper .ausklappbereich.flughafenliste .ausklappliste_element_ebene2:hover, 
.zusatzleistungen_ausklapper .ausklappbereich.hex .ausklappliste_element_ebene2:hover {
	background-color: var(--color-button-background);
	border: 1px solid var(--color-button-border);
}

/* unklar wozu das noch verwendet wird ??? 
.zusatzleistungen_ausklapper .ausklappbereich.flughafenliste .ausklappliste_einzelpruefung_ebene2:hover {
	background-color: #fff3b4;
	border: 10px solid #e8d679;
} */


.zusatzleistungen_ausklapper > input.flughafenliste[type="checkbox"]:checked ~ div:last-of-type,
.zusatzleistungen_ausklapper > input.hex[type="checkbox"]:checked ~ div:last-of-type {
	display: block;
	padding: 0 10px 10px 10px;
}

.select_cabin_number > div {
	position: relative;
}
.selected_kabinennummerWrapper {
	padding-left: 10px;
}

.select_cabin_number select {
	width: 100%;
	padding: 10px 15px;
	float: left;
	font-weight: normal;
	font-size: 15px;
	margin-top: 10px;
}

em.pflichtfeld {
	position: absolute;
	font-style: normal;
	font-weight: normal;
}
label em.pflichtfeld {
	right: 9px;
	top: 9px;
}

input + em.pflichtfeld,
.icon + em.pflichtfeld {
	display: inline-block;
	right: 9px;
	color: #888;
	top: 9px;
}

select + em.pflichtfeld {
	display: inline-block;
	right: 27px;
	color: #888;
	top: 9px;
}


label input[type="radio"]:checked ~ i.fa.fa-circle-o {
	display: none;
}

label input[type="radio"] ~ i.fa.fa-circle-o {
	display: inline;
}

label input[type="radio"]:checked ~ i.fa.fa-dot-circle-o {
	color: var(--color-page-active-dunkelblue);
	display: inline;
}

label input[type="radio"] ~ i.fa.fa-dot-circle-o {
	display: none;
}




/************************************************************************************************************************************************************************************************************************/
/* xox: Personendateneingabe () */
/************************************************************************************************************************************************************************************************************************/

.step_personal_data h2 {
}
.step_personal_data h3 {
	color: #333333;
	margin-bottom: 8px;
	margin-top: 20px;
	font-weight: bold;
	font-size: 16px;
}
.step_personal_data h4 {
	color: #333333;
	font-size: 14px;
	margin-bottom: 6px;
	margin-top: 20px;
	font-weight: normal;
}

.step_personal_data h4.form_geburtsdatum {
	margin-bottom: 6px;
	margin-top: 0;
}

.step_personal_data .booking_personal_data>div,
.step_personal_data .formblock_reise_zusammen_mit div,
.step_personal_data .formblock_gutscheincode div,
.step_personal_data .formblock_zahlungsarten div,
.step_personal_data .formblock_reiseteilnehmer div,
.step_personal_data .formblock_persoenliche_daten div {
	float: left;
}


.booking_personal_data input[type="text"],
.booking_personal_data input[type="email"],
.booking_personal_data select,
.booking_personal_data textArea {
	width: 100%;
	font-size: 15px; 
	font-weight: normal; 
	line-height: 20px;
	-webkit-transition: all 0.30s ease-in-out;
	transition: all 0.30s ease-in-out;
	-webkit-transition: border-color .15s linear, -webkit-box-shadow .15s linear;
	transition: border-color .15s linear, -webkit-box-shadow .15s linear;
	transition: border-color .15s linear, box-shadow .15s linear;
	transition: border-color .15s linear, box-shadow .15s linear, -webkit-box-shadow .15s linear;
	border-radius: 4px;
	color: #000;
	margin: 5px 1px 3px 0px;
	min-height: 36px;
	border: 1px solid #d9d9d9;
	background-color: #FDFDFD;
	padding: 10px 0;
}

.booking_personal_data input,
.booking_personal_data textArea {
	text-indent: 3px;
}
.booking_personal_data select{
	padding-left: 1px;
}
@media screen and (min-width: 250px) {		
	.booking_personal_data input,
	.booking_personal_data textArea {
		text-indent: 6px;
	}
	.booking_personal_data select{
		padding-left: 2px;
	}
}
@media screen and (min-width: 350px) {		
	.booking_personal_data input,
	.booking_personal_data textArea {
		text-indent: 7px;
	}
	.booking_personal_data select{
		padding-left: 7px;
	}
}

@media screen and (min-width: 450px) {		
	.booking_personal_data input,
	.booking_personal_data textArea {
		text-indent: 10px;
	}
	.booking_personal_data select{
		padding-left: 10px;
	}
}


.booking_personal_data input::-webkit-input-placeholder,
.booking_personal_data select::-webkit-input-placeholder,
.booking_personal_data textArea::-webkit-input-placeholder {
	color: #777;
}

.booking_personal_data input:-ms-input-placeholder,
.booking_personal_data select:-ms-input-placeholder,
.booking_personal_data textArea:-ms-input-placeholder {
	color: #777;
}

.booking_personal_data input::-ms-input-placeholder,
.booking_personal_data select::-ms-input-placeholder,
.booking_personal_data textArea::-ms-input-placeholder {
	color: #777;
}

.booking_personal_data input::placeholder,
.booking_personal_data select::placeholder,
.booking_personal_data textArea::placeholder {
	color: #777;
}
.booking_personal_data input[data-inputtype="phone"]::placeholder { color: #bbb; }
.booking_personal_data input[data-inputtype="phone"]::placeholder { color: #bbb; }




.booking_personal_data label {
	width: 100%;
	position: relative;
	line-height: 1;
}


.js_target_abreisebahnhof_liste1 {
	display: none;
}
.js_target_abreisebahnhof_liste1.zeigen {
	display: block;
}
.js_target_abreisebahnhof_liste2 {
	position: relative;
}
	

.js_target_abreisebahnhof_liste2 .output_liste {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	position: absolute;	
	padding: 10px;
	z-index: 11;
	top: -15px;
	width: 400px;
	max-width: 100%;
	overflow: auto;
	-moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.25);
		box-shadow: 0px 0px 10px #00000040;
	max-height: 300px;
}

.js_target_abreisebahnhof_liste2 .eva {
	display: block;
	line-height: 1.6;
	color: #2c71b4;
	cursor: pointer;
	font-size: 15px;
}

.js_target_abreisebahnhof_liste2 .weitere_treffer {
	display: block;
	line-height: 1.6;
	color: #555;
	font-size: 15px;
}

.js_target_abreisebahnhof_liste2 .eva:hover {
	color: #00407d;	
	font-weight: bold;
}


.copy_checkbox {
	display: flex;
}
.copy_checkbox.copy_firstname {
	padding-bottom: 5px;
}
.copy_checkbox input {
	width: 0;
	height: 0;
	display: none;
}
.copy_checkbox .input_mit_dynlabel {
	margin-bottom: 0;
	width: auto;
	display: flex;
}
.copy_checkbox .input_mit_dynlabel .checkbox_icon::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	font-weight: normal;
	top: 0;
	position: relative;
	float: left;
	padding-right: 5px;
	line-height: 37px;
}

.copy_checkbox .input_mit_dynlabel input+.checkbox_icon::before {
	content: "\f0c8";
}
.copy_checkbox .input_mit_dynlabel input:checked+.checkbox_icon::before {
	content: "\f14a";
}
.copy_checkbox .labeltext {
	font-weight: normal;
	line-height: 1.2;
	display: flex;
	align-items: center;
}

.teilnehmer_anschrift_block {
	overflow: hidden;
	max-height: 500px;
	transition: all 0.5s;
	padding-top: 5px;
}
.teilnehmer_anschrift_block.verbergen {
	overflow: hidden;
	max-height: 0px;
	transition: all 0.5s;
	opacity: 0;
	width:100%;
}
.teilnehmer_anschrift_block.verbergen select, 
.teilnehmer_anschrift_block.verbergen select option, 
.teilnehmer_anschrift_block.verbergen input {
	color: #fff !important;
}

.booking_personal_data hr { background: unset; border: unset; height: 10px; }


/************************************************************************************************************************************************************************************************************************/
/* xox: Zahlungsangaben () */
/************************************************************************************************************************************************************************************************************************/
/* Zahlungsangaben */
.zahlungDesc {
	overflow: hidden;
	max-height: 0px;
	transition: opacity 1s;
	opacity: 0;
	width:100%;
}
.zahlungDesc_eingeblendet {
	max-height: 300px;
	opacity: 1;
	overflow: unset;
	font-weight: bold; 
}


.card-js > div {
	position: relative;
	display: inline-block;
	width: 100%;
}

.card-js > div input[type=date],
.card-js > div input[type=text],
.card-js > div input[type=password],
.card-js > div input[type=email],
.card-js > div input[type=tel],
.card-js > div input {
	padding-left: 28px;
	padding-right: 48px;
	margin-bottom: 4px;
}

.card-number-wrapper,
.name-wrapper,
.expiry-container,
.cvc-container {
	padding-bottom: 5px;
}

.card-js .icon {
	position: absolute;
	display: block;
	width: 24px;
	height: 17px;
	left: 8px;
	top: 15px;
	pointer-events: none;
	opacity: 0.5;
}

.card-js .expiry-container,
.card-js .cvc-container {
	width: 49%;
	float: left;
}

.card-js .expiry-container {
	margin-right: 1%;
}

.card-js .cvc-container {
	margin-left: 1%;
}


/************************************************************************************************************************************************************************************************************************/
/* xox: Kreditkarten () */
/************************************************************************************************************************************************************************************************************************/

/* Kreditkarten Eingabe */
/* Kreditkarten Bildchen neben der Nummer */
.card-js .card-number-wrapper .card-type-icon {
	height: 23px;
	width: 32px;
	position: absolute;
	display: block;
	right: 8px;
	top: 13px;
	background: url('/media/theme/cards.png') 0 23px no-repeat;
	pointer-events: none;
	opacity: 0;
	-webkit-transition: opacity .15s linear;
	transition: opacity .15s linear;
}

.card-js .card-number-wrapper .show {
	opacity: 1;
}

.card-js .card-number-wrapper .card-type-icon.mastercard {
	background-position: -32px 0;
}

.card-js .card-number-wrapper .card-type-icon.visa {
	background-position: 0 0;
}
/* pictogram links */
.card-js i.pictogram {
	display: inline-block;
	position: absolute;
	left: 10px;
	color: #888;
	top: 16px;
	font-size: 17px;
	width: 22px;
	text-align: center;
}

.booking_personal_data .horizontale_tabauswahl .labeltext {
	font-size: 17px;
	font-weight: bold;
	padding-top: 7px;
	display: inline-block;
}

.booking_personal_data .horizontale_tabauswahl input {
	width: 0;
	height: 0;
	max-width: 0;
	max-height: 0;
	opacity: 0;
}




/************************************************************************************************************************************************************************************************************************/
/* xox: Versicherung () */
/************************************************************************************************************************************************************************************************************************/


.insurance_step  label {
	margin: 0;
}

.insurance_step .header {
	text-align: left;
	padding: 5px 0 0 10px;
	float: left;
	width: 100%;
}
	
.insurance_step .hm_beschreibung {
	font-size: 14px;
	padding-left: 10px;
	padding-bottom: 0;
	font-weight: normal;
	float: left;
	clear: both;
}
.insurance_step .hm_beschreibung .a_weitere_beschreibungen {
	cursor: pointer;
	font-weight: normal;
	text-decoration: underline;
}
.insurance_step .hm_beschreibung .corona_link:hover, 
.insurance_step .hm_beschreibung .hm_infodocs:hover, 
.insurance_step .hm_beschreibung .a_weitere_beschreibungen:hover {
	font-weight: bold;
	letter-spacing: -0.6px;
}

.insurance_step .hm_beschreibung .weitere_beschreibungen {
	max-height: 0;
	overflow: hidden;
	-webkit-transition: max-height 0.3s linear, opacity 1s linear;
	transition: max-height 0.3s linear, opacity 1s linear;	
}
.insurance_step .hm_beschreibung .weitere_beschreibungen p {
	font-size: 14px;
	padding: 10px 0 0 0;
	margin: 0;

}

.insurance_step .hm_beschreibung .weitere_beschreibungen.aktiv {
	max-height: 500px;
	-webkit-transition: max-height 0.3s linear, opacity 1s linear;
	transition: max-height 0.3s linear, opacity 1s linear;	
}


.insurance_step .hm_beschreibung ul li {
	font-weight: normal;
}
.insurance_step .hm_empfehlung {
	font-weight: bold;
	font-size: 18px;
	color: #409140;
	white-space: nowrap; 
}

.insurance_step ul {
	padding: 0;
	list-style: none;
	margin: 0;
}

.insurance_step .hm_name {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.1;
	margin-right: 10px;
}

.insurance_step  a.corona_link, 
.insurance_step a.hm_infodocs {
	font-weight: normal;
	font-size: 14px;
	text-decoration: underline;
}

.insurance_step .hm_preis {
	float: right;
	padding: 5px 10px;
	text-align: right;
	font-weight: normal;
}
.insurance_step .hm_preis_big {
	font-size: 18px;
	font-weight: bold;
	white-space: nowrap; 	
}


.insurance_step .hm_stars {
	width: auto;
	font-size: 14px;
	line-height: 20px;
	font-weight: 700;
	border-radius: 3px;
	top: -3px;
	position: relative;
	white-space: nowrap; 	
}
.insurance_step .hm_option_beschreibung.empfehlung .hm_stars i {
	font-size: 18px;
	color: #409140;
}
.insurance_step .hm_option_beschreibung .hm_empfehlung {
	display: none;
}
.insurance_step .hm_option_beschreibung.empfehlung .hm_empfehlung {
	display: inline;
}



.insurance_step .container_hm_element {
	cursor: pointer;
	border-radius: 5px;
	background-color: #fff;
	border: 1px solid #fff;
}

.insurance_step .hm_element_container.show_corona_div .hm_option_beschreibung {
	background-color: #ffd3d3;
	border: 1px solid #d78d8d;
}

.insurance_step .hm_element_container .hm_option_beschreibung:hover {
	background-color: var(--color-button-background);
	border: 1px solid var(--color-button-border);
}
.insurance_step .hm_element_container.ohne_versicherung .hm_option_beschreibung:hover {
	background-color: #ffd3d3;
	border: 1px solid #d78d8d;
}
.insurance_step .hm_element_container input.select_hm_corona:checked + .hm_option_beschreibung, 
.insurance_step .hm_element_container input.select_hm_option:checked + .hm_option_beschreibung  {
	background-color: var(--color-button-selected) !important;
	border: var(--color-button-width) solid var(--color-button-border-selected) !important;
	color: #fff !important;
}
.insurance_step .hm_element_container input.select_hm_option:checked + .hm_option_beschreibung .hm_stars i, 
.insurance_step .hm_element_container input.select_hm_option:checked + .hm_option_beschreibung .hm_empfehlung, 
.insurance_step .hm_element_container input.select_hm_corona:checked + .hm_option_beschreibung a, 
.insurance_step .hm_element_container input.select_hm_option:checked + .hm_option_beschreibung a {
	color: #fff !important;
}

.insurance_step .hm_element_container.ohne_versicherung input.select_hm_option:checked + .hm_option_beschreibung {
	background-color: #e32c2c  !important;
	border: 1px solid #e32c2c  !important;
	color: #fff !important;
}

.show_corona_div label input,
.radio_confirmation label input,
.insurance_step input {
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	top: 80%;
	position: absolute;
	left: 30%;
}

.no_versicherung_title {	
	font-size: 18px;
	font-weight: bold;
	display: block;
	padding-left: 10px;
}
.hm_option_beschreibung .corona_title {	
	font-size: 18px;
	font-weight: bold;
	display: block;
}
.no_versicherung_text {
	display: block;
	padding-left: 10px;
}


.show_corona_div,
.radio_confirmation {
	padding: 10px 0 0 0;
}

.show_corona_div label,
.radio_confirmation label {
	margin-bottom: 0;
	font-weight: normal;
}



.radio_confirmation input.select_hm_corona + .hm_option_beschreibung::before,   
.radio_confirmation input.select_hm_option + .hm_option_beschreibung::before {		  
	font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	font-weight: normal;
	content: "\f111";
	top: 10px;
	position: absolute;
	float: left;
	left: 10px;
}

.radio_confirmation .hm_option_beschreibung::before {	
	top: 10px;
}
 

.radio_confirmation input.select_hm_option:checked + .hm_option_beschreibung::before  {  
	content: "\f058";
	font-weight: normal;
}
.radio_confirmation input.select_hm_corona:checked + .hm_option_beschreibung::before  {  
	content: "\f058";
	font-weight: normal;
}

.hm_option_beschreibung {
	cursor: pointer;
	border-radius: 5px;
	background-color: #fff;
	border: 1px solid #fff;
	padding: 8px 10px 8px 40px;
	float: left;
	width: 100%;
}
	
.show_corona_div {
	-webkit-transition: max-height 1s linear, opacity 1s ease-out;
	transition: max-height 1s linear, opacity 1s ease-out;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	padding: 0;
}

.show_corona_div.aktiv {
	-webkit-transition: max-height 1s linear, opacity 1s ease-out;
	transition: max-height 1s linear, opacity 1s ease-out;
	max-height: 400px;
	opacity: 1;
	padding: 10px 0 0 0;
}

.versicherung_altersabfrage .zeile {
	display: flex;
	flex-direction: row;
	justify-content: center;
}

.versicherung_altersabfrage .links,
.versicherung_altersabfrage .rechts {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5px 5px 5px 5px;
}
.text_bemerkung_dialog .dialog_text .rechts {
	text-align: left;
}
.text_bemerkung_dialog .dialog_text .links {
	text-align: right;
}



.versicherung_altersabfrage select {
	width: 100%;
	font-size: 15px;
	font-weight: normal;
	outline: none;
	line-height: 20px;
	-webkit-transition: all 0.30s ease-in-out;
	transition: all 0.30s ease-in-out;
	border-radius: 4px;
	color: #000;
	border: 1px solid #d9d9d9;
	background-color: #FDFDFD;
	padding: 4px;
	max-width: 200px;
	padding: 10px;
}
	
.versicherung_altersabfrage .disabled select {
	color: #9d9d9d;
	background: #ddd;
}
	



/************************************************************************************************************************************************************************************************************************/
/* xox: Final_Abschluss () */
/************************************************************************************************************************************************************************************************************************/
.step_final_check .section.current.final .laststep_zusammenfassung_container {
	padding: 10px 20px 20px 10px;
	float: left;
	width: 100%;
}

.step_final_check .laststep_zusammenfassung_container h4 {
	margin: 20px 0 5px 0;
}
	
.step_final_check .zusammenfassung_title {
	font-weight: bold;
	display: block;
	float: left;
	width: 100%;
}	
.step_final_check .zusammenfassung_text {
	float: left;
	display: block;
	width: 100%;
	margin-bottom: 5px;
}

.step_final_check .text_tabelle {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-bottom: 5px;
}
.step_final_check .text_tabelle .spalte_name   { width: 60%; padding-right: 10px; text-align: left;}
.step_final_check .text_tabelle .spalte_datum  { width: 15%; padding-right: 10px; text-align: left;}
.step_final_check .text_tabelle .spalte_anzahl { width: 15%; padding-right: 10px; text-align: right;}
.step_final_check .text_tabelle .spalte_preis  { width: 15%; text-align: right; }

@media screen and (max-width: 900px){
	.step_final_check .text_tabelle {
		display: block;
		margin-bottom: 5px;
	}
	.step_final_check .text_tabelle .spalte_name, 
	.step_final_check .text_tabelle .spalte_datum, 
	.step_final_check .text_tabelle .spalte_anzahl {
		display: inline;
		width: unset;
		padding: 0;
	}
	.step_final_check .text_tabelle .spalte_name:after, 
	.step_final_check .text_tabelle .spalte_datum:after {
		content: ", ";
	}
	.step_final_check .text_tabelle .spalte_preis  {
		display: block;
		float: left; 
		width: 100%;
	}
}

.step_final_check .gesamtpreis {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	float: left;
	font-weight: bold; 
	font-size: 18px; 
	margin: 20px 0 5px 0;
	width: 100%;
	color: var(--color-page-active-dunkelblue);
}
.step_final_check .gesamtpreis .rechts {
	display: flex;
	align-items: end;
}


.step_final_check .section.current.final #agbContainer {
	padding: 10px 20px 20px 10px;
	float: left;
}
 

.step_final_check h4 {
	margin-top: 10px;
	margin-bottom: 10px;
}

.step_final_check label {
	cursor: pointer;
	/* height: 100%; deaktiviert weil die Checkboxen im Buchungabschluss nicht 100% Abstand haben sollen. */
	display: block;
	margin-bottom: 5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	  -ms-flex-align: center;
	      align-items: center;
}

.step_final_check label input {
	width: 0;
	height: 0;
	padding: 0;
	left: 10px;
	position: absolute;
	z-index: -10;
}

.step_final_check label span {
	display: inline;
	padding: 0;
	font-weight: normal;
	padding-left: 10px;
}

.step_final_check label span a {
	text-decoration: underline;
}

.step_final_check span {
	display: block;
}

.step_final_check .booking_content_box {
	background-color: #FFF;
}

label input[type="checkbox"]:checked ~ i.fa.fa-square-o {
	display: none;
}

label input[type="checkbox"] ~ i.fa.fa-square-o {
	display: inline;
}

label input[type="checkbox"]:checked ~ i.fa.fa-check-square-o {
	color: var(--color-page-active-dunkelblue);
	display: inline;
}

label input[type="checkbox"] ~ i.fa.fa-check-square-o {
	display: none;
}


.step_final_confirmation .form_buttons {
	padding: 0 10px 0 0;
}

.step_final_confirmation .next {
	font-weight: bold;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	box-shadow: 0 0 10px 2px #cccccc;
	width: 95%;
	font-size: 110%;
}

.agbContainer .fa.fa-2x {
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-weight: normal;
	line-height: 1;
	font-family: 'Font Awesome 5 Free';
	content: "\f058";
	font-size: 2em;
	width: 25px;
	min-width: 25px;
}
.agbContainer .fa.fa-square-o.fa-2x {
	content: "\f058";
	font-weight: normal;
}
.agbContainer .fa.fa-check-square-o.fa-2x {
	content: "\f058";
	font-weight: normal;
}


/* Neue AGB Checkboxen V 2.3 ab 10.02.2023 */
.confirm_agb_container .confirm_agb_input {
	width: 0;
	height: 0;
	padding: 0;
	left: 10px;
	position: absolute;
	z-index: -10;
}
.confirm_agb_container .confirm_agb_icon::before {
	font-style: normal;
	font-variant: normal;
	font-weight: normal;	
	text-rendering: auto;
	line-height: 1;
	font-family: 'Font Awesome 5 Free';
	content: "\f111";
	font-size: 23px;
	width: 25px;
	min-width: 25px;
}
.confirm_agb_container .confirm_agb_input:checked + .confirm_agb_icon::before  {
	content: "\f058";
	font-weight: normal;
}
.confirm_agb_container .confirm_agb_labeltext  {
	padding-left: 5px;	
	line-height: 1.2;
}
.confirm_agb_container .confirm_agb_label  {
	margin-bottom: 12px;
}



@media screen and (max-width: 900px){
	.step_final_check .section.current.final .laststep_zusammenfassung_container {
		padding: 10px;
	}
	.step_final_check .section.current.final #agbContainer {
		padding: 10px;
	}
}

@media screen and (max-width: 449px){
	.step_final_check .section.current.final .laststep_zusammenfassung_container {
		padding: 20px 0 0 0;
	}
	.step_final_check .section.current.final #agbContainer {
		padding: 20px 0 0 0;
	}
}
 
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.search_teaser_bar {
	display: block;
	max-height: 330px;
	}
	.search_teaser_bar .header_teaser_image {
	display: block;
	}
	.search_teaser_bar .header_teaser_image .header_teaser_image_2,
	.search_teaser_bar .header_teaser_image img {
	height: auto;
	}
	.pagetemplate_cruiselist .imagebox {
	max-height: 300px;
	}
	.template_landingpage1 .imagebox {
	max-height: 200px;
	}
}

.booking_personal_data label {
	margin-bottom: 10px;
}



.input_mit_dynlabel .label_text {
	display: flex;
	font-weight: normal;
	color: #999;
	pointer-events: none;
	position: absolute;
	top: 17px;
	left: 15px;
	transition-property: all;
	transition-duration: 0.2s;
}

.input_mit_dynlabel.selectfield .label_text {
	display: none;
}

.input_mit_dynlabel 			.label_field.label_oben + .label_text, 
.input_mit_dynlabel 			.label_field:focus + .label_text, 
.input_mit_dynlabel 			.label_field.valid + .label_text,
.input_mit_dynlabel 			.label_field.error + .label_text,
.input_mit_dynlabel.ausgefuellt .label_text, 
.input_mit_dynlabel.immer_oben .label_text  {
	border: 1px solid #ccc;
	font-size: 12px;
	line-height: 1.1;
	transform: translateY(-20px);
	background: #fff;
	padding: 0px 5px 0px 5px;
	border-radius: 4px;
	left: 6px;
	color: #666;
	display: flex;
}

.input_mit_dynlabel 			.label_field.label_oben + .label_text {  color: #333; font-size: 14px; }
.input_mit_dynlabel.selectfield .label_field.label_oben { color: #000; } 

.input_mit_dynlabel .label_field[data-inputtype="phone"] + .label_text {
	border: 1px solid var(--color-page-active-dunkelblue);
	color: #ccc;
	background: #ffffff;
	border: 1px solid #ccc;
	font-size: 12px;
	line-height: 1.1;
	transform: translateY(-20px);
	background: #fff;
	padding: 0px 5px 0px 5px;
	border-radius: 4px;
	left: 6px;
	color: #666;
	display: flex;
}

.input_mit_dynlabel .label_field:focus + .label_text {
	border: 1px solid var(--color-page-active-dunkelblue);
	color: var(--color-page-active-dunkelblue);
	background: #ffffff;
}
.input_mit_dynlabel .label_field.valid + .label_text  {
	border: 1px solid #99cc00;
	color: #6e9300;
	background: #f9ffee;
}

.input_mit_dynlabel .label_field.error + .label_text  {
	border: 1px solid #c80000;
	color: #c80000;
	background: #ffdbdb;
}


.input_mit_dynlabel.selectfield .label_field {
	color: #999;
}
.input_mit_dynlabel.selectfield.ausgefuellt .label_field, 
.input_mit_dynlabel.selectfield .valid {
	color: #000;
}


.booking_personal_data  label.label_error {
	position: absolute;
	font-weight: normal; 
	color: #c80000;
	font-size: 12px;
	z-index: 10;
	margin: 0; 
	text-shadow: 2px 2px 2px rgb(255, 255, 255), 2px -2px 2px #fff, -2px 2px 2px #fff, -2px -2px 2px #fff;
	right: 11px;
	width: auto;
	bottom: 0;
	background: #ffdbdb;
}



.booking_personal_data  #creditcard  span#cardHinweis {
	position: absolute;
	font-weight: normal; 
	color: #c80000;
	font-size: 12px;
	z-index: 10;
	margin-top: -4px;
	text-shadow: 2px 2px 2px rgb(255, 255, 255), 2px -2px 2px #fff, -2px 2px 2px #fff, -2px -2px 2px #fff;
	right: 30px;
	width: auto;
}

.booking_personal_data div.div_ausblenden { 
	transition: all ease-in-out 0.5s;
	opacity: 0; 
}


step_final_confirmation


/************************************************************************************************************************************************************************************************************************/
/* xox: Kabinenauswahl () */
/************************************************************************************************************************************************************************************************************************/
/* Step Kabinenauswahl */
.hinweiseKabine {
	display: inline-block;
	margin-top: 10px;
}	
.kabinenbeschreibung {
	background: white;
	margin: 10px 0 0 0;
	padding: 10px;
	font-size: 14px;			    
}		
.kabinenbeschreibung h2, .kabinenbeschreibung h3 {
	margin: 30px 0 10px 0;
	letter-spacing: -0.5px;
	font-size: 20px;
	color:#333; 
}
.kabinenbeschreibung ul {
	margin: 0 0 10px 10px;
	padding: 0;
	list-style-position: inherit;
}
.kabinenbeschreibung li {
	line-height: 1.25;
	margin-bottom: 8px;
}

.step_cabin_number .selected_deck,
.step_cabin_number .selected_kabinennummer {
	/*-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;*/
	border: 1px solid transparent;
		box-shadow: 0px 0px 10px rgba(0,0,0,0.25);
	border-radius: 3px;
	outline: none;
	cursor: pointer;			
}
/* sieht nicht mehr schön aus. 
.step_cabin_number .selected_deckWrapper::after,
.step_cabin_number .selected_kabinennummerWrapper::after {
	font-family: 'Font Awesome 5 Free';
	font-size: 25px;
	font-weight: bold;
	content: "\f0d7";
	position: absolute;
	padding-right: 10px;
	line-height: 14px;
	right: 20px;
	top: 24px;
	pointer-events: none;
	color: #717171;
}*/
.step_cabin_number .kabine_dot {
	position: absolute;
	bottom: -12px;
	right: -27px;
	color: #00a400;
	z-index: 10;
	font-size: 34px;
	text-shadow: 2px 1px 1px #fff, -2px -2px 1px #fff, 0px 3px 1px #fff;
	
	
}

.kabinenmarker_im_deckplan {
	position: absolute; 
	border: 3px solid #00BC08; 
	cursor: pointer;
	
}
.kabinenmarker_im_deckplan.kabine_schon_ausgewaehlt {
	position: absolute; 
	border: 3px solid #F00; 
	cursor: no-drop;
}

.selected_cabin {
	color:#333; 
	margin-top: 10px; 
	margin-bottom: 10px;
}

.kabinenbeschreibung_inner {
	padding: 10px;
}

.kabinenbeschreibung_inner h3{	
}

.step_cabin_number #deckplan {
	padding-left: 10px;
}

.step_cabin_number .deckplanBild {
	position: relative;
}
.step_cabin_number .deckplanBild img {
	width: 250px;
	height: auto;
	max-width: 98%;
	
}

.deckplan_legende {
	width:100%; 
	padding-top: 10px; 
}


.kabine_name {
	position: absolute;
	top: -9px;
	left: 20px;
	background: #00a400;
	padding: 5px;
	border: 2px solid #fff;
	width: auto;
	min-width: 50px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.25);
	z-index: 11;
	color: #fff;
}

.kabine_name.kabine_schon_ausgewaehlt {
	width: 150px;
	min-width: 150px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.25);
	z-index: 12;
	color: #fff;
	background: #f00;
}


.cabin_step_display { display: block !important; }
.cabin_step_hide { display: none; }
.mouseover_display { display: block !important; }
.mouseover_hide { display: none; }

/*# sourceMappingU RL=sty le.c ss.ma p    // leerzeichen eingefügt, damit der String nicht gelesen wird */





/************************************************************************************************************************************************************************************************************************/
/* xox: Modal_Textbemerkung () */
/************************************************************************************************************************************************************************************************************************/

.text_bemerkung_dialog .dialog_title {
	background: #d4f7ff;
	font-size: 20px;
	font-weight: bold; 
	padding: 20px;
	text-align: center;
}


.text_bemerkung_dialog .dialog_text {
	background: #fff;
	padding: 10px 20px 0 20px;
	text-align: center;
	font-size: 16px;
}
.text_bemerkung_dialog .dialog_form {
	background: #fff;
	padding: 10px 5px 0 5px;
	text-align: center;
	font-size: 16px;
}
.text_bemerkung_dialog .dialog_buttons_nebeneinander, 
.text_bemerkung_dialog .dialog_buttons {
	background: #fff;
	padding: 0 10px 10px 10px;
	text-align: center;
	display: inline-block;
	width: 100%;
}
.text_bemerkung_dialog .dialog_buttons button {
	width: 300px;
	max-width: 100%;
	margin-top: 10px;
}
.text_bemerkung_dialog .dialog_buttons_nebeneinander button {
	width: 100%;
	margin-top: 10px;
}
.text_bemerkung_dialog .dialog_buttons_nebeneinander div {
	padding: 0 10px;
}


.text_bemerkung_dialog .text_bemerkung_modal {
	z-index: 1000;
	background: #000;
	opacity: .5;
	filter: Alpha(Opacity=50);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.text_bemerkung_dialog .text_bemerkung_fenster {
	display: block;
	z-index: 1001;
	height: auto;
	position: fixed ;
	top: 50% ;
	left: 50% ;
	transform: translate(-50%, -50%) ;
	max-width: 100% ;
	width: 600px;	
	border: 1px solid #d3d3d3;
	padding: 0;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	background: #fff;
}

@media screen and (min-height: 1000px) {
	.text_bemerkung_dialog .text_bemerkung_fenster {
		top: 500px;
	}
}



/************************************************************************************************************************************************************************************************************************/
/* xox: User_Account_Login_nachholen () */
/************************************************************************************************************************************************************************************************************************/

/* Buchung letzer Schritt User Account Login nachholen */
.booking_input_passwort {
	background-color: #fff;
	padding: 10px 20px;
	margin: 0 -5px 20px -5px;
	width: auto;
}

.booking_input_passwort .form_label, 
.booking_input_passwort .form_input  {
	margin: 0;
	display: block;
}


.booking_input_passwort .userlogin_form  {
	display: flex;
	  flex-direction: column;
	  width: 100%;
	  gap: 10px;
}

.booking_input_passwort .field_2 {
	width: 100%;
}
.booking_input_passwort .field_2 input.form_input {
	border: 1px solid #7a7a7a;
	padding: 5px;
	width: 100%;
}

.booking_input_passwort .field_2 input.email {
	color: #777;
	background: #eee;
	text-shadow: 1px 1px 0 #fff;
}

.booking_input_passwort .field_3 {
	width: 100%;
	text-align: center;
}

.booking_input_passwort .field_3 button {
	width: 100%;
	margin-top: 12px;
	max-width: 300px;
}


.booking_input_passwort>form {
	padding: 0;
	display: inline-block;
	width: 100%;
}

.booking_input_passwort button {
	white-space: nowrap;
}

@media screen and (min-width: 750px) {
	.booking_input_passwort {
		margin: 15px -20px 15px -20px;
		padding: 10px 20px;
	}
	.booking_input_passwort .userlogin_form  {
	  flex-direction: row;
	}
}


.after_booking .button_booking_next {
	width: 100%;

}

.step_final_confirmation.erfolgsmeldung {
	color: #1d8600;
}


.booking_input_passwort .errormessage {
	padding: 4px;
	border: 0;
	background: unset;
	color: #b90000;
}


.booking_input_passwort .password_advice_box {
	bottom: 54px;
	left: -2px;
	width: 390px;
	min-width: 100%;
}

.step_final_confirmation .buchung_link {
	font-weight: bold;
	color: var(--color-page-active-dunkelblue);
}


.booking_input_passwort .button_booking_next, 
.booking_input_passwort .button_booking_grey {
	margin: 5px 0;  
}

/************************************************************************************************************************************************************************************************************************/
/* xox: cookie_consent () */
/************************************************************************************************************************************************************************************************************************/
.cookie_background_img {
	background-color: rgb(8, 172, 203);
	background-image: url('/media/theme/body_bg.jpg');
	background-repeat: repeat-x;
	background-size: 100%
}
.cookie_background_hellblau {
	background-color: #e3f4fb;
	background-image: unset;
}
.cookie_background_white {
	background-color: #fff;
	background-image: unset;
}

.cookie_box.cookie_layer {
	padding: 0;
	position: absolute;
	z-index: 9999;
	background: #bee9ff;
	animation-name: box_down;
	animation-duration: 3.5s;
	box-shadow: 0 12px 54px  rgba(0,0,0,0.5);
	border-bottom: 1px solid #fff;
	width: 100%;
	top: 0;
}

.pagetemplate_cookieconsent .cookie_box {
	padding: 20px;	
}

/*
.cookie_abdunkeln {
	 position: fixed;
	 left: 0px;
	 top: 0px;
	 height: 100%;
	 width: 100%;
	 background-color: black;
	 z-index: 99;
	animation-name: cookie_abdunkeln;
	animation-duration: 5.8s;
	 opacity: var(--modal-opacity);
}
*/

@keyframes box_down {
	0%   { top: -500px; }
	70%  { top: -500px; }
	100% { top: 0; }
}
/*
@keyframes cookie_abdunkeln {
	0%   { opacity: 0.0; }
	70%   { opacity: 0.0; }
	100% { opacity: 0.5; }
}
*/

.cookie_box form {
	margin: 0;
}

.cookie_title {
	font-size: 19px;
	font-weight: bold;
	margin: 10px 0 10px;
	color: #333333;
}
.cookie_text {
	font-size: 14px;
	text-align: left;
	margin: 0;
}
.cookie_button_bar {
	text-align: right;
	padding-bottom: 0;
}

#cookie_buttons .submit_button_grey  {
	box-shadow: 0 0 10px -3px #666666;
	font-size: 16px;
	line-height: 26px;
	margin-left: 5px;
	margin-top: 5px;
	display: inline-block;
	font-weight: normal;
	background-color: #aaa;	
	border: 3px solid #ffffff;
	padding: 8px 17px;
	border-radius: 10px;
	color: white;
	cursor: pointer;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	width: auto;
	text-align: center;	
}

#cookie_buttons .submit_button_all {
	box-shadow: 0 0 10px -3px #2a9f00;
	font-size: 16px;
	line-height: 26px;
	margin-left: 5px;
	margin-top: 5px;
	display: inline-block;
	font-weight: normal;
	border: 3px solid #ffffff;
	padding: 8px 17px;
	background-color: #2a9f00;
	border-radius: 10px;
	color: white;
	cursor: pointer;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	text-align: center;
}

#cookie_buttons .submit_button_all:hover {
	background: linear-gradient(to bottom, #319d0a 0%, #248002 100%);
	box-shadow: 0 0 10px -1px #2a9f00;
}

#cookie_buttons .submit_button_grey:hover {
	background: linear-gradient(to bottom, #999 0%, #bbb 100%);
}


@media screen and (max-width: 700px){
	#cookie_buttons .submit_button_all, #cookie_buttons .submit_button_grey  {	
		width: 100%;
		margin-left: 0;
	}
	.media_breit {	display: none; 	}
	.media_schmal {	display: block; 	}
}
@media screen and (min-width: 701px){
	.media_breit {	display: block; 	}
	.media_schmal {	display: none; 	}
}


.cookie_submenu input[type="checkbox"].sub_checkbox + div::before {
	 font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	font-weight: normal;
	margin-left: 15px;
	content: "\f111";
	position: relative;
	top: initial;
	margin-left: 0px;
	float: left;
	width: 25px;
	text-align: center;
}
.cookie_submenu input[type="checkbox"].sub_checkbox:checked + div::before, .cookie_submenu .checkbox_checked {
	content: "\f058";
	font-weight: normal;
}

.cookie_submenu .sub_checkbox { display:none; }

.cookie_submenu .sub_description  { 
	position: relative;
	white-space: normal;
	display: block !important;
	margin-left: 25px;
	padding-left: 10px;
	font-weight: normal;	
}
.cookie_submenu .sub_description strong { 
	font-size: 16px;
	font-weight: bold;	
	display: block;
	color: unset;
}

.cookie_submenu label input[type="checkbox"] + div  {
	background-color: #ffc3c3;
	border: 1px solid #d28f8f;
	color: #600;
}

.cookie_submenu label input[type="checkbox"]:checked + div  {
	background-color: #b9ffa0;
	border: 1px solid #82c157;
	color: #1d5100;
}

.cookie_submenu .sub_item {
	border-radius: 5px;
	padding: 10px;
}

.cookie_layer .cookie_box_outside {
	padding: 10px;
}

.pagetemplate_cookieconsent .cookie_box_outside {
	padding: 10px;
	position: relative;
	clear: both;
	background: #ffffff;
}


.cookie_submenu label {
	width: 100%;
}



.cookie_submenu  {
	padding: 5px 5px 0 5px;
	margin-top: 5px;
	overflow: auto;
}

@media screen and (max-height:  800px){		.cookie_submenu  { max-height:  300px; }		}
@media screen and (min-height:  801px){		.cookie_submenu  { max-height:  400px; }		}
@media screen and (min-height:  900px){		.cookie_submenu  { max-height:  500px; }		}
@media screen and (min-height: 1000px){		.cookie_submenu  { max-height:  600px; }		}
@media screen and (min-height: 1100px){		.cookie_submenu  { max-height:  700px; }		}
@media screen and (min-height: 1200px){		.cookie_submenu  { max-height:  800px; }		}

.externer_link_blau {
	text-decoration: none;
}
.externer_link_blau:hover {
	text-decoration: underline;
}

.externer_link_box {
	color: #333333; 
	text-decoration: none;
}

.externer_link_box:hover {
	color: #333333; 
	text-decoration: underline;
}


/************************************************************************************************************************************************************************************************************************/
/* xox: Zwischenseite_Preloader () */
/************************************************************************************************************************************************************************************************************************/

.preloader_zwischenseite.show_zwischenseite {
	width: 100%;
	height: 100%;
	display: block; 
	position: fixed; 
	z-index: 99999;
}

.preloader_zwischenseite {
	display: none; 
	z-index: -9999; 
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background: #000a;
	text-align:center;
	color:#fff;
}
.preloader_zwischenseite .textbereich {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	max-width: 100%;
	max-height: 100%;
	overflow: auto;
	width: 90%;
	height: 50%;	
	max-width: 500px;
}

.preloader_zwischenseite i {
	margin: 20px 0;	
	font-size: 100px;
}
.preloader_zwischenseite p {
	font-size: 18px;
	color: #fff;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.app_frontend .preloader_zwischenseite { background: #061224de; }


/************************************************************************************************************************************************************************************************************************/
/* xox: AJAX_Preloader (KR=GR=MR) */
/* Laden von Kreuzfahrtlisten bei KF Suche
/************************************************************************************************************************************************************************************************************************/

.search_form_in_progress .cruise_liste .list_cruise_single  {
	background: #eee;
}

.search_form_in_progress .cruise_liste .list_cruise_single * { 
	opacity: 0; 
	transition: opacity 0.25s ease;
}


.search_form_in_progress .cruise_liste .list_cruise_single  {
	background-image: linear-gradient(103deg, #fff0 100px, #fff 200px, #fff0 300px);
	background-size: 1000px;
	animation: shine 1s infinite linear;
}

@keyframes shine {
	0% {
	    background-position: -1000px;
	}
	100% {
	    background-position: 1500px;
	}
}


.search_form_clicked .menu_left_main,
.search_form_clicked .content_bottom_links,
.search_form_clicked .premium_content_editorial,
.search_form_clicked .content_editorial {
	display: none;
}
.search_form_clicked .container_footer {
	margin-top: 1000px;
}



/************************************************************************************************************************************************************************************************************************/
/* xox: Animations (KR=GR=MR) */
/************************************************************************************************************************************************************************************************************************/

/* Große Animation für die gesamte Seite */
.hotel_kategoriezeile.ajax_loader, 
.search_form_in_progress .cruise_liste .list_cruise_single  {
	background-image: linear-gradient(103deg, #fff0 100px, #fff 200px, #fff0 300px);
	background-size: 1000px;
	animation: shine_large 1s infinite linear;
}

@keyframes shine_large {
	0% {
	    background-position: -1000px;
	}
	100% {
	    background-position: 1500px;
	}
}
 
/* Kleine Animation für die Buttons u.ä. */
.search_cruises_button.set_animation  {
	background-image: linear-gradient(103deg, #fff0 100px, #fff8 200px, #fff0 300px);
	background-size: 500px;
	animation: shine_small 2s forwards linear;
}

@keyframes shine_small {
	0% { background-position: -100px; }
	100% { background-position: 500px; }
}



/*######################################################################################################################################################################################################################*/
/* 			 xox: ___________Signup_Loginlogout_MyData_V3______________________14588_KR ()
/* 			 KR = GR = MR, wird aber auf GR / MR nicht verwendet
/*######################################################################################################################################################################################################################*/

/************************************************************************************************************************************************************************************************************************/
/* xox: Allgemeine_Styles_Layout () */
/************************************************************************************************************************************************************************************************************************/
.content_signup, 
.content_newpassword, 
.content_loginlogout {
	padding: 10px 10px 60px 10px;
	display: inline-block;
	width: 100%;	
}

.app_frontend .content_newpassword, 
.app_frontend .content_signup, 
.app_frontend .content_loginlogout {
	padding: 20px 10px 20px 10px;
} 

.content_signup h2 {
	margin-bottom: 30px;
}

/* Standardtext */
.my_data_page_all h1, .my_data_page_all h2, .my_data_page_all h3, .my_data_page_all h4, .content_signup h2 { 
	color: #333;
	margin-top: 1em;
}
.my_data_page_all h4 { 
	font-size: 16px;	
	font-weight: bold;
	margin-bottom: 0;
}

.my_data_page_all .resultmessage,
.content_signup .resultmessage,
.content_newpassword .resultmessage, 
.content_loginlogout .resultmessage {	font-size: 16px;	}

.my_data_page_all p.form_label,
.content_signup  p.form_label, 
.content_newpassword  p.form_label, 
.content_loginlogout  p.form_label {	margin:0;	font-size: 16px; }

.my_data_page_all p.untertitel,
.content_signup  p.untertitel, 
.content_newpassword  p.untertitel, 
.content_loginlogout  p.untertitel {	font-size: 16px; }

.web_frontend .my_data_page_all p.untertitel,
.web_frontend .content_signup  p.untertitel, 
.web_frontend .content_newpassword  p.untertitel, 
.web_frontend .content_loginlogout  p.untertitel {	margin: -5px 0 20px 0;}

.app_frontend .my_data_page_all p.untertitel,
.app_frontend .content_signup  p.untertitel, 
.app_frontend .content_newpassword  p.untertitel, 
.app_frontend .content_loginlogout  p.untertitel {	margin: 0 0 20px 0;}

.content_signup .hinweise, 
.content_newpassword .hinweise, 
.content_loginlogout .hinweise {	margin:0;	font-size: 16px;}
 
.my_data_page_all .field_2, 
.content_signup .field_2, 
.content_newpassword .field_2, 
.content_loginlogout .field_2 {	padding-bottom: 18px;}

.content_signup .field_1,
.content_newpassword .field_1,
.content_loginlogout .field_1 {	padding-bottom: 18px;	display: none;}




.my_data_page_all .form_input,
.mydata_relogin .form_input,
.content_signup .form_input , 
.content_newpassword .form_input , 
.content_loginlogout .form_input {
	margin:0;
	font-size: 16px;
	padding: 10px;
	width: 100%; 
	height: 45px;
	border: 1px solid #868686;
}



.content_signup .button_orange, 
.content_newpassword .button_orange, 
.content_loginlogout .button_orange {
	padding: 10px 30px 10px 30px;
	font-size: 18px;
	width: 100%;
	max-width: 449px;
}

.content_signup .button_wrapper, 
.content_newpassword .button_wrapper, 
.content_loginlogout .button_wrapper {
	text-align: left;
	padding-top: 10px;
}


.row0 {
	padding-left: 0;
	padding-right: 0;
}

@media screen and (max-width: 370px) {
	.content_signup .datum_monat {
		width: 100px;
	}
}


@media screen and (min-width: 450px) {
	.content_signup, 
	.content_loginlogout {
		padding: 10px 20px 60px 20px;
	}
}
@media screen and (min-width: 450px) {
	.content_newpassword {
		padding: 10px 20px 60px 40px;
	}
}


/* sonderfelder allgemein */
@media screen and (min-width: 750px) {	
	.field_2.passwort1, 
	.field_2.anrede, 
	.field_2.titel, 
	.field_2.vorname,
	.field_2.neue_email	{
		padding-right: 5px;
	}
}
.field_2.city, 
.field_2.zufuegen, 
.field_2.clubnummer, 
.field_2.hausnummer {
	padding-left: 5px;
}
.form_input.datum_tag,
.form_input.datum_monat,
.form_input.datum_jahr {
	width: unset;
	padding-right: 5px;
}
.field_2.deaktiviert {
	display: none;
}

@media screen and (min-width: 750px) {	
	.content_signup .rechts, 
	.content_newpassword .rechts, 
	.content_loginlogout .rechts {
		padding: 0 0 0 60px;		
	}
	.content_loginlogout {
		padding: 10px 10px 60px 50px;
	}	
	.content_signup {
		padding: 10px 70px 60px 70px;
	}
	.content_newpassword {
		padding: 20px 70px 20px 70px;
	}
}





/************************************************************************************************************************************************************************************************************************/
/* xox: Login_Formularfelder_prüfen () */
/************************************************************************************************************************************************************************************************************************/
/* Login Formularfelder prüfen */
div.form_checkbox {
	display: inline;
	border: 1px solid transparent;
	padding: 0 5px 0 5px;
}

textarea.input_ok, select.input_ok, input.input_ok, div.form_checkbox.input_ok  {
	background: #afa;
	border: #009300 solid 1px;
}
textarea.input_error, select.input_error, input.input_error, div.form_checkbox.input_error  {
	background: #faa;
	border: #F00 solid 1px;
}
textarea.input_review , select.input_review , input.input_review, div.form_checkbox.input_review   {
	background: #ffee95;
	border: #c6b665 solid 1px;
}

a.develop_menu_link {
	border: 1px solid #999;
	padding: 3px;
}

span.passwort_advice_ok {
	color: #4fc100;
}
span.passwort_advice_error {
	color: #FF0000;
}

.password_advice_box {
	display: none;
	position: absolute;
	bottom: 75px;
	left: -5px;
	padding: 10px;
	border: 1px solid #bdbdbd;
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	background: #fff;
	z-index: 200;
	width: 100%;
}

.password_advice_box.field_onfocus {
	display: block;
}

label.form_checkbox .label_text  {
	font-size: 18px;
	font-weight: normal;
	margin-left: 40px;
}
label.form_checkbox.input_ok .checkbox_symbol  {
	color: #009300;
}

label.form_checkbox.input_error .label_text, 
label.form_checkbox.input_error .checkbox_symbol  {
	color: #F00;
}
label.form_checkbox.input_review .checkbox_symbol  {
	color: #c6b665;
}



.form_checkbox input[type="checkbox"]:checked + .checkbox_symbol::before {
	content: "\f058";
	font-weight: normal;
}
.form_checkbox input[type="checkbox"] + .checkbox_symbol::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 26px;
	font-weight: normal;
	content: "\f111";
	top: -4px;
	position: relative;
	float: left;
	padding-right: 8px;
	width: 30px;
}
.form_checkbox input[type="checkbox"] {
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	display: none;
}
 


a.develop_menu_link {
	border: 1px solid #999;
	padding: 3px;
}

.passwort_advice_ok {
	color: #3d9500;	
	display: block;
}
.passwort_advice_ok::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 15px;
	font-weight: normal;
	content: "\f058";
	padding-right: 5px;
	position: relative;
}
.passwort_advice_error {
	color: #D51818;	
	display: block;
}
.passwort_advice_error::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 15px;
	font-weight: bold;
	content: "\f06a";
	padding-right: 5px;
	position: relative;
}

.center.button_wrapper { text-align: center; }
.left.button_wrapper { text-align: left; padding-left: 0; }
.full.button_wrapper a, .full.button_wrapper button { width: 100%; max-width: 449px; }
.full.button_wrapper {  margin-right: 0; text-align: left; }

.web_frontend .optioncode_form .signup_optincode { max-width: 200px; }
.app_frontend .optioncode_form .signup_optincode { max-width: 449px; }

.optioncode_form .button_orange {
	width: 200px;
}
.optioncode_form .signup_optincode  {
	padding: 10px 0 10px 0;
}

.np_form .np_email  {
	padding: 20px 0 20px 0;
	max-width: 449px;
}

.np_form .np_password  {
	max-width: 449px;
	position: relative;
}
.content_newpassword .hinweise  {
	padding-bottom: 20px;
}
.content_newpassword .np_password .password_advice_box {
	left: 0;
}

/* Login Seite V3 ENDE */



/************************************************************************************************************************************************************************************************************************/
/* xox: My_Data_Start () */
/************************************************************************************************************************************************************************************************************************/
/* My Data Start */
 
.my_data_page_all {
	padding: 0;
}



/************************************************************************************************************************************************************************************************************************/
/* xox: Menubar () */
/************************************************************************************************************************************************************************************************************************/

/* Anker Navigation Bar auf Detail Seite */
.my_data_menubar  {
	display: flex;
	width: 100%;
	justify-content: space-between;
	gap: 5px;
	flex-direction: row;
	padding-top: 5px;
}
	

.my_data_menubar .my_data_menuitem {
	background: #76c7eb;
	font-size: 15px;
	line-height: 1.5;
	padding: 5px 5px;
	text-align: center;
	float: left;
	 flex: 1;   
	 border-radius: 5px;
}

.my_data_menubar .my_data_menuitem a {
	color: #FFF;
	width: 100%;
	display: block;
}

.my_data_menubar .my_data_menuitem.active {
	background: #57a1c1;
}

.my_data_menubar .my_data_menuitem:hover {
	background: #57a1c1;
}

.my_data_page_all h1 {
	
}


@media screen and (max-width: 249px) {
	.my_data_menubar  {
		flex-direction: column;
	}
}
@media screen and (min-width: 251px) {
	.my_data_menubar .my_data_menuitem {
		font-size: 13px;
	}
}
@media screen and (min-width: 350px) {
	.my_data_menubar .my_data_menuitem {
		font-size: 13px;
	}
}
@media screen and (min-width: 450px) {
	.my_data_menubar .my_data_menuitem {
		font-size: 15px;
	}
}
@media screen and (min-width: 550px) {
	.my_data_menubar .my_data_menuitem {
	padding: 5px 10px;
	font-size: 17px;
	}
}
@media screen and (min-width: 750px) {
	.my_data_menubar .my_data_menuitem {
	width: calc(20% - 4px);
	}
}

@media screen and (min-width: 900px) {

	.my_data_menubar .my_data_menuitem {
	font-size: 18px;
	}
}

.my_data_page_all .header_teaser_image, 
.my_data_page_all .list_cruises_container.longkat_landingpage {
	margin: 10px 0 10px 0;
}
@media screen and (max-width: 749px) {
	.my_data_page_all .header_teaser_image, 
	.my_data_page_all .list_cruises_container.longkat_landingpage { margin-top: 0; }
}


.mydata_admin_liste {
	display: block;
	padding-top: 30px;
	padding-bottom: 20px;
}
.mydata_admin_liste i {
	float: left;
	font-size: 30px;
	width: 50px;
	text-align: center;
	padding-top: 4px;
	color: #777;
}

.my_data_page_all h2 { font-size: 16px; }
.mydata_admin_liste h2 { margin: 0 0 0 50px; font-size: 16px; }
.mydata_admin_liste p { margin: 0 0 0 50px; font-size: 16px; }

.mydata_relogin .login_form { padding-top: 18px; }

.button_aendern {
	border: 2px solid #fff;
		box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2);
	font-size: 16px;
	line-height: 26px;
	padding: 1px 17px;
	border-radius: 7px;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
	width: auto;
	min-width: 175px;
	text-align: center;
	background: linear-gradient(to bottom, rgb(87, 161, 193) 0%,rgb(87, 161, 193) 100%);
}

a.button_aendern { 	display: inline-block; }
.button_aendern:hover {  color: white; }

.mydata_admin_liste .button_aendern {  	
	background: linear-gradient(to bottom, rgb(87, 161, 193) 0%,rgb(87, 161, 193) 100%);    	
	margin: 10px 0 0 50px;  
	display: block;
}



.mydata_admin_change_block .button_aendern {
	background: linear-gradient(to bottom, rgba(236,74,20,1) 0%,rgba(211,41,19,1) 100%);
	margin: 0 0 0 0;
}

.mydata_admin_change_block {
	padding: 0 0 20px 50px;
	
}

/************************************************************************************************************************************************************************************************************************/
/* xox: Kundenscenter () */
/************************************************************************************************************************************************************************************************************************/
/* KUndenscenter */
.my_data_page_all .kc_links {
	padding: 0 0 30px 0;
}

.my_data_page_all .kc_links .kc_einzellink {
	padding: 0;
	background-color: #FFF;
	margin: 10px 0px;
	border-radius: 5px;
	border: 1px solid #fff;
}
.my_data_page_all .kc_links .kc_einzellink:hover {
	background-color: var(--color-button-background);
	border: 1px solid var(--color-button-border);
}


.my_data_page_all .kc_links .kc_einzellink a {
	font-size: 18px;
	color: #0083cf;
	display: inline-block;
	padding: 10px;
	width: 100%;
}

.my_data_page_all .kc_links .kc_einzellink .icon {
	width: 55px;
	font-size: 30px;
	color: #0083cf;
	display: inline-block;
	padding-left: 10px;	
}

.my_data_page_all .kc_links .kc_einzellink:hover .icon, 
.my_data_page_all .kc_links .kc_einzellink:hover a {
	color: #0069a6;
}


/* Gesamtcontainer Abstände */
.my_data_address_single,
.my_data_paymentdata_single,
.my_data_person,
.my_data_address_list,
.my_data_paymentdata_list,
.mydata_admin,
.my_data_new_address,
.my_data_new_paymentdata {
	padding: 0 0 0 0;
}

@media screen and (min-width: 750px) {	
	.my_data_address_single,	
	.my_data_paymentdata_single,	
	.my_data_person,
	.my_data_address_list,
	.my_data_paymentdata_list,
	.mydata_admin,
	.my_data_new_address,
	.my_data_new_paymentdata {
		padding: 10px 50px 60px 50px;
	}
}


.mydata_admin_change_block .field_2 { max-width: 600px;  }




/************************************************************************************************************************************************************************************************************************/
/* xox: Meine_Buchungen () */
/************************************************************************************************************************************************************************************************************************/

/* My Data => Meine Buchungen */
.my_booking_single img.my_data_kf,
.my_booking_list img.my_data_kf {
	width: 100%;
	max-width: 600px;
}

.my_booking_list .fa {
	width: 20px;
	text-align: center;
	margin-left: -20px;
}
.my_booking_list .fa {
	width: 20px;
	text-align: center;
	margin-left: -20px;
	color: #888;
}
.my_booking_list .infoline {
	margin-left: 20px;
}
.my_booking_list .infoline.ueberschrift {
	margin-top: 10px;
	font-size: 16px;
	font-weight: bold;
}
.my_booking_list.cruise_offers_standard {
	padding: 10px;
	margin-bottom: 15px;
}
.my_booking_list.cruise_offers_standard .col-xs-12 {
	margin-top: 10px;
}

.my_booking_single .my_book_links {
	width: 100%;
	text-align: left;
	padding-top: 10px;
	display: block;
}
.my_booking_single .my_book_rechts {
	width: 100%;
	text-align: left;
	display: block;
}
.my_booking_single .my_book_block {
	width: 100%;
	text-align: left;
	display: block;
}
	
@media screen and (min-width: 550px) {
	.my_booking_single .my_book_links {
		width: 30%;
		text-align: left;
		padding-top: unset;
		display: inline-block;
	}
	.my_booking_single .my_book_rechts {
		width: 69%;
		text-align: left;
		display: inline-block;
	}
	.my_booking_single .my_book_block {
		width: 50%;
		text-align: left;
		display: inline-block;
	}
}
@media screen and (min-width: 650px) {
	.my_booking_single .my_book_links {
		width: 20%;
	}
	.my_booking_single .my_book_rechts {
		width: 79%;
	}
	.my_booking_single .teilnehmer_abstand {
		height: 10px;
	}
}
@media screen and (max-width: 549px) {
	.my_booking_single .my_book_rechts {
		border-bottom: 1px solid #eee;
		margin-bottom: 5px;
		padding-bottom: 5px;
	}
	.my_booking_single .my_book_rechts.noline {
		border-bottom: 0;
	}
	.my_booking_single .my_book_links {
		padding-top: 5px;
	}
}

.my_booking_single .my_book_fotos {
	padding-bottom: 20px;
	padding-top: 20px;
	display: inline-block;
}
.my_booking_single .my_book_fotos>div {
	padding: 0 10px 0 0;
	margin: 0;
}
	

/*######################################################################################################################################################################################################################*/
/*######################################## xox: ___________SONSTIGES_________________________________ () /*###############################################################################################################*/
/*######################################################################################################################################################################################################################*/




/************************************************************************************************************************************************************************************************************************/
/* xox: Druckversion () */
/************************************************************************************************************************************************************************************************************************/

@media print { 
	
	/************************************************************************************************************************************************************************************************************************/
	/* xox: Nur KR () */
	/************************************************************************************************************************************************************************************************************************/

	/* Allgmein */
	*,:after,:before { color:#000!important; text-shadow:none!important; }
	blockquote,pre { border:1px solid #999; page-break-inside:avoid }
	thead { display:table-header-group}
	img, tr { page-break-inside:avoid}
	img { max-width:100%; }
	html, body { color: #000; background: #fff; }	
	h3 { font-size: 20px; }
	.shadow { box-shadow: unset; }	
	
	.btn>.caret,.dropup>.btn>.caret { border-top-color:#000!important}
	.label { border:1px solid #000}
	.table { border-collapse:collapse!important}
	.table td,.table th { background-color:#fff !important}
	.table-bordered td,.table-bordered th { border:1px solid #ddd!important; }
	
	/* App */
	.link_uebersicht { display: none!important; }
	#app_sicherheitsbereich_content_oben, header, footer { display: none!important; }	
	main#app_scroll { top: 0; }
	
	/* Menüleiste, Footer, Pagecontainer */
	.navbar_container { display:block; position: relative; height: unset; min-height: unset; max-height: unset; background: #fff; box-shadow: unset; padding-right: 0 !important; }
	.main-header .erste_zeile { justify-content: space-between; }	
	.main-header { margin: 0;	}
	.navbar_container .headerline_item.mail, .navbar_container .headerline_item.tel, .navbar_container .header_nav_text span { display: inline-block; }
		
	.container_header  #kontaktHeader { background-image: none;	}
	.all_page_booking_container_1, .all_page_container_1 { background: #fff; margin: auto; padding: 0; border: 0; box-shadow: unset;	}
	.footer-menu { display: none; }
	.credit_copyright { float: left; 		position: relative; 		border-top: 1px solid #000;		padding: 0 0 0 0;		margin: 0;		width: 100%;	}
	.credit_copyright.margins_page_column { margin-top: 20px;	}
	
	.navbar_container, .container { width: 100%; margin: auto; border-bottom: 2px solid #000; padding-bottom: 0; }
	.navbar_container .kr_logo, .navbar_container .header_nav_container { width: auto; }
	
	.navbar_container .header_nav_text  { position: relative; width: 100%; height: unset; display: flex;  flex-direction: row; justify-content: end; }
	.navbar_container .header_nav_container { display: flex; align-items: end; flex-direction: column; }
	.navbar_container .header_nav_textplaceholder { display: none; }
	.navbar_container .kontakt, .navbar_container .header_nav_text, .navbar_container .header_nav_textplaceholder { padding: 0; }
	 
	.margins_page_column {  width: 100%; margin: 0; }
	.navbar_container .site_logo_large_v3 { max-height: var(--height-header-medium);  max-width: 180px; }
		
	.kf_detail_h1_oben { background: #fff; color: #000; padding: 0; }
	.anchor_navigation { background: #fff; box-shadow: unset; }
	
	/************************************************************************************************************************************************************************************************************************/
	/* xox: Nur KR=GR=MR () */
	/************************************************************************************************************************************************************************************************************************/

	/* allgemein */ 
	.modal_layer_actionbuttons_2, .modal_layer_actionbuttons_1, .modal_container_1, .modal_container_2 { display: none !important; }
	.navbar_container .header_nav_icons, .listeweiterbutton, .listheader_container .listsort, .list_cruise_single .kf_link a, .stoerer_in_kf_liste, .booking_container_footer, .open_top_menu_container, .actionButtons, .kontakt_foto, .right_sitelinks { display: none !important; }
	.navbar_container .menu_links, .headerline_item.user, .navbar_container .headerline_item.merkliste, .header_teaser_image .header_teaser_image_2, #cookie_layer_box, .cookie_layer, .newsletter_layer, .content_cruise_detail .ausklapper_mobile { display: none !important; }
	.listheader .listsort, 		.content_cruise_detail .deckplanlegende,	.content_cruise_detail .deckplaene,	a.button_orange,	.container_footer,	.cruise_detail_breadcrumbs,	.menubar_left_long { display: none !important; }	
	.top_links_bottom, 	.newsletter_layer, 	.content_editorial img, 	.preis_cruise .preis_payback_detailseite,	.preis_cruise .preis_payback_detailseite img,	.content_cruise_detail.fav_cruise,	.fav_cruise, 	.menubar_left_homepage, 	.link_kreuzfahrt_suchformular_mobile , 	#tertiary,	.printButton 	{ display:none !important;	}	
	.pagetemplate_booking, .search_listheader, .navbar_layout,	.anchorNavigation,	.listheader, 	.listheader select, 	.action_add_salehinweis_detailseite,  .anchor_navigation,	.anchor_navigation .anchor_navigation_item,	.anchor_navigation .anchor_navigation_item.active a, 	.content_cruise_detail .routensegment .segment_headerarea { background: #fff !important; 	}		
	#uebersicht.navigation_target { display:none !important;	}	
	
	/* KF Liste */
	.cruise_offers_standard .imageCol {    margin-top: 0;  }
	.cruise_offers_standard .image_grid {        grid-template-columns: 1fr 1fr 1fr;  }
	.cruise_offers_standard img.imagebox_1 {    grid-column: 1 /span 3;         grid-row-start: 1;  }
	.cruise_offers_standard img.imagebox_2 {    grid-column: 1;    grid-row: 2;  }
	.cruise_offers_standard img.imagebox_3 {     grid-column: 2;    grid-row: 2;  }
	.cruise_offers_standard img.imagebox_4 {     grid-column: 3;    grid-row: 2;  }
	.cruise_offers_landingpage .image_grid {  flex-direction: row; }
		.
	.list_cruise_single { box-shadow: none; border-radius: 0; margin: 0; }
	.offercontent_line .bottom_content { gap: 0; }
	.bewertung_klein .main_vote { background: 0; padding: 0; } 
	.bewertung_detailseite_klein .count, .bewertung_detailseite_big .count, .bewertung_klein .count { background: #fff; color: #000; border: 1px dashed #000; }
	.offers_kategorie_liste .kategorien { border: 1px dashed #000; }
	.content_editorial .main_h2  { background: #fff; color: #000; border-bottom: 2px solid #000; }
		
	.container_content_2 { width: 100%; }
	.list_cruise_single { border-top: 1px solid #000; }
	.search_listheader { margin: 0; }
	
	/* Layout Bild/Vorteile/Einleitungstext */
	.app_frontend .anchor_navigation { font-size: 26px; }
	.anchor_navigation .anchor_navigation_item,	.anchor_nav_responsive .anchor_nav_responsive_item  { display:none;		}
	.anchor_navigation .anchor_navigation_item.active,	.anchor_nav_responsive .anchor_nav_responsive_item.active  { display:block;		text-align: left;		font-weight: bold;		border-bottom: 2px solid #000;		margin-top: 30px;	}	
	.anchorNavigation.item_uebersicht .anchor_navigation_item.active,	.anchor_nav_responsive.item_uebersicht .anchor_nav_responsive_item.active  { display: none;	}
	.anchor_nav_responsive .anchor_nav_responsive_item.active  a { padding-left: 10px;	}
	.anchor_navigation_link { font-size: 20px; color: #999; }
	
	.detail_page_intro_layout { display: flex;		flex-direction: column;	}
	.detail_page_intro_layout .steckbrief_textarea,	.detail_page_intro_layout .steckbrief_cruise,	.detail_page_intro_layout .detail_page_media_area_2 { width: 100% !important;		padding: 0; 	}
	.detail_page_intro_layout .steckbrief_textarea { order: 1;	}
	.detail_page_intro_layout .steckbrief_cruise { order: 3; padding-left: 0;	}
	.detail_page_intro_layout .detail_page_media_area_2 { order: 2;	}
	.numresults.col-md-12 { text-align: left; }
	.detail_page_intro_layout .steckbrief_textarea h3 { font-size: 30px;		margin-bottom: 30px;	}
	.detail_page_intro_layout .detail_page_media_area_2 ul li  {  width: 25%; 		 float: left;		padding: 3px;	}
	.detail_page_intro_layout .detail_page_media_area_2 ul { width: 100%;		transform: unset !important;		flex-wrap: wrap;	}
	.detail_page_media_area_2 .slidernavigation { display: none !important;		max-hight: 0px !important;	}
	.content_cruise_detail .routensegment.hide_more .seg_text_2,
	.content_cruise_detail .routensegment.hide_more .seg_images { max-height: unset; opacity: 1;	}
	.content_cruise_detail .routensegment .seg_link_more { display: none; 	}
	.content_cruise_detail .routensegment .seg_images img { display: none;	}
	.content_cruise_detail .routensegment .seg_images img { display: none;		width: 33%;	}
	.content_cruise_detail .routensegment .seg_images img.bildnummer1, .content_cruise_detail .routensegment .seg_images img.bildnummer2, .content_cruise_detail .routensegment .seg_images img.bildnummer3 { display: inline;	}
	.content_cruise_detail .routensegment .seg_text_2 { max-height: unset; }
	.content_cruise_detail .routensegment .segment_day { padding-top: 0; }
	.content_cruise_detail .routensegment { padding-bottom: 30px;	}
	.listheader {	padding: 0;	}
	.content_cruise_detail .routensegment .segment_day { width: 60px; justify-content: left; }
	.btn.btn-price, .btn.btn-price.btn-sold-out { font-size: unset; 	}
	.cruise_detail_termin_table .preise_tabelle { width: 75%; }
	.cruise_detail_termin_table .terminbox_linke_spalte { width: 25%; font-size: 14px;  line-height: 14px; }
	.bewertung_detailseite_big .text_label { font-size: 16px; }
	.bewertung_detailseite_big .count { min-height: 60px;   min-width: 60px;   font-size: 25px; }
	.steckbrief_cruise h4 { display: block;		text-align: left;		font-weight: bold;		border-bottom: 2px solid #000;		margin-top: 30px;		font-size: 20px;		padding-bottom: 10px; 	}
	.detail_page_media_area_2, .steckbrief_cruise  {  font-size: 16px; margin-top: 10px;  }
	.vorteile_gruen ul li { font-weight: normal; color: #000; }		
	.vorteil ul li.icon::before {  font-size: 12px;  line-height: 1;  width: 30px;  top: 2px; }	 
	.steckbrief_cruise .iconBullet { font-weight: bold; }
	.terminbox1 .btn.btn-price, 	.badges .gruen { border: 1px solid #000;		background: #fff !important;	}
	.routenpic { max-width: 500px; }
	
	.pagetemplate_cruisedetail .all_page_container_1 { box-shadow: unset; }
	
	/* Steckbrief KF Detail */
	.detail_page_intro_layout .steckbrief_textarea { order: 1; }
	.detail_page_intro_layout .redereilogo img { margin-top: 0; }
	.detail_page_intro_layout .steckbrief_cruise { order: 2; }
	.detail_page_intro_layout .detail_page_media_area_2 { order: 3; }
	.app_frontend .kf_detail_h1_unten { display: none; }
	.app_frontend .kf_detail_h1_oben { margin-top: 0; box-shadow: unset; padding-bottom: 10px; margin-bottom: 10px; border-color: #000; }
	.badges span {  border-radius: 8px; }
		
	/* Kurzversion des Steckbriefs für 1 Seite */
	.print_kompakt .steckbrief_textarea h3 { margin: 0 0 10px 0; font-size: 20px;  }
	.print_kompakt .steckbrief_textarea .introtext { font-size: 16px; }
	.print_kompakt .redereilogo { bottom: -150px; margin: 0;  position: absolute;  right: 0;  width: 150px;  height: 150px; bottom: -150px; padding-top: 10px; } 
	.print_kompakt .redereilogo img {  width: auto;  height: auto;  max-width: 150px;  margin: -0; }

	.print_kompakt .detail_page_intro_layout .detail_page_media_area_2 ul li  { max-width: 1px; max-height: 1px; opacity: 0;  }
	.print_kompakt .detail_page_intro_layout .detail_page_media_area_2 ul li.num1.numx , .print_kompakt .detail_page_intro_layout .detail_page_media_area_2 ul li.num0.numx  { display: flex; max-width: unset; max-height: unset; opacity: unset; }
	.print_kompakt .detail_page_intro_layout .detail_page_media_area_2 ul { flex-wrap: nowrap; }
	.print_kompakt .preis_cruise {  position: absolute;   bottom: 12px; }
	.print_kompakt .steckbrief_cruise h4 { display: none; }
	
	.print_kompakt .anchor_navigation .anchor_navigation_item.active, .print_kompakt .anchorNavigation, .print_kompakt .content_cruise_detail #preise, .print_kompakt .content_cruise_detail .preise_container, .print_kompakt .content_cruise_detail #route, .print_kompakt .content_cruise_detail .routemap_container, .print_kompakt .content_cruise_detail #leistungen  { display: none; } 
	.print_kompakt .content_cruise_detail #hotel, .print_kompakt .content_cruise_detail #schiff, .print_kompakt .content_cruise_detail .cruise_detail_schiff, .print_kompakt .content_cruise_detail .schiffsbeschreibung, .print_kompakt .content_cruise_detail .cruise_detail_hotel, .print_kompakt .content_cruise_detail .cruise_detail_leistungen, .print_kompakt .content_cruise_detail .deckplaene, .print_kompakt .content_cruise_detail .deckplanlegende { display: none; } 
	.print_kompakt .routentermin_container, .print_kompakt .route_listheader  { display: none; } 
	.print_kompakt .credit_copyright { display: none; }
	.print_kompakt .steckbrief_textarea .introtext { max-height: 450px; overflow: hidden;  } 
	
	
}




body.dark_mode { background: #111 !important; }




