/* Reset */
* { margin: 0; padding: 0; }
html { overflow-y: scroll;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,th,td,html,label,table,tr,td {margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img,a img,:link img,:visited img {outline: none; border: none;}
ol, ul { list-style: none; margin: 0;}
li { margin: 0; padding: 0;}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }


/* Layout */
body {
	font: 1.3em 'Hind Vadodara',Lucia, Helvetica;
	color: black;
}
h1   {
    font-size:1.5em;
    line-height: 1.35em;
    padding:0.5em 0 0.25em 0;
}
h2   {
    font-size:1.3em;
    line-height: 1.35em;
    padding:0.5em 0 0.25em 0;
}
p    {
	font-size:1.05em;
	line-height: 1.4em;
	padding-bottom:0.25em;
}
p.big {
	font-size:1.3em;
	line-height: 1.6em;
	padding-bottom:0.25em;
}

a {
    color: black;
    text-decoration:underline;
}

a:hover,
a:focus,
a:active {
	text-decoration: underline;
	text-decoration-color: #2CF2A3;
}

#stage-teaser a:hover,
#stage-teaser a:focus,
#stage-teaser a:active {
	text-decoration: underline;
	text-decoration-color: white;
}

mark {
	background-color:#F3CE2A;
}

/* navigation */
nav {
	position: relative;
	overflow-y:hidden;
	margin: 0 80px 4px 0;
}
nav ul {
	list-style: none;
	display:inline;
	padding: 0;
	margin: 0 auto;
}

nav ul li {
	display: inline;
	padding: 0 0.4em 0 0.4em;
}

nav ul li a {
	font-size:1.15em;
	font-weight: bold;
	color: black;
 	text-decoration:none;
}

input[type=text], input[type=email] {
 	width: 66%;
 	padding: 11px 10px;
 	margin: 8px 0;
 	font-size:1em;
 	color:#222;
  	box-sizing: border-box;
  	border:0;

 	-webkit-appearance: none;
	border-radius: 0; 
}

input[type=text]:focus {
 	border: 2px solid #2CF2A3;
}

input[type=button], input[type=submit], input[type=reset] {
 	background-color: #2CF2A3;
 	border: 2px solid white;
 	color: black;
 	font-size:1.1em;
 	padding: 8px 50px;
 	text-decoration: none;
 	margin: 4px 2px;
 	cursor: pointer;

 	-webkit-appearance: none;
	border-radius: 0; 
}

#navBtnOpen {
	display:none;
}

#navBtnClose {
	display:none;
}


/* Structure */
#wrapper {
	margin:0.5em;
}

#top {
	display:flex;
	justify-content: space-between;
	align-items: flex-end;
	height:60px;
}
#logo {
	height:55px;
	margin-left:80px;
}
#img-logo {
	width:160px;
	height:55px;
}

#highlight {
	overflow: hidden;
	display:block;
}

#dots-home {
	width:98%;
	height:280px;

	position:absolute;
	top:77px;
	z-index: 0;

	background-color:white;
	background-image: radial-gradient(#F3CE2A 25%, transparent 25%),
	radial-gradient(#F3CE2A 25%, transparent 25%);
	background-size: 80px 80px;
	background-position: -40px -40px, 0px 0px;
}

#stage {
	width:66%;
	padding:0.43em;
	background-color:#F3CE2A;

	margin:86px 0 0 80px;
	position: relative;
	z-index:10;
}

#stage-content {
	width:90%;
}

#stage-teaser {
	width: 300px;
    height: 300px;
	background-color:#2CF2A3;

	border-radius: 50%;
	transform: rotate(10deg);
    display: flex;
    justify-content: center;
    flex-direction: column;

    text-align: center;
    position: absolute;
	float:right;
	top:-25px;
	right:-28%;
}

#offering {
	width:80%;
	margin:2em 3% 0 15%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.mt-item {
	width:500px;
	height:500px;
	margin-bottom:2em;

	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}
.mt-content {
	position:relative;
	width:250px;
	top:30px;
	left:10px;
	border:8px dotted white;
	margin:2px;
}
.mt-title {
	position:relative;
	top:5px;
	width:400px;
	left:-65px;
	z-index:10;
}
.mt-text {
	padding:0.4em;
}

.mt-item.mt-item2 { margin-top:4em; }
.mt-item.mt-item4 { margin-top:3em; margin-right:1em; }

#cases { 
	width:85%;
	margin:2em 12% 0 3%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.cases-item {
	margin:2px;
	width:40%;
	height:350px;

	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}

.cases-title {
	position:relative;
	float:right;
	top:40px;
	right:-35px;
}
.cases-content {
	padding:0.2em;
}

.cases-item.item1 { margin-left:3em }
.cases-item.item2 { margin-top:2em }
.cases-item.item3 {  }
.cases-item.item4 { margin-top:3em; margin-right:3em; }

.content {
	position: relative;
	margin:50px;
}

#courses {
	display:flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-bottom:2em;
}

.course {
	width:25%;
	border: 8px dotted #2CF2A3;
	padding:1em;

	transition: border 0.5s ease; 
}
.course:hover {
	border: 8px dotted #F3CE2A;
}
.course > h2 mark { 
	transition: background-color 0.5s ease;
}
.course:hover > h2 mark {
	background-color: #2CF2A3;
}


#who {
	padding:0 20% 0 20%;
	display:flex;
	justify-content: space-around;
	flex-wrap: wrap;
	position: relative;
	z-index: 10;
}

#who mark { background-color: white; }

.circle-portrait {
	margin-top:30px;
	width: 250px;
	height: 250px;
	border-radius: 50%;
	margin-bottom:20px;
}

.portrait {
	width: 300px;
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
}


.dots-green {
	width:98%;
	height:200px;

	position:relative;
	top:-375px;
	z-index: 0;

	background-color:white;
	background-image: radial-gradient(#2CF2A3 25%, transparent 25%),
	radial-gradient(#2CF2A3 25%, transparent 25%);
	background-size: 80px 80px;
	background-position: -40px -40px, 0px 0px;
}

.dots-yellow {
	width:98%;
	
	position: relative;
	top:-220px;
	height:200px;
	z-index:0;

	background-color:white;
	background-image: radial-gradient(#F3CE2A 25%, transparent 25%),
	radial-gradient(#F3CE2A 25%, transparent 25%);
	background-size: 80px 80px;
	background-position: -40px -40px, 0px 0px;
}


#newsletter {
	position: relative;
	top:50px;
	width:45%;
	margin-left:5%;
	padding:20px;
	background-color: #F3CE2A;
	z-index:10;
}

#signup {
	width:45%;
	padding:20px;
	background-color: #F3CE2A;
}

#location {
	position:relative;
	width:20%;
	top:-100px;
	float:right;
	margin-right:15%;
	padding:0.3em 0 0.5em 1em;
	background-color: #2CF2A3;
	z-index:10;
}

/* Toggle Classes */
.noscroll {
	overflow:hidden;
	height:100vh;
}
.toggleDisplayBlock {
	display:block;
}
.toggleDisplayInline {
	display:inline;
}

