@charset "UTF-8";
/* CSS Document */


html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


body {
	font-family: 'Inter', sans-serif;
	font-size:45px;
	font-weight:500;
	line-height:70px;	
	margin:0px;
}

@media(max-width:575px) {
	body {
		hyphens: auto;
	 -webkit-hyphens: auto;
  	-moz-hyphens: auto;
  	-o-hyphens: auto;	
}
}



/* ------------ Farben -------------*/

:root {
	--aqua: #19AEA8;
/*	--eu: rgba(31,182,177,1); */
	--eu: #0031FF;	
/*	--eu-back: rgba(0,49,255,0.1);*/
	--eu-back: #E5EAFF;
	
	--world: #FF1100;	
/*	--world-back: rgba(255,17,0,0.1);*/
	--world-back: #FFE6E5;
	
	--lightlue: #a5e1df;
	--black: #000000;
	--about: #667183;
}


/* ---------- Schriften -----------*/

:root {
	--font-small: 2vw;
	--font-huge: 4.3vw;
	--font-big: 3vw;
	
	--line-small: 2.8vw;
	--line-big: 4.5vw;	
}
@media(max-width:991px) {
	:root {	
	--font-small:3vw;	
	--font-big:3.8vw;
	--font-huge:7vw;
		
	--line-small:4vw;	
	--line-big:5.7vw;
}
}
@media(max-width:767px) {
	:root {
	--font-small:3.5vw;	
	--font-big:4vw;
	--font-huge:9vw;
		
	--line-small:4.8vw;	
	--line-big:5.8vw;
}
}
@media(max-width:575px) {
	:root {
	--font-small:4.5vw;		
	--font-big:5.5vw;
		
	--line-small:7vw;	
	--line-big:8.5vw;
}
}

h1, 
.h1,
h2,
.h2,
p,
.p {
	font-weight:400;
/*	font-size:45px;*/
	font-size:var(--font-big);
/*	line-height:70px;*/
	line-height:var(--line-big);
}

h2, .h2  {
	margin-bottom:-15px;
}

p.description {
	line-height:1.5;
	margin-top:0px;
	margin-bottom:10px;
}
p.description.marginleft {
	line-height:1.5;
	margin-bottom:5vw;
}
@media(min-width:768px) {
	p.description.marginleft {
		margin-left:25%;
	}
}

@media(max-width:767px) {
.half.square.left.text p {
	margin-top:40px;
	margin-bottom:-23px;
}
}

.center p {
	text-align:center;
}

.font-small {
	font-size:var(--font-small);
}

.font-small.legal {
	font-size:16px;
	line-height:22px;
}


.order p {
	line-height:var(--line-small);	
}

.font-huge {
	font-weight:800;
	font-size:var(--font-huge);
}

.superbold {
	font-weight:900;
}

.wide.text a {
	color:var(--eu);
}
.wide.text a:hover {
	color:var(--world);
}
.wide.text a:visited,
.wide.text a:active,
.wide.text a:focus {
	color:var(--eu);
}



/* --- LEGAL TEXT --- */

.legaltext.center {
	text-align:center;
}

.legaltext h1 {
	font-size:var(--font-huge);
	line-height:1.6;		
	font-weight:700;
}

.legaltext h2 {
	font-size:var(--font-big);
	line-height:1.6;		
	font-weight:700;
}

.legaltext h3 {
	font-size:var(--font-small);
	text-transform:uppercase;
	line-height:1.6;		
	font-weight:700;
}

.legaltext p,
.legaltext li {
	font-size:var(--font-small);
	font-weight:400;
	line-height:1.6;	
}

/*a.backbutton {
	font-size:var(--font-small);
}*/
/* --- END LEGAL TEXT --- */



/* --------- Shop-Button ---------*/

.shopbutton {
	position:fixed;
	right:6vw;
	top:55px;
	background-color:var(--eu);
	padding:20px 40px;
	font-size:24px;
	line-height:1;
	border-radius:33px;
	box-shadow: 0px 0px 20px 0px #888;
	z-index:999;
	color:#fff;
	text-decoration:none;	
	opacity:1;
	-webkit-transition:all 400ms ease;
	-moz-transition:all 400ms ease;
	-o-transition:all 400ms ease;
	transition:all 400ms ease;
}
@media(max-width:575px) {
	.shopbutton {
		top:35px;
		padding:15px 30px;
		font-size:22px;	
	}
}

.shopbutton:hover {
	background-color:var(--world);
}


.invisiblebutton .shopbutton {
	opacity:0;
}

.toplayer {
	position:relative;
	z-index:2000;
}

.shopwrapper {
	background-color:#fff;
	z-index:2000;
}

.whitebackground {
	background-color:#fff;
}

/*.fadebackground {
	background: rgb(255,255,255);
    background: -webkit-linear-gradient(bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 80%, rgba(255,255,255,0) 100%);
    background: -o-linear-gradient(bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 80%, rgba(255,255,255,0) 100%);
    background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 80%, rgba(255,255,255,0) 100%); 
}*/

/* ------------ Header -----------*/

.header {
/*	position:sticky;
*/	background-color:#fff;
	top: 0;
	left: 0;
	width: 100%;
}

.navbar {
	padding:50px 7%;
	border-bottom:1px solid #000;
	display:flex;
	justify-content:space-between;
}

.navbar .brand a {
	font-size:45px;
	font-weight:800;
	text-transform:uppercase;
	text-decoration:none;
	color:var(--aqua);
}
.navbar .brand a:hover {
	color:var(--world);
}
.navbar .brand a:active,
.navbar .brand a:focus,
.navbar .brand a:visited {
	color:var(--aqua);
}


.logo img {
	margin-top:12px;
	width:40px;
	height:auto;
}


@media(max-width:575px) {
	.navbar {
		padding:25px 7%;
	}
	.navbar .brand a {
		font-size:32px;
	}
	.logo img {
		margin-top:22px;
		width:30px;
		height:auto;
	}
}

/* ------------- Bilder ------------*/


/* ---------- Main-Content ---------*/

.main-content {
	padding-left: 4vw;
	padding-right:4vw;		
}

.wide.text {
	padding:7% 10% 7% 4%;
}
@media(max-width:575px) {
.wide.text {
	padding:25px 10% 35px 4%;
}
}
/*.intro.pictures {
	padding:25px 0 25px 0;
}*/


.full.landscape {
	display:flex;
	width:100%;
	height:64vw;
	background-color:var(--lightlue);
}
@media(max-width:767px) {
	.full.landscape {
	width:100%;
	height:98vw;
}
}

.intro.pictures .full.landscape {
    background: url(../img/Typomaps-01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;     
}

.half.square {
	width:calc(50% - 1.01vw);
	display:inline-block;
}
@media(max-width:767px) {
.half.square {
	width:100%;
}
}
@media(max-width:991px) {
.half.square.order {
	width:100%;
}
}
.half.square.left {
	margin-right:2vw;
	float:left;
}

.awards img {
	max-width:35%;
	height:auto;
}

@media(min-width:992px) {
	.awards {
		margin-top:65px;
		margin-bottom:25px;
	}
	.publications {
		margin-top:50px;
		margin-bottom:60px;
	}
}

.publications img {
	max-width:80%;
	height:auto;
}

@media(min-width:1200px) {
	img.margin-bottom {
		margin-bottom:20px;
	}
}


/*.details {
	background:-webkit-linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url(../img/process.jpg);
	background:-o-linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url(../img/process.jpg);
	background:linear-gradient(rgba(255,255,255,0.0), rgba(255,255,255,0.8), rgba(255,255,255,0.0)), url(../img/process.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	padding-top:90px;	
	padding-bottom:100px;
	margin-top:40px;
	border:4px dotted var(--aqua);
}
*/

/* ------------ About -----------*/


.about {
	margin-top:100px;
	line-height:0px;
	background-color:var(--about); 
	margin-bottom:50px;
}
@media(max-width:575px) {
	.about {
		margin-top:50px;
		margin-bottom:10px;
}
}
.about .wide.text {
	padding-top:20px;
	position:relative;	
	z-index:2;
}
.about img {
	margin-top:-65px;
	position:relative;
	z-index:1;
}
@media(max-width:575px) {
	.about img {
		margin-top:-45px;
	}
}

/*.button {
	display:block;
	width:100%;
	text-align:center;
}

.button a  {
	border:3px solid red;
	display:inline-block;
	width:auto;
	text-align:center;
	position:relative;
	margin-left:auto;
	margin-right:auto;
	background-color:#fff;
	color:red;
	padding:1vw 3vw;
	border-radius:60px;
	text-decoration:none;
	font-size:var(--font-big);
	margin-bottom:75px;

}
.button a:hover  {
	background-color:red;
	color:#fff;
}*/

/* ------------ Order -----------*/

/* ----- Info PopUp ------ */


 /* Popup container */
.popup {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

/* The actual popup (appears on top) */
.popup .popuptext {
	font-size:18px;
	font-weight:400;
	line-height:22px;
	text-align:left;
	visibility: hidden;
	width: 250px;
	background-color: #000;
	color: #fff;
	border-radius: 12px;
	padding: 20px 20px;
	position: absolute;
	z-index: 1;
	bottom: 130%;
	left: 50%;
	margin-left: -145px;
	  		-webkit-box-shadow: 0px 0px 20px 0px #777;  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
  		-moz-box-shadow:    0px 0px 20px 0px #777;  /* Firefox 3.5 - 3.6 */
	box-shadow: 0px 0px 20px 0px #777;  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */	
}

/* Popup arrow */
.popup .popuptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -12px;
  border-width: 12px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

/* Toggle this class when clicking on the popup container (hide and show the popup) */
.popup .show {
  visibility: visible;
  -webkit-animation: fadeIn 1s;
  animation: fadeIn 1s
}

/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
  from {opacity: 0;}
  to {opacity: 1;}
}

@keyframes fadeIn {
  from {opacity: 0;}
  to {opacity:1 ;}
} 

/* ---- END PopUp ---- */

/* ----- Badge ------ */
.badge {
	transform:rotate(-15deg);
	padding:0px !important;
	float:right;
	border-radius:50%;
	width:10vw;
	height:10vw;
	background-color:var(--eu);
	margin-right:7%;
	margin-top:-10px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.badge p {
	font-size:1.3vw;
	font-weight:600;
	text-align:center;
	color:#fff;
	line-height:1.2;
	padding:0px !important;	
}

@media(max-width:991px) {
	.badge {
		margin-top:-10px;
		width:18vw;
		height:18vw;
	}
	.badge p {
		font-size:2.3vw;
	}
}
@media(max-width:575px) {
	.badge {
		margin-top:-20px;
		width:22vw;
		height:22vw;
	}
	.badge p {
		font-size:3vw;
	}
}


/* ---- END Badge ---- */

.shop {
	display:flex;
	align-items:stretch;
	flex-direction:row;
	background-color:#fff;	
}
@media(max-width:991px) {
	.shop {
		flex-direction:column;
	}
}

.order {
	display:flex !important;
	flex-flow:wrap;
	min-height:100%;
	padding-top:10px;
	padding-bottom:50px;
	align-content:space-between;
}


.order h2,
.order p {
	padding-left:40px;
	padding-right:40px;	
}

.order h2 a {
	text-decoration:underline;
}

.eu {
	background-color:var(--eu-back);
	color:var(--eu)
}
@media(max-width:991px) {
	.eu {
		margin-bottom:4vw;
	}
}

.eu a,
.eu a:visited,
.eu a:focus,
.eu a:active,
.eu a:hover {
	color:var(--eu);
}
.world a,
.world a:visited,
.world a:focus,
.world a:active,
.world a:hover {
	color:var(--world);
}

.button {
	margin-top:50px;
	line-height:1;
	text-decoration:none;
	padding:1.5vw 20px;
	position:relative;
	display:block;
	border-radius:4vw;
	color:#fff;
	font-size:2.2vw;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	width:60%;
	height:2.4vw;
}
@media(max-width:991px) {
	.button {
		font-size:5vw;
		border-radius:8vw;
		padding:2.6vw 20px;	
		height:5.4vw;	
	}
	.order .font-huge {
		line-height:8vw;
	}
}
@media(max-width:575px) {
	.button {
		font-size:6vw;
		border-radius:8vw;
		padding:3.4vw 20px;	
		width:calc(100% - 4vw - 80px);
		height:6.4vw;	
	}
		.order .font-huge {
		line-height:14vw;
	}
}

.order.eu a.button {
	color:#fff;
}
.order.world a.button {
	color:#fff;
}

.order.eu .button {
	background-color:var(--eu);
}
.order.world .button {
	background-color:var(--world);

}
.order.eu .button:hover {
	background-color:#3ac551;
}
.order.world .button:hover {
	background-color:#3ac551;
}

.world {
	background-color:var(--world-back);
	color:var(--world)
}

.world .font-small a {
	color:red !important;
}

/* ---------- Paypal -----------*/

.button input {
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	height:5.5vw;
	z-index:99;
}
@media(max-width:991px) {
	.button input {
		height:11vw;	
	}
}
@media(max-width:575px) {
	.button input {
		height:13.5vw;
	}
}


/* ---------- Contact -----------*/

.contact .wide.text {
	padding:10% 4% 2% 4%;
}
@media(max-width:575px) {
.contact .wide.text {
	padding:60px 4% 10px 4%;
}
}

.contact p,
.contact a {
	font-size:var(--font-small);
	line-height:var(--line-small);
	text-decoration:none;
}

.contact a {
	text-decoration:none;
	border-bottom:1px dotted var(--eu);
	color:#000 !important;
}
.contact a:hover {
	color:var(--eu) !important;
}
.contact a:active,
.contact a:visited,
.contact a:focus {
	color:#000 !important
}


/* ---------- FOOTER -----------*/

.footer p, .footer a {
	font-size:19px;
	text-decoration:none;
	line-height:1.4;
	padding-left:3px;
	padding-right:3px;
}

.footer a {
	text-decoration:none;
	border-bottom:1px dotted #000;
	color:var(--eu);
}

@media(max-width:1199px) {
	.footer p, .footer a {
		font-size:14px;
	}
}

@media(max-width:991px) {
	.footer p, .footer a {
		font-size:16px;
	}
}
@media(max-width:767px) {
	.footer p, .footer a {
		font-size:14px;
	}
}
@media(max-width:575px) {
	.footer p, .footer a {
		font-size:16px;
	}
}

.footer a:hover {
	color:var(--world);
}
.footer a:visited,
.footer a:active
.footer a:focus {
	color:var(--eu);
}

.footer {
	position:relative;
	text-align:center;
	margin:40px 15px 0px 15px;
	line-height:1 !important;
}

@media(max-width:574px) {
	.footer {
		margin-top:50px;
}
}
	
.footer a,
.footer p {
	display:inline-block;
	margin-top:0px;
	margin-bottom:0px;
}


/* Bottom Footer */
.bottom-footer {
	margin: 35px 15px 20px 15px;
	display:flex;
	align-items:center;
	justify-content:center;

}

.bottom-footer img {
	margin-top:7px;
	margin-right:8px;
	width:20px;
	height:auto;
	border-bottom:0px solid #fff !important;
}

.bottom-footer a {
	color:#000;
	font-size:14px;
	text-decoration:none;
	border-bottom:0px solid #fff !important;
	line-height:1.8;
	
}

.bottom-footer a:visited,
.bottom-footer a:active
.bottom-footer a:focus {
	color:#000;
}

/* --------- Dankeseiten ---------*/

.legaltext .button {
	background-color:var(--eu);
	width:50%;
	color:#fff !important;
}
@media(max-width:991px) {
	.legaltext .button {
		width:80%;
	}
}

.legaltext .button:hover {
	background-color:var(--world);
}


/* ----- Markierungsfarbe Text ----- */
::selection  {
    background-color:rgba(0, 49, 255, 1) !important; /* Blau */	
	color: #fff !important;
}
::-moz-selection   {
  /*  background-color:rgba(25, 174, 168, 1) !important; */ /* Aqua */
  /*  background-color:rgba(255, 17, 0, 1) !important;	*/ /* Rot */
    background-color:rgba(0, 49, 255, 1) !important; /* Blau */	
	
    color: #fff !important;
}


/* ---------- Scrollbar ---------- */

::-webkit-scrollbar {
  width: 10px;
}
/* Track */
::-webkit-scrollbar-track {
  background: #f3f3f3; 
}
/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--world); 
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--eu); 
}



/* ------------- Cookie Consent --------------*/

.cc-window.cc-banner.cc-type-opt-in {
	background-color:var(--eu) !important;
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,.4);	

}

.cc-window.cc-banner {
	font-family: 'Inter', sans-serif !important;	
	width:320px !important;
	flex-direction:column !important;
	position:fixed !important;
	right:0 !important;
	margin-left:auto !important;
	margin-right:20px !important;
	margin-bottom:20px !important;
}
@media(max-width:575px) {
	.cc-window.cc-banner, .cc-window.cc-floating, .cc-window.cc-left, .cc-window.cc-right {
		width:100% !important;
		margin-left:0px !important;
		margin-bottom:0px !important;
	}
}
	
.cc-message {
	width:100% !important;
	padding-left:20px !important;
}
@media(max-width:575px) {
	.cc-window .cc-message {
		padding-left:0px !important;
	}
}

.cc-color-override--2135461635.cc-window {
	background-color:var(--eu) !important;
}

.cc-message, 
.cookieconsent-banner-opened .cc-message,
.cookieconsent-banner-opened .cc-message a {
	font-family: 'Inter', sans-serif !important;
	font-size:14px !important;
	line-height:1.8 !important;
}

.cc-compliance.cc-highlight {
	width:100% !important;
	display:flex !important;
	justify-content: space-between !important;
	margin-top:30px !important;
}

.cc-compliance.cc-highlight a {
	font-family: 'Inter', sans-serif !important;
	font-size:14px !important;
	font-weight:800 !important;
}

.cc-link {
	font-family: 'Inter', sans-serif !important;
	font-size:14px !important;
	opacity:1 !important;
	text-decoration:none !important;
	border-bottom:1px dotted #fff !important;
	padding-bottom:0px !important;
}

.cc-btn.cc-allow {
	background-color:rgb(114,195,38) !important;
	color:#fff !important;
	padding-left:25px !important;
	padding-right:25px !important;
	width:50%;
}

.cc-btn.cc-deny {
	border:1px solid #fff !important;
	padding-left:25px !important;
	padding-right:25px !important;	
	width:50%;	
}

.cc-btn.cc-deny:hover {
	text-decoration:none !important;
}

.cc-revoke.cc-bottom.cc-color-override--2135461635,
.cc-revoke.cc-bottom.cc-animate.cc-color-override--2135461635 {
	display:none !important;
}


/* Cookie Consent Animation definieren */
@keyframes cookieanimation {
    0%   {opacity:0}
    25%   {opacity:0}
    100%  {opacity:1}
}

/* Cookie Consent  der Klasse zuweisen und starten */
.cc-banner.cc-bottom {
    animation:ease-out;   
    position: relative;
    animation-name: cookieanimation;
    animation-duration: 1.5s;
}

