html, body {
	border: 0;
	margin: 0;
	padding-bottom: 30px;
}

body {
  background-color: #FDFFFF;
  position: relative;
  margin-bottom: 2vh;
}

input {
	width: 97%;
}

textarea {
	width: 97%;
	height: 75px;
}

.grid_columns_3 {
	width: 1266px;
	display: flex;
	gap: 0.5%;
}

.project_page {
	width: 1300px;
	display: grid;
	grid-template-columns: calc(10vw + 250px - 34px) auto;
}

.project_page hr {
	background-color: black;
	border-width: 0;
	height: 1.5px;
	margin-inline: 0;
	width: 55px;
}

.grid_columns_2 {
	width: calc(100% - 34px);
	display: none;
	gap: 0.5%;
}

.grid_columns_1 {
	width: 100%;
	display: none;
	gap: 0.5%;
}

.resp_grid_column {
	flex: 1;
	padding: 0px 4px;
}

.arrow_link {
	height: 0.7em;
}

.sidebar {
	text-align: right;
	text-wrap: nowrap;
	padding-left: 8.5%;
	padding-right: 2%;
	margin-top: 5%;
}

.topbar {
	display: grid;
	align-items: center;
	grid-template-columns: 1px auto 65px;
	padding-top: 2%;
	margin-bottom: 2.5%;
	margin-left: 10%;
	margin-right: 25px;
}

.floater {
	display: none;
  grid-template-columns: auto auto;
 	position: fixed;
  	top: 50%;
    transform: translate(0, -50%);
  align-items: center;
	z-index: 5;
}

.floater_content {
	height: 230px;
	width: 0px;
  background-color: #F1F1F1DD;
	border-radius: 0px 8px 8px 0px;
	padding-left: 0px;
  align-content: center;
}

.kontakt {
	height: 150px;
	width: 30px;
  background-color: #66FFCC;
  border-radius: 8px 0px 0px 8px;
  writing-mode: vertical-lr;
  text-align: center;
  align-content: center;
	transform: rotate(180deg);
	z-index: 5;
}

#contact_page {
	width: 1300px;
}

#contact_text {
	width: calc(100% - 10vw - 34px);
	margin-left: 10vw;
	margin-right: 34px;
}

#contact_form {
	width: calc(100% - 10vw - 34px);
	margin-left: 10vw;
	margin-right: 34px;
	margin-top: 2em;
}

#submit_contact {
	width: 120px;
	height: 45px;
	margin-left: calc(99% - 120px);
	margin-top: 1em;
	margin-bottom: 0;
	border: none;
	border-radius: 1px;
	background-color: #66FFCC;
	color: #666666;
}

#contact_map {
	width: calc(100% - 10vw - 34px);
	height: 500px;
	margin-top: 2em;
	margin-left: 10vw;
	margin-right: 34px;
	border: none;
	border-radius: 15px;
}

#top_scroller {
	position: fixed;
		bottom: 12.5px;
		right: 25px;
	z-index: 99;
	scale: 1.2;
	height: 70px;
	width: 70px;
}

.content {
	padding-inline: 34px;
	text-wrap: balance;
}

.container_img {
	position: relative;
}

.overlay_img {
	width: 100%;
	position: absolute;
		bottom: 50%;
		right: 50%;
		transform: translate(50%, 50%);
	opacity: 0;
}

.grid_img {
	width: 99%;
}

.line_normal {
	width: 40%;
	height: 30px;
	padding-top: 0.5rem;
}

.line_short {
	width: 60%;
	height: 30px;
}

.top_rule {
	position: absolute;
		top: 0%;
		left: 0%;
	width: 100%;
	height: 4px;
	background-color: #66FFCC;
}

#plus {
  width: 65px;
  height: 65px;
  position: relative;
  z-index: 3;
  border-radius: 50%;
  display: none;
}

.plus_line1 {
	background-color: #66FFCC;
	border-radius: 7.5px;
  z-index: 3;
  width: 63px;
  height: 13px;
  position: absolute;
  	top: 25px;
    left: 0px;
}

.plus_line2 {
	background-color: #66FFCC;
	border-radius: 7.5px;
  z-index: 4;
  width: 13px;
  height: 63px;
  position: absolute;
  	top: 0px;
    left: 25px;
}

.menu {
	background-color: #66FFCC;
	position: absolute;
		right: 0%;
		top: 0%;
	z-index: 2;
	height: 100%;
	width: 0px;
}

.menu_content {
	margin-top: 120px;
	margin-right: 7%;
	margin-left: 7%;
	text-align: right;
	text-wrap: nowrap;
	overflow: hidden;
}

.menu_content a:hover {
	padding-right: 5%;
}

.nav_menu {
	text-align: left;
	text-wrap: nowrap;
	padding-left: calc(10vw);
	width: 196.5px;
}

.nav_menu br {
	display: none;
}

.list_nav {
	list-style: none;
	font-size: 14px;
	padding: 0;
	margin-block: 0;
}

.list_nav li {
	margin-block: 0;
	padding-left: 0;
}

.list_nav li:hover {
	color: #f9c3d1;
}

.list_subnav {
	display: none;
	list-style: none;
	padding-left: 8px;
	padding-top: 10px;
	padding-bottom: 0;
	color: #666666;
	font-size: 14px;
}

.list_subnav li:hover {
	color: #000000;
	padding-right: 0;
}

@keyframes plus_rotation {
	from {transform: rotate(0deg); background-color: #66FFCC;}
  to {transform: rotate(90deg); background-color: #FFF;}
}

@keyframes menu_extend {
	from {width: 0px;}
	to {width: calc(100% - 34px);}
}

@keyframes plus_back {
	from {transform: rotate(90deg); background-color: #FFF;}
  to {transform: rotate(0deg); background-color: #66FFCC;}
}

@keyframes menu_retract {
	from {width: calc(100% - 34px);}
	to {width: 0px;}
}

@keyframes floater_extend {
	from {width: 0; padding-left: 0;}
	to {width: 120px; padding-left: 40px;}
}

@media (max-width: 1300px) {
	.grid_columns_3 {width: calc(100% - 34px)}
	.project_page {width: 100%}
	#contact_page {width: 100%;}
}

@media (max-width: 1000px) {
	.grid_columns_3 {display: none}
	.grid_columns_2 {display: flex}
}

@media (max-width: 700px) {
	.nav_menu {width: 165px}
	.nav_menu br {display: initial;}
	.project_page {grid-template-columns: calc(10vw + 165px - 34px) auto;}
}

@media (max-width: 467.5px) {
	.grid_columns_2 {display: none;}
	.grid_columns_1 {display: flex}
	.floater {display: grid;}
	.resp_grid_column {margin-inline: 34px;}
	#plus {display: inline-block;}
	.nav_menu {display: none;}
	.project_page {grid-template-columns: auto;}
}
