
@charset "utf-8";

/*!
 ------------------------------------------------------------ # MAIN.CSS # ---------------------------------------------- 
 */

/* normalize.css v8.0.0 hat probleme mit IE11, deshalb besser noch: */
/* normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
button,hr,input{overflow:visible}audio,canvas,progress,video{display:inline-block}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

/* eigene extras dazu */
html, body { height: 100%; }

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

ol,ul,li { margin: 0; }
nav ul { padding: 0; list-style-type: none; }
nav li a { display: block; }

img { vertical-align: bottom; }
figure { margin: 0; }

a:focus { outline: none;}



/* ------------ Fonts ------------ */

@font-face {
	font-family: 'SourceSerifPro';
	src:url('fonts/SourceSerifPro/source-serif-pro-v6-latin-regular.eot');
	src:url('fonts/SourceSerifPro/source-serif-pro-v6-latin-regular.eot?#iefix') format('eot'),
		url('fonts/SourceSerifPro/source-serif-pro-v6-latin-regular.woff2') format('woff2'),
		url('fonts/SourceSerifPro/source-serif-pro-v6-latin-regular.woff') format('woff'),
		url('fonts/SourceSerifPro/source-serif-pro-v6-latin-regular.ttf') format('truetype');
	font-style: normal;
	font-weight: 400;
}


@font-face{
	font-family:"BrandonGrotesque";
	src:url('fonts/brandon/49d8a110-dd06-4918-9fea-516c27058edf.eot');
	src:url('fonts/brandon/49d8a110-dd06-4918-9fea-516c27058edf.eot?#iefix') format('eot'),
		url('fonts/brandon/1e5fc8fa-a98c-4613-a08e-c6c975759a80.woff2') format('woff2'),
		url('fonts/brandon/6b45f9ca-22b4-48ca-962f-6ff1fa7fc196.woff') format('woff'),
		url('fonts/brandon/7fdcfbf6-62ea-4d31-935f-cac99a996c73.ttf') format('truetype');
	font-style: normal;
	font-weight: 400;
}


/* ------------ Globale Standards ------------ */
body {
	width:100%;
	height:100%;

	position:relative;
	overflow-y: scroll;
	
	font-family: SourceSerifPro, Georgia, Times, serif;
	font-size: 110%;  /* 16px / 1px = 6,25% */
	line-height: 160%;
	color:#7d7d7d;

	background-color: rgba(0, 69, 189, 1);
}


nav {
	font-family: BrandonGrotesque, Arial, Helvetica, sans-serif, sans;
	font-size: 100%;  /* 16px / 1px = 6,25% */
	line-height: 140%;
}



/*
	blau: 	#0045bd  //  rgba(0, 69, 189, 1)
	pink: 	#e60895  //  rgba(230,8,149,1)

	grau1: 	#7d7d7d  ->  #666 ?
	grau2: 	#c2c2c2
*/



b, strong {  }

p { margin: 1em 0; }

main ul { list-style-type: square; padding-left: 1em; }

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


a {
	color:rgba(0, 69, 189, 1);  /* blau */
	text-decoration: none; 
	transition: color 0.2s ease-out;
}
a:hover {
	transition: color 0.0s ease-out;
}
a:focus { outline: none; }



.clearfix:before, .clearfix:after { content: ""; display: block; }
.clearfix:after { clear: both; }

.indent { text-indent: 100%; white-space: nowrap; overflow: hidden; }

.nbsp { white-space: nowrap; }

.links { float:left; }
.rechts { float:right; }
.mitte { position: absolute; left:50%; }
.align-r { text-align: right; }
.align-c { text-align: center; }

.hyp { -moz-hyphens:auto; -o-hyphens:auto; -webkit-hyphens:auto; -ms-hyphens:auto; hyphens:auto; }
.hypm { -moz-hyphens:manual; -o-hyphens:manual; -webkit-hyphens:manual; -ms-hyphens:manual; hyphens:manual; }
.nohyp { -moz-hyphens:none; -o-hyphens:none; -webkit-hyphens:none; -ms-hyphens:none; hyphens:none; }





/* ------------ DEBUG ------------ */
#debug	{ position:fixed; right:0; bottom:0; color:#fff; background-color:rgba(255,0,0,1); z-index:999; padding: 2px 4px; opacity: 0.4; }
#debug:hover { opacity: 1; }
#debug span { display: none; } 
#debug:hover span { display: inline-block; }





/*!
 ------------------------------------------------------------ # LAYOUT.CSS # ---------------------------------------------- 
 */


#canvas {
	margin: 0 auto;
	position: relative;

	min-height:100%;

	width: 90%; /* minimal-rand außen blau für mobile */
	max-width: 960px;	

	background-color: #fff;

	padding: 0 5%;  /* minimal-rand innen inhaltsbereich für mobile */
}
#page {
	margin: 0 auto;

	max-width: 570px;
}

header {
	text-align: center;
}

footer {
	margin-top: 4em;
	padding-bottom: 4em;
}






header.top {
	display: flex;
	flex-direction: column;
	align-items: center;
}

header #claim {
	width:  141px;
	height:  14px;

	margin-top: 1.5em;

	background-image: url(../_img/Culture-Travel-Food.png);
	background-image: url(../_img/Culture-Travel-Food.svg);
	-webkit-background-size: 100% 100%;
	background-size: contain;
	background-repeat: no-repeat;
}
header #logo {
	width:  186px;
	height:  82px;

	margin: 3em 0;

	background-image: url(../_img/Logo_RSVP-events.png);
	background-image: url(../_img/Logo_RSVP-events.svg);
	-webkit-background-size: 100% 100%;
	background-size: contain;
	background-repeat: no-repeat;
}
header #logo a {
	display: block; 
	width: 100%;
	height: 100%;
}






main header {
	margin-top: 2.5em;
}





nav a 		{ 
	color: #7d7d7d; 
}

nav.main a 	{ 
	font-size: 95%;
	color: rgba(230,8,149,1); 	/* pink */
	letter-spacing: 4px; 
	padding-left: 4px; /* ausgleich letztes Zeichen wegen border-bottom */
}

nav a:hover,
nav.lang a:hover,
nav li.active a { color: rgba(0, 69, 189, 1); }  /* blau */

nav.sub.lang { 
	position: absolute; 
	top: 1.2em;
	right: 3em;
}






nav.main, 
h1 {
	text-transform: uppercase;
}





nav.main ul {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
nav.main ul a {
	padding: 0.6em 0 0.6em 4px;  /* 4px Ausgleich erstes Zeichen wegen border-bottom + letter-spacing */
	margin: 0.3em 0;
}

nav.main li a {
	border-bottom: 1px solid rgba(35,53,168,0);  /* blau */
}
nav.main li a:hover {
	border-bottom: 1px solid rgba(35,53,168,0);  /* blau */
}

nav.main li.active a {
	border-bottom: 1px solid rgba(0, 69, 189, 1);  /* blau */
}




footer nav,
nav.lang,
nav.imprint { font-size: 95%; }
footer nav a,
nav.lang a  { color: #969696; }
footer nav a { padding: 1em 0; }











#navigation nav.mobile-menu-switch {
	position: absolute;
	width:50px;
	height:60px;
	top:0;
	right:0;

	cursor: pointer;

	overflow: hidden;
	background-repeat: no-repeat;
	background-image: url(../_img/Icons.png);
	background-image: url(../_img/Icons.svg);

	background-position: 5px 12px;
}
#navigation.open nav.mobile-menu-switch {
	background-position: -90px 12px;
	width:60px;
}














/* h1 nur für mobil angezeigt, Bereichsüberschrift */
h1 { 
	font-family: BrandonGrotesque, Arial, Helvetica, sans-serif, sans; 
	font-size: 115%;
	font-weight: normal;

	text-align: center;
	color: rgba(0, 69, 189, 1);  /* blau */

	letter-spacing: 4px;
	border-bottom: 1px solid rgba(0, 69, 189, 1);  /* blau */
	padding-left: 4px;  /* 4px Ausgleich erstes Zeichen wegen border-bottom + letter-spacing */

	display: inline-block;
}

h2, h3, h4, h5, h6 { font-weight: normal; margin-top:2em; color:#6d6d6d; }
h2 { font-size: 120%; }
h3 { font-size: 105%; margin-bottom:0.15em; }
h4 { font-size: 100%; margin-bottom:0.15em; }
h5 { font-size: 100%; margin-bottom:0em; }
h6 { font-size: 100%; margin-bottom:0em; }


p, .medieninhalt {
	margin: 1.5em 0;
}


h2+p, h3+p, h4+p, h5+p, h6+p,
h2+h3, h3+h4, h4+h5, h5+h6,
p+h3, p+h4, p+h5, p+h6 { margin-top: 0; }




/*
	blau: 	#0045bd  //  rgba(0, 69, 189, 1)
	pink: 	#e60895  //  rgba(230,8,149,1)
*/




main a {
	color:#7d7d7d; /* grau */
	border-bottom: 1px dotted #e60895;
}
main a:hover {
	color: #2D45D8;
	border-bottom: 1px solid #f679c5;
}


/* e-mail-links */

main a[href^="mailto:"] {
	color: #2D45D8;
	border-bottom: none;
}

main a[href^="mailto:"]:hover {
	color: #2D45D8;
	border-bottom: 1px solid #f679c5;
}




main .kontakt {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}

main .kontakt div {
	flex: 0 1 auto;
}

main .kontakt div.portrait {
	max-width: 210px;
	margin-left:30px;
}




/*!
 ------------------------------------------------------------ # MEDIAQUERIES.CSS # --------------------------------------- 
 */




/* ////////////////////////////////////////////////////////////////////  
/* ////////////////////////////////////////////////////////////////////     D Y N S C A L E         */
/* ////////////////////////////////////////////////////////////////////  */

.mobile-no  { display: inherit; }
.mobile-only  { display: none; }

/* ////////////////////////////////////////////////////////////////////     DEFAULT für alte Browser: Größe 4       */








/* ////////////////////////////////////////////////////////////////////  
/* ////////////////////////////////////////////////////////////////////  
/* ////////////////////////////////////////////////////////////////////        10  = 1200+       vvvvvvvvvvvv desktop   */
@media (min-width: 1020px) {
	#dsmode { width:10px; }
	
}


/* ////////////////////////////////////////////////////////////////////        20  = 1200-       */
@media (max-width: 1019px) {
	#dsmode { width:20px; }

	nav.sub.lang { right: 1.75em; }
	
}



/* ////////////////////////////////////////////////////////////////////  
/* ////////////////////////////////////////////////////////////////////  
/* ////////////////////////////////////////////////////////////////////        30  = 860-       vvvvvvvvvvvv mobil   */
@media (max-width: 860px) {
	#dsmode { width:30px; }

	.mobile-no  { display: none; }
	.mobile-only  { display: inherit; }

	#canvas { 
		width: calc(100% - 50px); 
		margin-left: 50px;
		min-width: 270px; /* 320-50px */
	}


	#navigation {
		position: fixed;
		top:0;
		left:0;

		height: 100%;
		width: 50px;

		background-color: rgba(0, 69, 189, 1);  /* blau */
		color: #fff;
	}
	body.pink #navigation{ background-color: rgba(230,8,149,1); } 	/* pink */



	#navigation a { color: #fff; }
	#navigation nav.main li.active a { border-color: rgba(255,255,255,0.6); }

	#navigation a:hover, 
	#navigation a:focus, 
	#navigation a:active { color: rgba(255,255,255,0.8); border-bottom: 1px solid rgba(255,255,255,0.2); }



	#navigation nav.main ul {
		flex-direction: column;
	}

	#navigation nav.main a { font-size: 90%; display: inline-block; }

	#navigation nav.sub.lang,
	#navigation nav.sub.imprint {

		position: relative;
		right:inherit; top:inherit;

		margin-top:2em;
		margin-left:-1em;
		padding-left:1.2em;

		opacity: 0.75;
	}

	#navigation nav.sub.imprint { 
		position: absolute;
		top: 100%; /* wird per script in pixel gesetzt */
		font-size:90%;
	}


	#navigation nav.main,
	#navigation nav.sub { display: none; }

	#navigation.open nav.main,
	#navigation.open nav.sub { display: inherit; }

	#navigation.open {
		width: inherit;
	}

	#navigation.open nav.main { 
		margin-top: 2.5em; 
	}
	#navigation.open nav.main ul a { 
		margin:0;
		margin-left:1em; 
		margin-right:4.5em; 

		padding-bottom: 0.2em;
		margin-bottom: 0.4em;
	}

	#navigation nav.lang a { padding: 1em; }
	#navigation nav.imprint a { padding: 1em 0; }
	#navigation nav.imprint a:first-of-type { padding-left: 1em; }
	#navigation nav.imprint a:last-of-type { padding-right: 0.5em; }
	



	main header {
		margin-top: inherit;
	}


	
}


@media (max-width: 530px) {
	#dsmode { width:40px; }

	main .kontakt { flex-wrap: wrap; flex-direction: column-reverse; }
	main .kontakt div { width: 100%; }
	main .kontakt div.portrait { margin: 0; margin-bottom: 1.5em;}
}






/* ////////////////////////////////////////////////////////////////////        100  = H 400-       */

@media (max-height: 400px) and (max-width: 860px) {
	#dsmode { width:100px; }

	#navigation.open nav.main ul a {
		padding-bottom: 0;
		margin-bottom: 0;
	}
	#navigation.open nav.sub.lang { margin-top: 1em; }

}

/* ////////////////////////////////////////////////////////////////////        110  = H 300-       */
@media (max-height: 300px) and (max-width: 860px) {
	#dsmode { width:110px; }

	#navigation.open nav.main { margin-top: 0.75em; }
}

/* ////////////////////////////////////////////////////////////////////        120  = H 260-       */
@media (max-height: 260px) and (max-width: 860px) {
	#dsmode { width:120px; }

	#navigation { overflow-y: auto; }
	#navigation nav.imprint { display: none !important; }
}