/* Box sizing rules */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	list-style-type: none;}

/* Prevent font size inflation */
html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	font-size: 10px;}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'], ol[role='list'] {
	list-style: none;}

/* Set core body defaults */
body {
	min-height: 100vh;
	line-height: 1.4;
	font-size: 100.01%;
	width: 100%;
	-webkit-font-smoothing: subpixel-antialiased;}
	
html, body {
	height: 100%;
	width: 100%;}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4, button, input, label {
	line-height: 1.1;}

/* Balance text wrapping on headings */
h1, h2, h3, h4 {
	text-wrap: balance;}

/* A elements that don't have a class get default styles */
a:not([class]) {
	text-decoration-skip-ink: auto;
	color: currentColor;}

/* Make images easier to work with */
img, picture {
	max-width: 100%;
	display: block;}

/* Inherit fonts for inputs and buttons */
input, button, textarea, select {
	font-family: inherit;
	font-size: inherit;}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
	min-height: 10em;}

/* Anything that has been anchored to should have extra scroll margin */
:target {
	scroll-margin-block: 5ex;}

/*------------------------------------------------------------------------------------------*/
/*                                       PROJECT'S CSS                                      */
/*------------------------------------------------------------------------------------------*/

h1 {
	font-family: oscine, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 6rem;
	color: #3d83c4;
	position: absolute;
	top: 48%;
	transform: translateY(-50%);
	display: block;
	max-width: 59rem;
	padding: 15px 25px 25px 0;
	background-color: #fff;}
	
h2 {
	font-family: oscine, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 4.5rem;
	color: #626161;
	column-span: all;}
	
h3 {
	font-family: oscine, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3rem;
	color: #3d83c4;}
	
h4 {
	font-family: oscine, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 2.6rem;
	color: #626161;}
	
p, .footeritem ul {
	font-family: oscine, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 2.2rem;
	color: #626161;
	margin-top: 2.2rem;}

a, li {
	font-family: oscine, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 2.2rem;
	color: #626161;
	text-decoration: none;}
a:hover {
	color: #3d83c4;
	text-decoration: underline;
	text-decoration-color: #3d83c4;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;}
	
body {
	background-image: url("../img/wuerth-miersbach-header-background.png");
	background-repeat: repeat-x;
	background-position: center top;
	background-size: 200px;}
	
hr {
	border-top: 1px solid #ddd;
	width: 100%;}
	
/*------------------------------------------------------------------------------------------*/
/*                                     NAVIGATION                                           */
/*------------------------------------------------------------------------------------------*/

nav {
	position: absolute;
	height: auto;
	width: 90vw;
	max-width: 1600px;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;}
	
.logo {
	position: absolute;
	height: 114px;
	width: 292px;
	top: 59px;
	left: 0;}

.menue {
	position: absolute;
	width: auto;
	height: auto;
	top: 87px;
	right: 0;}
	
.menue li {
	cursor: pointer;
    display: block;
    float: left;
	margin-right: 40px;}
	
.menue li:last-child {
  margin-right: 0;}
	
.menue .current > a, .menue .current > a:hover {
    color: #3d83c4;
	font-weight: 700;}
	
.menue .current > a span, .menue .current > a span:hover {
	background-position: bottom center;}

.menue li:hover > a span, .menue li:hover > a {
	background-position: bottom center;
	text-decoration: none;
	color: #3d83c4;}
	
.menue a {
    display: block;
    text-decoration: none;
	font-size: 22px;}
	
.menue a:hover {
    text-decoration: none;
	color: #3d83c4;}
	
.menue li {
    transition: all 0.8s ease-in-out 0s;}
	
.menue li:hover {
    transition: all 0.5s ease-in-out 0s;}
	
.naviconstart, .naviconspektrum, .naviconpraxis, .navicontermin, .naviconkontakt {
	display: block;
	width: 100%;
	height: 30px;
	margin: 0 0 3px 0;
	background-size: 32px auto;
	background-repeat: no-repeat;
	background-position: top center;}	
	
.naviconstart {
	background-image: url(../img/wuerth-miersbach-naviconstart.png);}
.naviconspektrum {
	background-image: url(../img/wuerth-miersbach-naviconspektrum.png);}
.naviconpraxis {
	background-image: url(../img/wuerth-miersbach-naviconpraxis.png);}
.navicontermin {
	background-image: url(../img/wuerth-miersbach-navicontermin.png);}
.naviconkontakt {
	background-image: url(../img/wuerth-miersbach-naviconkontakt.png);}
	
.dropdown-content {
	display: none;
	position: absolute;
	max-width: 276px;
	margin: 0 0 0 -25px;
	padding: 15px 25px 20px 25px;
	background-color: #fff;
	z-index: 1;
	box-shadow: 0 7px 7px rgba(0, 0, 0, 0.3);}
	
.dropdown-content a {
	padding: 8px 0;}
	
.menue li:hover .dropdown-content {
	display: block;}
	
/*------------------------------------------------------------------------------------------*/
/*                                       HEADER                                             */
/*------------------------------------------------------------------------------------------*/

header {
	position: relative;
	width: 90vw;
	max-width: 1600px;
	margin: 230px auto 40px auto;}
	
.lehrpraxis {
	position: absolute;
	top: 0;
	right: 0;
	height: 65px;
	width: 290px;
	background-image: url(../img/lehrpraxis-logo.png);
	background-position: top right;
	background-size: 270px 50px;
	background-color: #fff;
	background-repeat: no-repeat;}
	

/*------------------------------------------------------------------------------------------*/
/*                                        CONTENT                                           */
/*------------------------------------------------------------------------------------------*/

main {
	position: relative;
	width: 90vw;
	max-width: 1600px;
	margin: 0 auto;}
	
.contentainer {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;}
.congrau {
	background-color: #ececec;}	
.congruen {
	background-color: #e9f3df;}
.conblau {
	background-color: #d7e4f1;}
.conspektrum {
	margin-top: 80px;
	align-items: stretch;}
.contact {
	align-items: stretch;}
	
.txtitemright {
	width: 49%;
	padding: 3rem 4rem 3rem 0;}
	
.txtitemleft {
	width: 49%;
	padding: 3rem 0 3rem 4rem;}
	
.txtitemfull {
	width: 100%;
	height: auto;
	padding: 4rem;
	column-count: 2;
	column-gap: 3%;}
	
.txtitemfull h2 {
	margin-bottom: 3rem;}
	
.txtitemfull p {
	margin: 0;
	margin-bottom: 2.2rem;}
	
.imgitem {
	width: 49%;}
	
.spektrumitem {
	width: 31%;
	text-align: center;
	margin-bottom: 4rem;
	padding-bottom: 20px;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;}
	
.spektrumitem p {
	padding: 0 20px;}
	
.spektrumitem:hover {
	transform: scale(1.07);
	box-shadow: 0 7px 20px rgba(0, 0, 0, 0.3);
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;}
	
.buttonmore {
	font-weight: 700;
	display: inline-block;
	border: 1px solid #626161;
	padding: 10px 25px 12px 25px;
	border-radius: 10px;
	margin: 20px 0;}
	
.buttonmore:hover {
	background-color: #626161;
	color: #fff;
	text-decoration: none;}
	
.contentainer li {
	list-style-position: outside;
	list-style-type: disc;
	margin: 0 0 1rem 20px;}

.clearer {
	clear: both;}
	
/*------------------------------------------------------------------------------------------*/
/*                                       MAPS                                               */
/*------------------------------------------------------------------------------------------*/
	
.map-placeholder {
	position: relative;
	display: block;
	width: 100%;
	height: 700px;
	max-height: 100vh;
	margin-bottom: 2vw;
	box-sizing: border-box;
	background-color: #d7e4f1;
	background-image: url("../img/platzhalter-maps.png");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	padding: 25px 35px;}
	
.map-placeholder p {
	text-align: center;
	font-size: 2.1rem;
	top: 0;
	transform: translateY(0);}
	
.map-placeholder a, .map-placeholder a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;}
	
.googlemapcontent {
	position: relative;
	display: block;
	width: 100%;
	top: 40%;
	transform: translateY(-50%);}

button {
	position: relative;	
	background-color: transparent;
	transition: all .3s ease-in-out;
	
	font-family: oscine, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 2.2rem;
	color: #626161;	
	font-weight: 700;
	display: block;
	border: 1px solid #626161;
	padding: 10px 25px 12px 25px;
	border-radius: 10px;
	margin: 25px auto;}
	
button:hover {	
	cursor: pointer;
	background-color: #626161;
	color: #fff;
	transition: all .3s ease-in-out;}
	
/*------------------------------------------------------------------------------------------*/
/*                                       MODAL                                              */
/*------------------------------------------------------------------------------------------*/

.modal button {
	position: relative;
	display: inline;}

.modal p, .modal h4 {
	float: left;
	top: 0;
	box-sizing: border-box;
	width: 50%;
	transform: translateY(0);
	padding: 20px;
	margin: 0;}
	
.modal h4 {
	padding: 20px;
	font-size: 28px;}
	
.modal p {
	padding: 0 20px 20px 20px;}
	
#myBtn {
	font-weight: 400;
	cursor: pointer;}
	
#myBtn:hover {
	color: #003d8a;
	text-decoration: underline;}

.modal {
	display: none;
	position: fixed;
	z-index: 10000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgb(0,0,0);
	background-color: rgba(0,0,0,0.6);}

.modal-content {
	box-sizing: border-box;
	background-color: #fff;
	margin: 10% auto;
	width: 80%;
	max-width: 1200px;}

.modal-content {  
	-webkit-animation-name: zoom;
	-webkit-animation-duration: 0.6s;
	animation-name: zoom;
	animation-duration: 0.6s;}

@-webkit-keyframes zoom {
	from {-webkit-transform:scale(0)} 
	to {-webkit-transform:scale(1)}
}

@keyframes zoom {
	from {transform:scale(0)} 
	to {transform:scale(1)}
}

.modalimg {
	box-sizing: border-box !important;
	padding: 20px 20px 30px 20px !important;
	float: left !important;
	width: 50% !important;
	height: auto;}

.closebtn {
	padding: 15px 20px 17px 20px;
	position: relative;
	display: inline-block !important;
	left: 50%;
	margin: 0 0 0 -70px;
	color: #fff !important;
	font-family: Roboto Condensed, Arial, sans-serif;
	font-size: 20px !important;
	font-weight: 400 !important;
	background-color: #5fc4d1;}
	
.closebtn:hover {
	background-color: #003d8a;}

.close {
	color: #aaa;
	font-size: 28px;
	font-weight: bold;}

.close:hover,
.close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;}


/*------------------------------------------------------------------------------------------*/
/*                                         FOOTER                                           */
/*------------------------------------------------------------------------------------------*/

footer {
	position: relative;
	width: 100vw;
	height: auto;
	margin: 80px 0 0 0;
	background-color: #ececec;}
	
.footercontainer {
	width: 90vw;
	max-width: 1600px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
	padding-bottom: 6rem;}
	
.footeritem {
	width: 31%;
	margin-top: 6rem;}
	
.tab {
	position: absolute;
	display: block; 
	margin-left: 125px;
	margin-top: -3rem;}
	
.gradient {
	position: relative;
	width: 100%;
	height: 3rem;
	background-image: linear-gradient(to right, #90c260 , #00a099 , #3d83c4);}
	
/*------------------------------------------------------------------------------------------*/
/*                                     MEDIA QUERIES                                        */
/*------------------------------------------------------------------------------------------*/	

@media only screen and (max-width: 1777px) {

body {
	background-position: left 5vw top;}
	
}

@media only screen and (max-width: 1200px) {
	
html {
	font-size: 9px;}

.menue li {
	margin-right: 30px;}
	
.contentainer {
	align-items: flex-end;}
	
.conspektrum {
	align-items: flex-start;}
	
.contact {
	align-items: stretch;}
	
}

@media only screen and (max-width: 1050px) {

.footeritem {
	width: 49%;}
	
}

@media only screen and (max-width: 950px) {
	
html {
	font-size: 8.5px;}
	
h1 {
	top: 100%;
	transform: translateY(-100%);
	font-size: 4.8rem;
	max-width: 50rem;
	padding-bottom: 0;}

.menue {
	position: fixed;
	box-sizing: border-box;
	z-index: 8888;
    height: 100%;
	max-width: 600px;
    top: 0;
	left: 100%;
	padding: 0;
	padding-top: 100px; 
    width: 100%;
	background-color: rgba(255, 255, 255, 1);
	overscroll-behavior-y: contain;
    overflow-y: auto;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;}
	
.slidemenu {
	box-shadow: 0 0 20px 0 #777;
	transform: translateX(-100%);
	-webkit-transform: translateX(-100%);
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;}
	
.menue li {
	position: relative;
	display: block;
	margin: auto 5%;
	padding: 0;
    border-bottom: 1px solid #e9e9e9;
    width: 90%;}
	
.menue li:last-child {
	border-bottom: 0;}
	
.menue a {
	padding: 0px 0px 25px 5px;}
	
.naviconstart, .naviconspektrum, .naviconpraxis, .navicontermin, .naviconkontakt {
	display: inline-block;
	width: 32px;
	height: 30px;
	margin: 20px 15px -5px 0;}
	
.dropdown-content {
    position: relative;
    height: auto;
    padding: 0;
    border: 0;
    margin: 0 0 0 50px;
	max-width: none;
    border-radius: 0;
	box-shadow: none;
	background-color: #ececec;}
	
.dropdown-content a {
	padding: 22px 25px 25px 20px;}
	
.txtitemfull {
	column-count: 1;}
	
.spektrumitem {
	width: 48%;}
	
.tab {
	margin-left: 110px;}
	
}

@media only screen and (max-width: 650px) {
	
body {
	background-position: left 5vw top -30px;}
	
.logo {
	top: 29px;}
	
header {
	margin: 190px auto 40px auto;}
	
.txtitemright {
	width: 100%;
	padding: 3rem 4rem;
	order: 1;}
	
.txtitemleft {
	width: 100%;
	padding: 3rem 4rem;}
	
.imgitem {
	width: 100%;
	order: 2;}

.footeritem {
	width: 100%;}	
	
}

@media only screen and (max-width: 600px) {
	
.spektrumitem {
	width: 100%;}
	
}

@media only screen and (max-width: 450px) {
	
	
h1 {
	position: relative;
	width: 100%;
	top: 100%;
	transform: translateY(0);
	padding-bottom: 0;}
	
}