/* Global */

#container .ce_text a {
	color: var(--c4-bright);
	text-decoration: underline;
}

#container .ce_text a:hover {
	color: var(--c4-darkest);
}

.ad-dummy {
	background: var(--grey);
}

.adsbygoogle {
	background: #000;
}
#container{
	padding-top: 30px;
	padding-bottom: 30px;
}

.height-normal #main .container {
	min-height: inherit;
}

.fas {
	font-family: 'FontAwesome';
}
.fas::before {
	font-style: normal;
}

.greybg {
	background: var(--grey);
}

.yellowbg {
	background: var(--c1-bright);
}

.bangb1.fixedTop {
	z-index: 3;
}

/* Logo */

.logo a .b1,
.logo a .b6 {
	color:#ff6363;
}
.logo a .b2,
.logo a .b7,
.logo a .b11{
	color:#ff9946;
}
.logo a .b3,
.logo a .b8{
	color:#ff7df5;
}
.logo a .b4,
.logo a .b9{
	color:#269bff;
}
.logo a .b5,
.logo a .b10{
	color:#5eda5c;
}

.logo a {
    text-align: center;
    width: 100%;
    font-size: 3.6em;
    display: inline-block;
    font-family: 'Ranchers';
}

.logo .bg {
	background: #fff;
    border-radius: .3em;
    padding: 0px 16px 3px 19px;
}


/* Erinnerung+ */
#erinnerung-form input,
#erinnerung-form select {
	max-width: 100%;
	font-size: 1.3em;
	height: 45px;
}

#erinnerung-form {
	background: var(--c3-bright);
	padding: 15px;
    margin-top: 30px;
}


/* Contentseite */

.contentseite h1,
.contentseite h2,
.contentseite h3,
.contentseite h4,
.contentseite h5,
.contentseite h6 {
	padding-top:30px;
	color: var(--c3-darkest);
}

.zitat {
	padding-bottom: 40px;
    padding-top: 35px;
    border-top: 1px dashed #ccc;
    border-bottom: 1px dashed #ccc;
    margin-top: 50px;
    margin-bottom: 30px;
    text-align: center;
    width: 100%;
}

.contentseite .ce_text.zitat p,
.zitat p{
	font-size: 2em !important;
	font-weight: bold;
	color: var(--c1-dark);
}

/* Startseite */
.home #main {
	position: relative;
}

.home .container {
	min-height: initial !important;
}
.home #container {
	padding-top: 0px;
}

.home #searchbar-plz .btn {
	margin-top: 10px;
	padding: 6px 23px
}

.home #searchbar-plz {
	position: absolute;
    z-index: 2;
    top: 240px;
}

.home #searchbar-plz input {
	background: rgba(255,255,255,.8);
}
.home #searchbar-plz button {
	background: rgba(238,208,62,.8);
}
.home #searchbar-plz input,
.home #searchbar-plz button {
	font-size: 3em;	
}

/* Listen */

.listenansicht .fa-smile-o,
.listenansicht .fa-gift{
	background: var(--c2-darkest);
    color: #fff;
    display: block;
    text-align: center;
    padding-top: 10px;
    font-size: 1em;
    padding-top: 5px;
    padding-bottom: 5px;
}


.listenansicht .fa-gift {
	background: var(--c3-dark);
}

.filterbox .newsletterbox .formbody {
	background: var(--c2-bright);
	padding: 15px;
}

.filterbox .newsletterbox .formbody .col-md-4,
.filterbox .newsletterbox .formbody .col-md-3 {
	padding-right: 0px;
}

.filterbox.fixedTop {
	z-index: 2;
}
.filterbox {
	background: var(--grey);
	text-align: center;
	padding-top: 15px;
}

.card-header {
	background: var(--grey);
}

.cardlist .filterbox p {
	text-align: left;
	padding-bottom: 0px;
	font-size: 10px;
}

.filterbox .newsletterbox .formbody .form-group {
	margin-bottom: 0px;
}

.filterbox input,
.filterbox select {
	width: 100%;
	padding: 5px;
	margin-bottom: 5px;
}



.listenansicht .info {
	background: var(--grey);
	padding: 9px;
    margin-top: 10px;
}




.cardlist #itemlist .card-header,
.cardlist #shop-kategorien .card-header {
    background: var(--fade-dark);
    bottom: -2px;
    padding-left: 0px;
    padding-right: 0px;

    color: #fff;
    position: absolute;
    height: 58%;
}



.cardlist #itemlist p.more,
.cardlist #shop-kategorien p.more {
	    padding-bottom: 30px;
    bottom: 0px;
    position: absolute;
    left: 0px;
    width: 100%;
}

.cardlist #itemlist p.more a,
.cardlist #shop-kategorien p.more a{
	margin-top: 10px;
    background: none;
    font-size: 1.6em;
    background: none;
    word-break: break-word;
}

.cardlist .card {
	border: 0px;
}


.filterbox.fixedTop {
	top: 100px;
	width: auto;
	position: sticky;
}

.listenansicht .ctlg_teaser {
	margin-bottom: 20px;
    border-bottom: 1px solid var(--c1-brightest);
}

.listenansicht .ctlg_teaser .more a {
	    margin-top: 10px;
    margin-bottom: 30px;
}
.listenansicht .container {
	position: relative;
}

.listenansicht .container .ctlg_view_message {
	    position: absolute;
    right: 0px;
    top: 10px;
} 

.cardlist p {
	padding-bottom: 30px;
}

/* Detailseite */
		.detailseite h3,
		.detailseite h4,
		.detailseite h5,
		.detailseite h6{
			padding-top: 30px;
		}
		.detailseite #newsletter h6 {
			padding-top: 0px;
		}
.detailseite .mod_breadcrumb {
	padding-top: 15px;
	padding-bottom: 15px;
}
.detailseite #erinnerung-form {
	margin-top: 0px;
}
.detailseite #wetter .outside,
.detailseite #wetter .inside {
	height: 50px;
	overflow: hidden;
	text-align: center;
}

.detailseite #wetter .outside {
	background: rgb(171,236,255);
background: linear-gradient(61deg, rgba(171,236,255,1) 0%, rgba(193,241,255,1) 100%);
}

.detailseite #wetter .inside {
	background: rgb(171,236,255);
background: linear-gradient(86deg, rgba(171,236,255,1) 38%, rgba(0,106,138,1) 100%);

}

.detailseite .box-item img {
	width: 100%;
}

.detailseite #wetter .inside .rain {
	animation: rainy_rain .7s infinite linear;
	    animation: rainy_rain .7s infinite linear;
    width: 3px;
    height: 100%;
    color: #fff;
    opacity: 0.3;
    display: inline-block;
    height: 6px;
    cotnent: '';
    border-radius: 50%;
    transform: scale(.9);
    position: absolute;
    top: -23px;
    right: 120px;
    zoom: .7;
}

.detailseite #begleitung .yellowbg {
	text-align: center;
}

.detailseite h2 {
	font-size: 12px;
}

.detailseite #adresse .hunnid:nth-child(1) h4 {
	margin-top: 0px;
}



.detailseite #erinnerung-form .form-group {
	width: 100%;
	max-width: 100%;
	flex: 100%;
}


		.detailseite #ueberblick  .col-10.col-md-10 .greybg {
			height: 100%;
		}
		.detailseite #ueberblick .col-10.col-md-10 {
			margin-bottom: 10px;
		}
.detailseite #begleitung .row div {
	height: 100%;
}


.detailseite h1,
.detailseite h2,
.detailseite h3,
.detailseite h4,
.detailseite h5,
.detailseite h6 {
	text-transform: initial;
	color: var(--c3-darkest);
}
.detailseite #beschreibung {
	padding-bottom: 20px;
}

.detailseite .mod_dlh_googlemaps {
    overflow: hidden;
}

.detailseite .similarbox .background {
	position: absolute;
    width: 92.5%;
    color: #fff;
    padding-left: 15px;
    padding-right: 15px;
    background: var(--fade-dark);
}

.detailseite .checkmark {
	text-align: center;
}

.detailseite h6 {
	color: var(--c3-darkest);
	font-weight: bold;
	font-size: 1.6em;
	padding-bottom: 15px;
}

.detailseite h4,
.detailseite h5{
	font-size: 1.6em;
	margin-bottom: 0px;
	padding-bottom: 15px;
	font-weight: bold;
}

.detailseite #adresse .active,
.detailseite #begleitung .active{
	text-align: center;
	background: var(--c2-main);
}



.detailseite #newsletter {
	margin-top: 30px;
	margin-bottom: 30px;
	padding-top: 15px;
}
.detailseite .newsletter {
	margin-top:-10px;
}
.detailseite a {
	color:var(--c3-main);
}

.detailseite .similarbox {
	margin-bottom: 0px;
}

.detailseite .similarbox .titel {
	font-weight: bold;
    font-size: 1.4em;
    padding-bottom: 10px;
}

.detailseite .similarbox .kategorie {
    padding-bottom: 10px;
}
.detailseite .similarbox .textteaser {
    padding-bottom: 10px;
}
.detailseite .similarbox .button .btn {
	margin-top: 0px;
	width: 100%;
}

.detailseite .grouponbox img {
	width: 100%;
}

.detailseite .grouponbox {
	margin-top: 30px;
}
.grouponbox .breakout-option-value {
	text-decoration: line-through;
	font-size: 1.4em;
	color: #666;
}

.grouponbox .breakout-option-price {
	font-weight: bold;
    font-size: 2em;
}

.grouponbox .discount-message {
	background: var(--c2-main);
	padding: 5px;
}

.grouponbox strong {
	    font-size: 1.4em;
    margin-bottom: 10px;
    display: block;
}
/* Card Lists */

.cardlist .fullcard {
	margin-bottom: 30px;
}

.cardlist .fullcard .more a {
	margin-top: 10px;
}

.cardlist .card span {
	text-align: center;
	padding: 10px;
	background: #f7f7f7;
}

.cardlist .filterbar {
	margin-bottom: 30px;
    width: 100%;
    background: #f7f7f7;
    padding: 15px 15px 10px 15px;
    border-radius: 5px;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: .25rem;
}

.cardlist .smallone {
	width: 1px;
	height: 1px;
}
/* Newsletterbox */
.newsletter,
.newsletterbox {
	width: 100%;
}


.newsletterbox {
	margin-top: 30px;
}

.newsletterbox .widget-checkbox {    
	float: left;
    width: 50px;
}

.newsletterbox .widget-checkbox label {
	margin-top: -9px;
}

#newsletter {
	background: var(--c1-brightest);
	padding: 0px 15px 0px 15px;
}

/* Trinity Offer - Angebotspakete */
.trinityoffer  {
	margin-top: 30px;
}
.trinityoffer .pack2 {
	background: var(--c2-bright);

}

.trinityoffer .pack2 h3 {
	background: var(--c2-dark);
}

.trinityoffer h3 {
	width: 100%;
	text-align: center;
	padding: 10px;
	margin-bottom: 0px;
}

.trinityoffer .preis {
	text-align: center;
    font-size: 1.4em;
    padding-bottom: 15px;
    padding-top: 15px;
    background: var(--c1-brightest);
}

.trinityoffer small {
	margin-top: 15px;
	display: block;
}

/* Wetter Animationen ####################################################################################################### */

/* SUNNY */
.sunny { 
	animation: sunny 15s linear infinite;
	background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0) 100%); 
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0)), color-stop(50%, rgba(255,255,255,0.8)), to(rgba(255,255,255,0)));
	height: 140px;
	width: 20px; 
	margin-left: -15px;
	position: absolute;
	left: 90px;
	top: -49px;
    zoom: .6;
}
.sunny:before {
	background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0) 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0)), color-stop(50%, rgba(255,255,255,0.8)), to(rgba(255,255,255,0)));
	content: ''; 
	height: 140px; 
	width: 20px;
	opacity: 1; 
	position: absolute;
	bottom: 0px;
	left: 0px; 
	transform: rotate(90deg);
}
.sunny:after {
	background: #FFEE44; 
	border-radius: 50%; 
	box-shadow: rgba(255,255,0,0.2) 0 0 0 15px;
	content: '';  
	height: 80px;
	width: 80px;  
	position: absolute; 
	left: -30px; 
	top: 30px;
}
@keyframes sunny { 
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* CLOUDY */
.cloudy {
	animation: cloudy 5s ease-in-out infinite;
	background: #FFFFFF;
	border-radius: 50%;
	box-shadow: 
		#FFFFFF 65px -15px 0 -5px, 
		#FFFFFF 25px -25px, 
		#FFFFFF 30px 10px, 
		#FFFFFF 60px 15px 0 -10px, 
		#FFFFFF 85px 5px 0 -5px;
	height: 50px;
	width: 50px; 
	margin-left: -60px;
	position: absolute;
	left: 255px;
	top: 70px; 
}
.cloudy:after {
	animation: cloudy_shadow 5s ease-in-out infinite;
	background: #000000;
	border-radius: 50%;
	content: '';
	height: 15px;
	width: 120px;
	opacity: 0.2;
	position: absolute;
	left: 5px; 
	bottom: -60px;
  transform: scale(.7);
}
@keyframes cloudy {
	50% { transform: translateY(-20px); }
}
@keyframes cloudy_shadow {
	50% { transform: translateY(20px) scale(1); opacity:.05; }
}

/* RAINY */
.rainy {
	animation: rainy 5s ease-in-out infinite 1s;
	background: #CCCCCC; 
	border-radius: 50%;
	box-shadow: 
		#CCCCCC 65px -15px 0 -5px, 
		#CCCCCC 25px -25px, 
		#CCCCCC 30px 10px, 
		#CCCCCC 60px 15px 0 -10px, 
		#CCCCCC 85px 5px 0 -5px;
	display: block;
	height: 50px;
	width: 50px;
	margin-left: -60px;
	position: absolute;
	left: 427px;
	top: 70px;
}
.rainy:after {
	animation: rainy_shadow 5s ease-in-out infinite 1s;
	background: #000000;
	border-radius: 50%;
	content: '';
	height: 15px;
	width: 120px;
	opacity: 0.2;
	position: absolute;
	left: 5px; 
	bottom: -60px;
	transform: scale(.7);
}
.rainy:before {
	animation: rainy_rain .7s infinite linear;
	content: '';
	background: #CCCCCC;
	border-radius: 50%;
	display: block;
	height: 6px;
	width: 3px;
	opacity: 0.3;
	transform: scale(.9);
}
@keyframes rainy {
	50% { transform: translateY(-20px); }
}
@keyframes rainy_shadow {
	50% { transform: translateY(20px) scale(1); opacity: 0.05; }
}
@keyframes rainy_rain {
	0% {  
		box-shadow: 
			rgba(0,0,0,0) 30px 30px, 
			rgba(0,0,0,0) 40px 40px,  
			#484848 50px 75px, 
			#484848 55px 50px, 
			#484848 70px 100px, 
			#484848 80px 95px, 
			#484848 110px 45px, 
			#484848 90px 35px; 
	}
	25% {  
	  	box-shadow: 
			#484848 30px 45px,
			#484848 40px 60px,
			#484848 50px 90px,
			#484848 55px 65px,
			rgba(0,0,0,0) 70px 120px,
			rgba(0,0,0,0) 80px 120px,
			#484848 110px 70px,
			#484848 90px 60px;
	}
	26% {  
		box-shadow:
			#484848 30px 45px,
			#484848 40px 60px,
			#484848 50px 90px,
			#484848 55px 65px,
			rgba(0,0,0,0) 70px 40px,
			rgba(0,0,0,0) 80px 20px,
			#484848 110px 70px,
			#484848 90px 60px; 
	}
	50% { 
		box-shadow:
			#484848 30px 70px,
			#484848 40px 80px,
			rgba(0,0,0,0) 50px 100px,
			#484848 55px 80px,
			#484848 70px 60px,
			#484848 80px 45px,
			#484848 110px 95px,
			#484848 90px 85px;
	}
	51% {
		box-shadow:
			#484848 30px 70px,
			#484848 40px 80px,
			rgba(0,0,0,0) 50px 45px,
			#484848 55px 80px,
			#484848 70px 60px,
			#484848 80px 45px,
			#484848 110px 95px,
			#484848 90px 85px;
	}
	75% {
		box-shadow:
			#484848 30px 95px,
			#484848 40px 100px,
			#484848 50px 60px,
			rgba(0,0,0,0) 55px 95px,
			#484848 70px 80px,
			#484848 80px 70px,
			rgba(0,0,0,0) 110px 120px,
			rgba(0,0,0,0) 90px 110px;
	}
	76% {
		box-shadow:
			#000 30px 95px,
			#000 40px 100px,
			#000 50px 60px,
			rgba(0,0,0,0) 55px 35px,
			#000 70px 80px,
			#000 80px 70px,
			rgba(0,0,0,0) 110px 25px,
			rgba(0,0,0,0) 90px 15px;
	}
	100% {
		box-shadow:
			rgba(0,0,0,0) 30px 120px,
			rgba(0,0,0,0) 40px 120px,
			#000 50px 75px,
			#000 55px 50px,
			#000 70px 100px,
			#000 80px 95px,
			#000 110px 45px,
			#000 90px 35px;
	}
}

/* STARRY */
.starry {
  	animation: starry_star 5s ease-in-out infinite;
	background: #fff;
	border-radius: 50%;  
	box-shadow:  
      	#FFFFFF 26px 7px 0 -1px, 
      	rgba(255,255,255,0.1) -36px -19px 0 -1px, 
      	rgba(255,255,255,0.1) -51px -34px 0 -1px,
      	#FFFFFF -52px -62px 0 -1px, 
      	#FFFFFF 14px -37px, 
      	rgba(255,255,255,0.1) 41px -19px,  
      	#FFFFFF 34px -50px,
      	rgba(255,255,255,0.1) 14px -71px 0 -1px,
      	#FFFFFF 64px -21px 0 -1px, 
      	rgba(255,255,255,0.1) 32px -85px 0 -1px,
      	#FFFFFF 64px -90px,
      	rgba(255,255,255,0.1) 60px -67px 0 -1px,  
      	#FFFFFF 34px -127px,
      	rgba(255,255,255,0.1) -26px -103px 0 -1px;
	height: 4px;
	width: 4px; 
  	margin-left: -10px;
	opacity: 1;
	position: absolute;
  	left: 777px; 
  	top: 150px;
}
.starry:after { 
	animation: starry 5s ease-in-out infinite;
	border-radius: 50%;
	box-shadow: #FFFFFF -25px 0;
	content: '';
	height: 100px;
	width: 100px;
	position: absolute;
	top: -106px; 
	transform: rotate(-5deg);
	transform-origin: 0 50%;
}

@keyframes starry {
	50% { transform: rotate(10deg); }
}
@keyframes starry_star {
  50% { 
	box-shadow:  
		rgba(255,255,255,0.1) 26px 7px 0 -1px, 
      	#FFFFFF -36px -19px 0 -1px, 
      	#FFFFFF -51px -34px 0 -1px,
      	rgba(255,255,255,0.1) -52px -62px 0 -1px, 
      	rgba(255,255,255,0.1) 14px -37px,
      	#FFFFFF 41px -19px,   
      	rgba(255,255,255,0.1) 34px -50px,
      	#FFFFFF 14px -71px 0 -1px,
      	rgba(255,255,255,0.1) 64px -21px 0 -1px, 
      	#FFFFFF 32px -85px 0 -1px,
      	rgba(255,255,255,0.1) 64px -90px,
      	#FFFFFF 60px -67px 0 -1px,  
      	rgba(255,255,255,0.1) 34px -127px,
      	#FFFFFF -26px -103px 0 -1px;
	}
}

/* STORMY */
.stormy {
	animation: stormy 5s ease-in-out infinite;
	background: #484848;
	border-radius: 50%;
	box-shadow: 
		#484848 65px -15px 0 -5px, 
		#484848 25px -25px, 
		#484848 30px 10px, 
		#484848 60px 15px 0 -10px, 
		#484848 85px 5px 0 -5px;
	height: 50px;  
	width: 50px; 
	margin-left: -60px; 
	position: absolute;
	right: 125px;
    top: 19px;
    zoom: .4;
}
.stormy:after {
	animation: stormy_shadow 5s ease-in-out infinite;
	background: #000;
	border-radius: 50%;
	content: '';
	height: 15px; 
	width: 120px; 
	opacity: 0.2;
	position: absolute;
	left: 5px; 
	bottom: -60px;
	transform: scale(.7);
}
.stormy:before {
	animation: stormy_thunder 2s steps(1, end) infinite; 
	border-left: 0px solid transparent;
	border-right: 7px solid transparent;
	border-top: 43px solid yellow; 
	box-shadow: yellow -7px -32px;
	content: '';
	display: block;
	height: 0;
	width: 0;
	position: absolute;
	left: 57px;
	top: 70px;
	transform: rotate(14deg);
	transform-origin: 50% -60px;
}
@keyframes stormy {
	50% { transform: translateY(-20px); } 
}  
@keyframes stormy_shadow {
	50% { transform: translateY(20px) scale(1); opacity: 0.05; }
}
@keyframes stormy_thunder {
	0%  { transform: rotate(20deg); opacity:1; }
	5%  { transform: rotate(-34deg); opacity:1; }
	10% { transform: rotate(0deg); opacity:1; }
	15% { transform: rotate(-34deg); opacity:0; }
}

/* SNOWY */
.snowy {
	animation: snowy 5s ease-in-out infinite 1s;
	background: #FFFFFF; 
	border-radius: 50%;
	box-shadow: 
		#FFFFFF 65px -15px 0 -5px, 
		#FFFFFF 25px -25px, 
		#FFFFFF 30px 10px, 
		#FFFFFF 60px 15px 0 -10px, 
		#FFFFFF 85px 5px 0 -5px;
	display: block;
	height: 50px;
	width: 50px;
	margin-left: -60px;
	position: absolute;
	left: 1112px;
	top: 70px;
}
.snowy:after {
	animation: snowy_shadow 5s ease-in-out infinite 1s;
	background: #000000;
	border-radius: 50%;
	content: '';
	height: 15px;
	width: 120px;
	opacity: 0.2;
	position: absolute;
	left: 8px;
	bottom: -60px;
	transform: scale(.7);
}
.snowy:before {
	animation: snowy_snow 2s infinite linear;
	content: '';
	border-radius: 50%;
	display: block;
	height: 7px;
	width: 7px;
	opacity: 0.8;
	transform: scale(.9);
}
@keyframes snowy {
	50% { transform: translateY(-20px); }
}
@keyframes snowy_shadow {
	50% { transform: translateY(20px) scale(1); opacity: 0.05; }
}
@keyframes snowy_snow {
	0% {  
		box-shadow: 
			rgba(238,238,238,0) 30px 30px, 
			rgba(238,238,238,0) 40px 40px,  
			#EEEEEE 50px 75px, 
			#EEEEEE 55px 50px, 
			#EEEEEE 70px 100px, 
			#EEEEEE 80px 95px, 
			#EEEEEE 110px 45px, 
			#EEEEEE 90px 35px; 
	}
	25% {  
	  	box-shadow: 
			#EEEEEE 30px 45px,
			#EEEEEE 40px 60px,
			#EEEEEE 50px 90px,
			#EEEEEE 55px 65px,
			rgba(238,238,238,0) 70px 120px,
			rgba(238,238,238,0) 80px 120px,
			#EEEEEE 110px 70px,
			#EEEEEE 90px 60px;
	}
	26% {  
		box-shadow:
			#EEEEEE 30px 45px,
			#EEEEEE 40px 60px,
			#EEEEEE 50px 90px,
			#EEEEEE 55px 65px,
			rgba(238,238,238,0) 70px 40px,
			rgba(238,238,238,0) 80px 20px,
			#EEEEEE 110px 70px,
			#EEEEEE 90px 60px; 
	}
	50% { 
		box-shadow:
			#EEEEEE 30px 70px,
			#EEEEEE 40px 80px,
			rgba(238,238,238,0) 50px 100px,
			#EEEEEE 55px 80px,
			#EEEEEE 70px 60px,
			#EEEEEE 80px 45px,
			#EEEEEE 110px 95px,
			#EEEEEE 90px 85px;
	}
	51% {
		box-shadow:
			#EEEEEE 30px 70px,
			#EEEEEE 40px 80px,
			rgba(238,238,238,0) 50px 45px,
			#EEEEEE 55px 80px,
			#EEEEEE 70px 60px,
			#EEEEEE 80px 45px,
			#EEEEEE 110px 95px,
			#EEEEEE 90px 85px;
	}
	75% {
		box-shadow:
			#EEEEEE 30px 95px,
			#EEEEEE 40px 100px,
			#EEEEEE 50px 60px,
			rgba(238,238,238,0) 55px 95px,
			#EEEEEE 70px 80px,
			#EEEEEE 80px 70px,
			rgba(238,238,238,0) 110px 120px,
			rgba(238,238,238,0) 90px 110px;
	}
	76% {
		box-shadow:
			#EEEEEE 30px 95px,
			#EEEEEE 40px 100px,
			#EEEEEE 50px 60px,
			rgba(238,238,238,0) 55px 35px,
			#EEEEEE 70px 80px,
			#EEEEEE 80px 70px,
			rgba(238,238,238,0) 110px 25px,
			rgba(238,238,238,0) 90px 15px;
	}
	100% {
		box-shadow:
			rgba(238,238,238,0) 30px 120px,
			rgba(238,238,238,0) 40px 120px,
			#EEEEEE 50px 75px,
			#EEEEEE 55px 50px,
			#EEEEEE 70px 100px,
			#EEEEEE 80px 95px,
			#EEEEEE 110px 45px,
			#EEEEEE 90px 35px;
	}
}


#fabrizio {
	border-top: 100px solid black; 
	border-right: 63px solid transparent;
	width: 0;
	transform: scale(.33);
	transform-origin: 0 0;
	margin: 20px;
	opacity:.6
}
#fabrizio:before {
	background: black;
	width: 20px;
	height: 30px;
	content: '';
	display: block;
	transform: skewX(-32deg);
	position: relative;
	top: -64px;
	left: 30px;
}
#fabrizio:after {
	background: black;
	width: 40px;
	height: 36px;
	content: '';
	display: block;
	transform: skewX(-32deg);
	position: relative;
	top: -130px;
	left: 50px;
}



/* 404 DINO  ##############################################################################################################  */

.s404 .speech-bubble {

    position: relative;
    background: var(--c4-brightest);
    border-radius: .4em;
    width: 285px;
    padding: 1.3em;
    font-size: 1.3em;
    text-align: center;
    color: #fff;
 
}

.s404 .speech-bubble:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 50%;
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-top-color: var(--c4-brightest);
	border-bottom: 0;
	border-left: 0;
	margin-left: -10px;
	margin-bottom: -20px;
}

.s404 .btn {margin-top: 0px}

/* ----------------------------------------------- */
/*                    Parameters                   */
/* ----------------------------------------------- */
/* --- Colors --- */
/* --- Animations --- */
/* --- Fonts --- */
/* ----------------------------------------------- */
/* ----------------------------------------------- */

/*
html,
body {
 
  color: var(--c2-dark);
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  overflow-x: hidden;
}
*/

.s404 {
	width: 100vw;
	overflow-x: hidden;
	 font-family: 'Lato', sans-serif;
}

.wrapper {
  position: absolute;
  top: 65%;
  left: 0;
  transform: translateY(-50%);
  animation: position_wrapper 14s 0.1s ease-in-out infinite;
}
.cry {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translatex(-50%, -20%);
  font-family: 'Gloria Hallelujah', cursive;
  font-size: 50px;
  opacity: 0;
  animation: move_cry 7s 3s infinite;
   color: var(--c2-dark);
}
.freeze::after {
  content: "Hover um den Dino zu beruhigen";
  position: absolute;
  top:200px;
  left: 20px;
  border: 3px solid var(--c2-dark);
  color: var(--c2-dark);
  padding: 5px 10px;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 20px;
  display: none;
  cursor: pointer;
}
.freeze:hover .cry {
  animation-play-state: paused;
}
.freeze:hover .wrapper {
  animation-play-state: paused;
}
.freeze:hover .wrapper .head {
  animation-play-state: paused;
}
.freeze:hover .wrapper .hand {
  animation-play-state: paused;
}
.freeze:hover .wrapper .hand .elbow {
  animation-play-state: paused;
}
.freeze:hover .wrapper .hand#second-hand {
  animation-play-state: paused;
}
.freeze:hover .wrapper .leg {
  animation-play-state: paused;
}
.freeze:hover .wrapper .leg .knee {
  animation-play-state: paused;
}
.freeze:hover .wrapper .leg .knee .foreleg {
  animation-play-state: paused;
}
.freeze:hover .wrapper .leg#second-leg {
  animation-play-state: paused;
}
.freeze:hover .wrapper .leg#second-leg .knee {
  animation-play-state: paused;
}
.freeze:hover .wrapper .leg#second-leg .knee .foreleg {
  animation-play-state: paused;
}
.freeze:hover .wrapper ul.tail {
  animation-play-state: paused;
}
.dinosaur {
  position: relative;
  width: 320px;
  height: 440px;
}
.dinosaur .body {
  position: absolute;
  top: 200px;
  left: 120px;
  width: 85px;
  height: 180px;
  background-color: #68c3a4;
  transform: rotate(5deg);
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}
.dinosaur .body .body-mask {
  z-index: 4;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 85px;
  height: 180px;
  background-color: #68c3a4;
  transform: rotate(5deg);
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}
.dinosaur .body .body-mask::after {
  content: "";
  position: absolute;
  top: 45px;
  right: -30px;
  width: 80px;
  height: 100px;
  background-color: #68c3a4;
  border-radius: 50%;
}
.dinosaur .body .body-mask ul {
list-style: none;
    position: absolute;
    top: 13px;
    left: -13px;
    width: 0px;
    height: 0px;
    transform: rotate(-3deg);
}
.dinosaur .body .body-mask ul li {
     display: inline-block;
    width: 20px;
    height: 25px;
    margin: 5px 0px 0px 0px;
    border-radius: 2px;
    background-color: #68c3a4;
    transform: rotate(45deg);
}
.dinosaur .body .mark {
  z-index: 4;
  position: absolute;
  top: 30px;
  left: 10px;
  width: 30px;
  height: 40px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 25px;
  border-top-left-radius: 60%;
  border-top-right-radius: 60%;
  background-color: #47b18d;
}
.dinosaur .body .mark::after {
  content: "";
  position: absolute;
  bottom: -50px;
  left: 0px;
  width: 30px;
  height: 40px;
  border-bottom-left-radius: 60%;
  border-bottom-right-radius: 60%;
  border-top-left-radius: 25px;
  border-top-right-radius: 10px;
  background-color: #47b18d;
}
.dinosaur .body .head {
  z-index: 4;
  position: absolute;
  top: 50px;
  left: 22px;
  transform-origin: top left;
  transform: rotate(-120deg);
  width: 160px;
  height: 220px;
  background-color: #68c3a4;
  border-bottom-left-radius: 20%;
  border-bottom-right-radius: 30%;
  border-top-left-radius: 0%;
  border-top-right-radius: 30px;
}
.dinosaur .body .head::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 18px;
  width: 70px;
  height: 120px;
  transform: rotate(-10deg);
  background-color: #388d70;
  border-bottom-left-radius: 40px;
  border-bottom-right-radius: 0;
  border-top-left-radius: 200%;
  border-top-right-radius: 15px;
}
.dinosaur .body .head ul {
list-style: none;
    position: absolute;
    bottom: -38px;
    left: 82px;
    width: 0px;
    height: 140px;
    transform: rotate(-10deg);
}
.dinosaur .body .head ul li {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 5px 0px 0px 0px;
  border-radius: 2px;
  background-color: #68c3a4;
  transform: rotate(45deg);
}
.dinosaur .body .head .head-mask {
  position: absolute;
  bottom: -10px;
  left: 20px;
  width: 70px;
  height: 120px;
  transform: rotate(-10deg);
  background-color: #fff;
  border-bottom-left-radius: 40px;
  border-bottom-right-radius: 0;
  border-top-left-radius: 200%;
  border-top-right-radius: 15px;
}
.dinosaur .body .head .head-mask::before {
  content: "";
  position: absolute;
  bottom: 20px;
  left: -45px;
  width: 60px;
  height: 40px;
  transform: rotate(45deg);
  background-color: #fff;
}
.dinosaur .body .head .head-mask::after {
  content: "";
  position: absolute;
  bottom: 54px;
  left: -26px;
  width: 38px;
  height: 10px;
  transform: rotate(45deg);
  background-color: #68c3a4;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 5px;
  border-top-left-radius: 0%;
  border-top-right-radius: 25px;
}
.dinosaur .body .head .eye {
  position: absolute;
  top: 65px;
  right: 15px;
  width: 45px;
  height: 55px;
  background-color: #f5f5f5;
  border-radius: 50%;
  transform: rotate(-30deg);
  animation: blink_eye 6s infinite;
  overflow: hidden;
}
.dinosaur .body .head .eye::after {
  content: "";
  position: absolute;
  bottom: 15px;
  left: 10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #333333;
}
.dinosaur .body .hand {
  z-index: 5;
  position: absolute;
  top: 0;
  right: 5px;
  width: 40px;
  height: 60px;
  background-color: #68c3a4;
  transform-origin: top right;
  transform: rotate(-30deg);
  border-radius: 30px;
}
.dinosaur .body .hand .elbow {
  position: absolute;
  top: 60px;
  right: -5px;
  width: 30px;
  height: 50px;
  background-color: #68c3a4;
  transform-origin: top left;
  transform: rotate(-90deg);
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-top-left-radius: 10px;
}
.dinosaur .body .hand .elbow .forearm {
  position: absolute;
  bottom: 0;
  right: -20px;
  width: 20px;
  height: 45px;
  background-color: #68c3a4;
  transform-origin: bottom left;
  transform: rotate(-100deg);
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-top-left-radius: 10px;
}
.dinosaur .body .hand .elbow .forearm::after {
  content: "";
  position: absolute;
  top: 3px;
  right: -8px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #fff;
}
.dinosaur .body .hand#second-hand {
  z-index: 2;
  top: 5px;
  right: 15px;
  width: 20px;
  height: 50px;
  transform: rotate(-50deg);
  background-color: #388d70;
}
.dinosaur .body .hand#second-hand .elbow {
  width: 30px;
  height: 50px;
  background-color: #388d70;
}
.dinosaur .body .hand#second-hand .elbow .forearm {
  width: 20px;
  height: 45px;
  background-color: #388d70;
}
.dinosaur .body .leg {
  z-index: 5;
  position: absolute;
  bottom: 5px;
  right: 50px;
  width: 80px;
  height: 40px;
  background-color: #68c3a4;
  transform-origin: center right;
  transform: rotate(200deg);
  border-radius: 15px;
}
.dinosaur .body .leg .knee {
  position: absolute;
  top: 10px;
  left: 15px;
  width: 60px;
  height: 30px;
  background-color: #68c3a4;
  transform-origin: center left;
  transform: rotate(-90deg);
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-top-left-radius: 10px;
}
.dinosaur .body .leg .knee .foreleg {
  position: absolute;
  bottom: 0;
  right: 0px;
  width: 20px;
  height: 40px;
  background-color: #68c3a4;
  border-top-left-radius: 60%;
  transform-origin: center left;
  transform: rotate(-50deg);
}
.dinosaur .body .leg .knee .foreleg::after {
  content: "";
  position: absolute;
  bottom: -2px;
  right: -8px;
  width: 20px;
  height: 40px;
  border-top-left-radius: 60%;
  background-color: #fff;
}
.dinosaur .body .leg#second-leg {
  z-index: 2;
  bottom: 0px;
  right: 60px;
  width: 60px;
  height: 40px;
  transform: rotate(200deg);
  background-color: #388d70;
}
.dinosaur .body .leg#second-leg .knee {
  background-color: #388d70;
}
.dinosaur .body .leg#second-leg .knee .foreleg {
  background-color: #388d70;
}
.dinosaur .body ul.tail {
  list-style: none;
  position: absolute;
  bottom: -10px;
  left: 20px;
  width: 100px;
  height: 60px;
  transform-origin: center left;
  transform: rotate(-200deg);
}
.dinosaur .body ul.tail li {
  position: absolute;
  background-color: #68c3a4;
}
.dinosaur .body ul.tail li::after {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  width: 25px;
  height: 20px;
  background-color: #68c3a4;
  transform: skew(12deg) rotate(12deg);
}
.dinosaur .body ul.tail li::before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 25px;
  height: 20px;
  background-color: #68c3a4;
  transform: skew(-12deg) rotate(-12deg);
}
.dinosaur .body ul.tail li:nth-child(1) {
  left: 0;
  bottom: 0px;
  width: 25px;
  height: 50px;
}
.dinosaur .body ul.tail li:nth-child(2) {
  left: 25px;
  bottom: 5px;
  width: 25px;
  height: 40px;
}
.dinosaur .body ul.tail li:nth-child(3) {
  left: 50px;
  bottom: 10px;
  width: 25px;
  height: 30px;
}
.dinosaur .body ul.tail li:nth-child(4) {
  left: 75px;
  bottom: 15px;
  width: 25px;
  height: 20px;
}
.dinosaur .body ul.tail li:nth-child(5) {
  left: 100px;
  bottom: 20px;
  width: 25px;
  height: 10px;
}
.dinosaur .body ul.tail li:nth-child(6) {
  left: 125px;
  bottom: 13px;
  width: 0;
  height: 0;
  background-color: transparent;
  border-style: solid;
  border-width: 12px 0 12px 45px;
  border-color: transparent transparent transparent #68c3a4;
}
.dinosaur .body ul.tail li:nth-child(6)::after {
  content: none;
}
.dinosaur .body ul.tail li:nth-child(6)::before {
  content: none;
}
.dinosaur.run .body {
  transform: rotate(25deg);
}
.dinosaur.run .head {
  animation: move_head 4s infinite;
}
.dinosaur.run .hand {
  animation: run_hand 2s infinite;
}
.dinosaur.run .hand#second-hand {
  animation: run_hand-second 2s 0.5s infinite;
}
.dinosaur.run .hand .elbow {
  animation: run_elbow 2s infinite;
}
.dinosaur.run .leg {
  animation: run_leg 0.6s infinite;
}
.dinosaur.run .leg .knee {
  animation: run_knee 0.6s infinite;
}
.dinosaur.run .leg .knee .foreleg {
  animation: run_foreleg 0.6s infinite;
}
.dinosaur.run .leg#second-leg {
  bottom: 0px;
  animation: run_leg-second 0.6s 0.3s infinite;
}
.dinosaur.run .leg#second-leg .knee {
  animation: run_knee-second 0.6s 0.3s infinite;
}
.dinosaur.run .leg#second-leg .knee .foreleg {
  animation: run_foreleg-second 0.6s 0.3s infinite;
}
.dinosaur.run ul.tail {
  animation: move_tail 0.6s infinite;
}
/* ----------------------------------------------- */
/*                    Keyframes                    */
/* ----------------------------------------------- */
/* --- Run Hand --- */
@keyframes run_hand {
  0% {
    transform: rotate(-30deg);
  }
  50% {
    transform: rotate(-25deg);
  }
  100% {
    transform: rotate(-30deg);
  }
}
@keyframes run_elbow {
  0% {
    transform: rotate(-90deg);
  }
  50% {
    transform: rotate(-75deg);
  }
  100% {
    transform: rotate(-90deg);
  }
}
@keyframes run_hand-second {
  0% {
    transform: rotate(-50deg);
  }
  50% {
    transform: rotate(-45deg);
  }
  100% {
    transform: rotate(-50deg);
  }
}
/* --- Run Leg --- */
@keyframes run_leg {
  0% {
    transform: rotate(200deg);
  }
  50% {
    transform: rotate(170deg);
  }
  100% {
    transform: rotate(200deg);
  }
}
@keyframes run_knee {
  0% {
    transform: rotate(-90deg);
  }
  50% {
    transform: rotate(-110deg);
  }
  100% {
    transform: rotate(-90deg);
  }
}
@keyframes run_foreleg {
  0% {
    transform: rotate(-50deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(-50deg);
  }
}
/* --- Run Second Leg --- */
@keyframes run_leg-second {
  0% {
    transform: rotate(200deg);
  }
  50% {
    transform: rotate(170deg);
  }
  100% {
    transform: rotate(200deg);
  }
}
@keyframes run_knee-second {
  0% {
    transform: rotate(-90deg);
  }
  50% {
    transform: rotate(-110deg);
  }
  100% {
    transform: rotate(-90deg);
  }
}
@keyframes run_foreleg-second {
  0% {
    transform: rotate(-50deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(-50deg);
  }
}
/* --- Tail Movement --- */
@keyframes move_tail {
  0% {
    transform: rotate(-200deg);
  }
  50% {
    transform: rotate(-210deg);
  }
  100% {
    transform: rotate(-200deg);
  }
}
/* --- Head Movement --- */
@keyframes move_head {
  0% {
    transform: rotate(-125deg);
  }
  50% {
    transform: rotate(-110deg);
  }
  100% {
    transform: rotate(-125deg);
  }
}
/* --- Blink Eye --- */
@keyframes blink_eye {
  0% {
    transform: rotate(-30deg) scaleX(1);
  }
  1% {
    transform: rotate(-30deg) scaleX(0);
  }
  3% {
    transform: rotate(-30deg) scaleX(1);
  }
}
/* --- Appear Text --- */
@keyframes move_cry {
  0% {
    transform: rotate(0deg);
    opacity: 0;
  }
  5% {
    transform: translateY(-50px) rotate(-5deg) scale(1.2);
    opacity: 1;
  }
  20% {
    transform: rotate(0deg);
    opacity: 0;
  }
}


/* --- Wrapper Moving --- */
@keyframes position_wrapper {
  0% {
    transform: translateY(-50%) translatex(calc(-200vw));
  }
  50% {
    transform: translateY(-50%) translatex(calc(200vw));
  }
  51% {
    transform: translateY(-50%) translatex(calc(200vw)) scalex(-1);
  }
  100% {
    transform: translateY(-50%) translatex(calc(-200vw)) scalex(-1);
  }
}
/* ----------------------------------------------- */
/* ----------------------------------------------- */