*,
*::before,
*::after
{
    margin: 0;
    padding: 0;
    box-sizing: inherit;
}

:root {
    --grey-color: #808080;
    --bg-color: #d5dff0;
    --pink-color: #eb648c;

}

html{
    font-family:"Times New Roman", Times, serif;
    font-size: 10px;
    box-sizing: border-box;
    scroll-behavior: smooth;
    background-color: var(--bg-color);
    /* background-image: url('../images/muster.png');*/
    background-repeat: no-repeat;
    background-position: 100% 0%; 
}

a{
    text-decoration: none;
    letter-spacing: 1px;
}

ul{
    list-style: none;
}

p{
    font-size: 1.6rem;
}

img{
    width: 100%;
    max-width: 100%;
    height: auto;
}

section{
    padding: 5rem 0;
    clear: both;
}


/* ------------------------------------------ Header ---------------------------------------------------- */
header{
    width: 100%;
	height: 6rem;
	position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.container{
    width: 100%;
    max-width: 118rem;
    margin: 0 auto;
	padding: 0 3rem;
}

/* container in header section is treated different */
header .container{
	width: 100%;
    max-width: 115rem;
    margin: 0 auto;
    padding: 0;
}

nav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
	background-color: #fafafa;
	padding: 0.25rem 1.5rem;
	border-bottom: 10px solid var(--grey-color); 
}

.nav-brand{
	width: 5.5rem;
}

.nav-brand-text {
	color: #90b1d9;
	font-size: 2rem;
	font-weight: bold;
}

.menu-icons i{
    font-size: 3.5rem;
    color: #000000;
    cursor: pointer;
}

.close i{
    color: var(--grey-color);
}

.nav-list{
    width: 25rem;
    height: 100vh;
	background-color: #d5dff0;
    position: fixed;
    top:0;
    right: -26rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1500;
	transition: all 650ms ease-in-out;
}

.nav-list.active{
    right: 0;
}

.close{
    position: absolute;
    top: 1rem;
    left: 1.5rem;
}

.nav-item{
    margin: 1.5rem 0;
}

.nav-link{
    font-size: 1.6rem;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(0,0,0,.7)
}

main{
	background-color: #ffffff;
	width: 100%;
	max-width: 115rem;
    margin: 0 auto;
	position: relative;
}

.main-message {
    width: 100%;
    max-width: 60rem;
	color: #000000;
}

.main-message h3{
    font-size: 1.4rem;
}

.main-message h1{
	font-size: 2.0rem;
	margin: 1.0rem 0;
}


.btn{
    background-color: #fafafa;
    border-radius: 2rem;
    color: #000000;
    display: inline-block;
    border: 2px solid #90b1d9;
    margin-top: 2rem;
    padding: 1rem 2.5rem;
    text-transform: uppercase;
    transition: background-color 650ms;
}

.btn:hover{
    background-color: #90b1d9;
   
}

.title-heading{
    text-align: center;
    margin-bottom: 3rem;
    color: rgba(0,0,0,.7);
}

.title-heading h3{
    font-size: 1.4rem;
}

.title-heading h1{
    font-size: 2rem;
    margin: .5rem 0 1rem;
}


/*hero*/
.hero{
    width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(144, 177, 217, 0.9), rgba(144, 177, 217, 1)),url("../images/header-bg.jpg") center no-repeat fixed;
    background-size: cover;
	position: relative;
    padding: 7rem 0;
}

.hero::before{
    content: "";
	position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 4.7rem;
    background: url("../images/wave-small.png") center no-repeat;
	background-size: cover;
}

/* ---------------------------------------- activities section ---------------------------------------------*/


.activities-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25rem,1fr));
    grid-gap: 3.5rem;
}

.activities-grid-item{
    height: 40rem;
    padding: 5rem;
    color: #fafafa;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    z-index: 1;
}

.activities-grid-item::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
	width: 100%;
    height: 100%;
    background-image: linear-gradient(to bottom, rgba(144, 177, 217, 0.6), rgba(144, 177, 217, 0.8));
    z-index: -1;
}

.activities-grid-item i {
    font-size: 4rem;
    color: var(--pink-color);
}

.activities-grid-item h1{
    font-size: 1.7rem;
    text-transform: uppercase;
    margin: 2rem 0;
}

/* ---------------------------------------- testimonials section ---------------------------------------------*/
.testimonials{
    width: 100%;
	/*background-image: url("../images/testimonials-bg.jpg");
	background-color: rgba(213, 223, 240, 0.5); */
	/* background: linear-gradient(to bottom, rgba(213, 223, 240, 1), rgba(213, 223, 240, 0.9)),url("../images/testimonials-bg.jpg") center no-repeat fixed; */
	background: linear-gradient(to bottom, rgba(144, 177, 217, 1), rgba(144, 177, 217, 0.9)),url("../images/testimonials-bg.jpg") center no-repeat fixed; 
	background-size: cover;
    position: relative;
}

.testimonials .container {
    padding-top: 20rem;
}

.testimonials::before{
    content: "";
    position: absolute;
    top: -3px;
    left: 0;
    width: 100%;
    height: 4.7rem;
    background: url("../images/wave-small-reversed.png") center no-repeat;
    background-size: cover;   
}

.testimonials .container .testimonial{
    width: 100%;
    color: #fafafa;
    position: relative;
    margin-top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.testimonial-text-box{
    padding: 0 1.5rem;
    margin-bottom: 2rem;
    position: relative;
}

.testimonial-text-box i {
    position: realtive;
    top: -8rem;
    left: 50%;
    transform: translate(-50%);
    font-size: 8rem;
    color: var(--pink-color);
    opacity: .5;
    z-index: -1;
}

.testimonial-customer img{
    width: 10rem;
    height: 10rem;
    border-radius: 100%;
    border: 3px solid var(--pink-color);
}

/* ---------------------------------------- feldenkrais grid section ---------------------------------------------*/
.feldenkrais-grid{
	display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));  */
    grid-template-columns: repeat(auto-fit, minmax(25rem, 2fr));
    grid-gap: 10rem;
    margin-bottom: 2rem;
}

.feldenkrais-grid p, .feldenkrais-grid-item p{
    color: rgba(0,0, 0, 0.7);
}

.feldenkrais-grid h3{
	font-size: 1.6rem;
	text-align: center;
	color: rgba(0,0, 0, 0.7);
}

.feldenkrais-grid-item h1{
	font-size: 2rem;
	margin: .5rem 0 1rem;
	color: rgba(0,0, 0, 0.7);
	text-align: left;
}

.feldenkrais-grid-item img{
    border-radius: 1.2rem;
    max-width: 100%;
    height: auto;
    opacity: 0.9;
}

.feldenkrais-grid-image-item{
	height: 40rem;
    color: #fafafa;
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
	z-index: 1;
	border-radius: 0.5rem;
}

.feldenkrais-grid-image-item img{
    height: auto;
    width: 100%;
    max-width: 300px;
    border: 1px solid #ffffff;
    border-radius: 1.0rem;
}

.feldenkrais-grid-image-item::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
	width: 100%;
    height: 100%;
    /* background-image: linear-gradient(to bottom, rgba(144, 177, 217, 0.3), rgba(144, 177, 217, 0.4)); */
	z-index: -1;
}

.moshe{
    background: url("../images/feldenkrais_dr_moshe.jpg") center no-repeat;
}

.uebermich{
    background: url("../images/Uebermich.jpg") center no-repeat;
}

.toplink {
    color: rgba(0,0, 0, 0.7);
    text-align: right;
    font-size: 1.2rem;
    float: right;
    margin: 2rem .5rem;
}


/* ---------------------------------------- contact grid section ---------------------------------------------*/


.contact-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    grid-gap: 2.5rem;
    margin-bottom: 2rem;
}

.contact-grid p, .contact-grid-item p, .contact-grid-item a{
    color: rgba(0,0, 0, 0.7);
    text-align: left;
}

.contact h1{
    font-size: 2rem;
    margin: .5rem 0 1rem;
    color: rgba(0,0, 0, 0.7);
    text-align: left;
}


footer{
	position: relative;
    padding: 2.5rem 0;
    background-color: #d5dff0;
    text-align: center;
    color: rgba(0,0, 0, 0.7);
}

footer a {
    color:rgba(0,0, 0, 0.7);
}

/*--------------------------------------------- Media Query Section ---------------------------------------------*/
@media screen and (min-width: 470px){
    .hero::before{
        height: 9.4rem;
        background: url("../images/wave-medium.png");
        background-size: cover;
    }

    .testimonials::before{
        height: 9.4rem;
        background: url("../images/wave-medium-reversed.png");
        background-size: cover;
    }
}

/*--------------------------------------------- Media Query min width 700 px ---------------------------------------------*/

@media screen and (min-width: 700px){
    header{
		height: 9.5rem;
		/* border-bottom: 3.5rem solid #90b1d9; */
		z-index: 1;	
	}

	header .container {
		width: 100%;
		max-width: 115rem;
		margin: 0 auto;
        padding: 0;
	}

	main{
		background-color: #ffffff;
		width: 100%;
		max-width: 115rem;
		margin: 0 auto;
		margin-top: 6rem;
		border-left: 1px solid #000000;
		border-right: 1px solid #000000;
		border-bottom: 1px solid #000000;
	}

	nav{
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 1rem 0;
		background-color: #fafafa;
		border: 1px solid #000000;
		border-bottom: 10px solid var(--grey-color); 
	}
	
    .nav-brand{
		width: 10.5rem;
		height: 6.5rem;
		padding-left: 1.5rem;
	}
	
	.nav-brand img{
		width: 80%;
		height: 80%;
    }

	.nav-brand-text {
		/* TODO: align text bottom */
		height: 6rem;
		font-size: 2.4rem;
		font-weight: bold;
		margin-left: -7.5rem;
	}

    .nav-list{
        width: initial;
		height: initial;
        background-color: transparent;
        position: initial;
        top: initial;
        right: initial;
        flex-direction: row;
        transition: initial;
    }

    .menu-icons {
        display: none;
    }

    .nav-item{
		margin: 0 1.5rem;
    }

    .nav-link,
    .current{
		/*color: #fafafa; */
		color: #000000;
        position: relative;
        font-size: 1.3rem;
    }

    .nav-link::before{
        content: "";
        position: absolute;
        left: 0;
        bottom: -.5rem;
        background-color: #90b1d9;
        width: 100%;
        height: 2px;
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 650ms;
    }

    .current::before{
        transform: scaleX(1);
    }

    .nav-link:hover::before{
        transform: scaleX(1);
	}
	
}

/*--------------------------------------------- Media Query min width 950 px ---------------------------------------------*/

@media screen and (min-width: 950px){
    .hero::before{
        height: 10.7rem;
        background: url("../images/wave-large.png");
        background-size: cover;
    }

    .testimonials::before{
        height: 10.7rem;
        background: url("../images/wave-large-reversed.png");
        background-size: cover;
    }
}

/*--------------------------------------------- Media Query min width 1200 px ---------------------------------------------*/

@media screen and (min-width: 1200px){
    .hero{
        height: 100%;
    }
}