
:root
{   
	/*color palett 'Sunny Beach': https://coolors.co/264653-2a9d8f-e9c46a-f4a261-e76f51*/
	--myBlue: 	#264653;
	--myGreen:	#2A9D8F;
	--myYellow:	#E9C46A;
	--myOrange: #f4a261;
	--myRed:	#E76F51;
	--myBright: #FEFAE0;
}

/*TESTEN DER ANIMATION*/
.spin-and-hide {
  animation: spinHide 1s forwards; /* forwards hält den Endzustand */
  transform-origin: center; /* Dreht um die eigene Achse */
  transform-box: fill-box; /* Wichtig für SVG-Elemente */
}

@keyframes spinHide {
  0% { transform: rotate(0deg); opacity: 1; }
  100% { transform: rotate(360deg); opacity: 0; }
}


body{
	font-family:		'Courier New', monospace;/*Cooper Black;*/
	font-size:			1em;
	color:				var(--myBlue);
	background-color:	var(--myBright);
	text-align:			center;
	margin: 0px;
	display: grid;
}

h2 {
	font-size:		1.5em;
	font-weight: 	bold;
}

textarea {
	field-sizing: content;
	min-height: 5em;
}

.txtAsLink {
	color: var(--myOrange);
	font-weight: bold;
	text-decoration: underline;
	cursor: pointer;
}

/*--------------- header ---------------*/
header {
	display: flex;
	flex-direction: column;
	background-color: var(--myBlue);
	color: var(--myOrange);
}

header a {
	text-decoration: none;
  	color: var(--myOrange);
}

header a:hover {
	text-decoration: none;
  	color: var(--myOrange);
}

#idCompanyName {
	text-align: left;
	padding: 5px;
	padding-top: 20px;
	margin-left: 20px;
	font-family: 'Freestyle script'; /*'Bradley Hand ITC';*/
}

#idSlogan {
	font-weight: bold;
	font-size: 1.2em;
	text-align: right;
	padding: 5px;
	padding-bottom: 10px;
	margin-right: 20px;
}

/*--------------- navigation ---------------*/
nav {
	width: 100%;
	display: inline-grid;
	justify-items: center;
	font-weight: bold;
	font-size: 1.2em;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  display: inline-block;
}

ul li {
  float: left;
  margin: 5px;
}

ul li a {
  display: block;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  color: var(--myGreen); /*var(--myYellow);*/
}

ul li a:hover {
  background-color: var(--myYellow);
  color: var(--myGreen);
  border-radius: 5px;
}

/*--------------- content ---------------*/
.headlineBox {
	display: flex;
	font-weight: bold;
	font-size: 1.4em;
	background-color: var(--myGreen);
	padding-top: 19px;
	padding-bottom: 19px;
	color: var(--myYellow);
	margin-bottom: 10px;
}

.headlineBox a {
	text-decoration: none;
  	color: var(--myYellow);
}

.headlineText {
	width: 95%;
}

.headlineTextFull{
	width: 100%;
}

.headlineText {
	width: 95%;
}

.headlineToTop {
	cursor: pointer;
}

.paragraph {
	margin-bottom: 10px;
}

.offer-grid {
	/*margin-left: 0.5em;
	margin-right: 0.5em;*/
	display: grid;
	/*1fr - wieder dazu wenn icons fertig*/
	grid-template-columns: 1fr 2fr;
	grid-template-rows: auto auto auto auto;
	gap: 1em;
	/*row-gap: 0.5em;*/
}

.me-grid {
	display: grid;
	grid-template-columns: 1fr 2fr;
	grid-template-rows: auto;
	gap: 1em;
}

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: 1em;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	gap: 1em;
}

.alignmentCenter {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.border-radius-all {
	border-radius: 20px;
}

.service-icon {
	background-color: var(--myOrange);
	color: var(--myGreen);
}

.service-headline {
	background-color: var(--myYellow);
	color: var(--myGreen);
	border-radius: 0 20px 20px 0;
}

.service-content {
	background-color: var(--myBlue);
	color: var(--myBright);
	padding: 6px 16px 6px 30px;
	text-align: left;
	border-radius: 20px 0 0 20px;
	font-size: 1.3em;
}

.service-content a{
	color: var(--myOrange);
	font-weight: bold;
}

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

#contactText {
	font-weight: bold;
}

#contactText img {
	margin-bottom: 10px;
}

.contactBlock {
	width: 80%;
	display: inline-block;
	font-weight: bold;
	color: var(--myBlue);
	background-color: var(--myYellow);
	padding: 20px;
}

.contactGroup {
	display: flex;
  	align-items: flex-start; /*center;  Zentriert Label und Input vertikal zueinander */
  	margin-bottom: 15px;
}

.contactGroup label {
	width: 50%;
	text-align: left; /* Rechtsbündiger Text im Label */
  	margin-right: 30px; /* Abstand zwischen Label und Input */
}

.contactGroup input, textarea {
	width: 80%;
	background-color: var(--myBright);
	color: var(--myBlue);
    padding: 5px;
    border-radius: 5px;
	box-sizing: border-box;
    border: 2px solid var(--myGreen);
}

.contactBlock button{
	width: 40%;
	font-weight: bold;
	font-size: 1em;
	color: var(--myBlue);
	background-color: var(--myGreen);
	padding: 5px;
	border-radius: 5px;
	border-color: var(--myGreen);
}

.contactInfo {
	font-size: 0.8em;
	margin-top: 10px;
	text-align: left;
}

/*--------------- footer ---------------*/

footer {
	background-color: var(--myBlue);
	color: var(--myOrange);
	margin-top: 10px;
	display: flex;
	justify-content: flex-end;
}

footer p {
	font-weight: bold;
}

footer div {
	flex: 1;
	display: flex;
  	flex-direction: column; /* Vertikale Ausrichtung */
  	justify-content: flex-end; /* Inhalt nach unten */
}

footer a {
	color: var(--myOrange);
}

.leftFooter {
	margin-left: 20px;
	align-items: flex-start;
}

.middleFooter img {
	margin-top: 40px;
	margin-bottom: 40px;
	margin-left: auto;
	margin-right: auto;
}

.rightFooter {
	margin-right: 20px;
	align-items: flex-end;
}

/*--------------- impressum ---------------*/

.legalContent {
	text-align: left;
	margin-left: 5%;
	margin-right: 5%;
}

/*------------ styles for mobile phones ------------*/
@media (max-width: 768px) {
	nav {
		display: none;
	}
	
	.orderCompanyName {
		order: 1;
	}

	#idCompanyName {
		margin-left: 10px;
	}	

	.orderLogo {
		order: 3;
		margin-top: 10px;
		margin-bottom: 10px;
	}

	.orderSlogan {
		order: 2;
		margin-right: 10px;
	}

	#idSlogan {
		margin-right: 10px;
	}
	
	.headlineToTop{
		margin-right: 10px;
	}

	.offer-grid {
		grid-template-columns: 1fr;
		gap: 0.5em;
	}

	.service-headline {
		margin-left: 5%;
		margin-right: 5%;
		padding-top: 1em;
		padding-bottom: 1em;
		border-radius: 7px 7px 7px 7px;
		/*border:	2px solid var(--myBlue);*/
	}

	.service-content {
		border-radius: 0 0 0 0;
		padding: 6px 15px 6px 15px;
	}

	.me-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		gap: 0.5em;
	}

	.contact-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		gap: 0.5em;
	}

	.contactBlock {
		margin-left: auto;
		margin-right: auto;
	}

	.footer-grid {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: 1em;
	}
}