:root {
    --main-light-bg: #eee;
    --main-box-shadow: 4px 5px 0px 0px hsla(36, 0%, 50%, .5);
    --main-base-color: #7ad67d;
    --main-max-width: 900px;
}

* {
    margin: 0;
    padding: 0;
    /* border: 1px dashed red; */
}

a {
    color: inherit;
    text-decoration: inherit;
}

body {
    font-family: 'Roboto', sans-serif;
    color: #0d0d0d;
    /*font-size: 120%;*/
}

header {
    background: rgba(0, 0, 0, 0.78);
    padding: 1em 0;
    color: #fff;
    position: fixed;
    width: 100%;
    border-bottom: 1px solid rgba(0,0,0,.1);
    top: 0;
    z-index: 9;
}

header .wrap {
    max-width: var(--main-max-width);
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
}

header .dbs {
	background: #03a9f4;
	color: #fff;
	padding: .5em 1em;
	border-radius: 2em;
	margin: -.5em;
}

header .dbs:hover #dbs-info {
    display: block;
}

#dbs-info {
    display: none;
    position: absolute;
    background-color: #fff;
    max-width: 200px;
    box-shadow: 0px 0px 5px 5px rgba(0,0,0,.1);
    color: #0d0d0d;
    padding: 1em;
    box-sizing: border-box;
    font-size: .8em;
}

header .wrap a/*,*/
/*footer a */
{
    margin-right: 1em;
}

header .wrap a:last-of-type,
footer a:last-of-type
{
    margin-right: 0;
}

footer {
    background: #323232;
    color: rgba(255,255,255,.5);
    padding: 1em;
    font-size: 75%;
    font-weight: 300;
}

#footer-wrap {
    max-width: var(--main-max-width);
    margin: 0 auto;
}

#footer-links {
    margin: 2em auto 1em;
    display: flex;
    justify-content: space-between;
    font-size: 120%;

}

#footer-links div {
    /*border-bottom: 1px solid rgba(255,255,255,.1);*/
    margin-bottom: .5em;
}

h1,
h2,
h3,
h4,
h5,
h6 
{
    font-family: 'Source Sans Pro', sans-serif;
    text-align: center;
    line-height: 1;
}

h1 {
    margin: .5em 0 .25em;
    font-size: 4em;
}

h2 {
    margin: 0;
    font-size: 3em;
}

p {
    margin-bottom: 1em;
    font-weight: 300;
}


img {
    opacity: .9;
}

section {
    width: 100%;
    /*min-height: 80vh;*/
    padding: 2em 0;
}

section:not(:first-of-type):nth-of-type(odd){
    background: var(--main-base-color);
}

section:not(:first-of-type):nth-of-type(odd) .text-area {
    background: #fff;
}

section.intro {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    max-width: var(--main-max-width);
    margin: 0 auto;
}

.sm {
    display: none;
}

.intro-text {

}

.intro-text h1 {

}

.intro-text .strapline {
    font-size: 2em;
    text-align: center;
     color: rgba(13, 13, 13, .5); 
    margin: 0 auto;
    width: 75%;
    font-weight: 400;
    padding-bottom: 1em;
    font-style: italic;
    border-bottom: 11px solid var(--main-base-color);
}

.section-wrap {
    max-width: var(--main-max-width);
    margin: 0 auto;
    padding-left: 1%;
    padding-right: 1%;
}

.section-wrap h2 {
    margin-bottom: 1em;
}

section.when-where,
section.pricing,
section.about, 
section.testimonials 
{
/*    z-index: 9;
    position: relative;
    background: #fff;
*/
}

section.when-where {
    /*margin-top: 80vh;*/
}

section.pricing {
    /*background: #eee;*/
}

section.about {
    /*background: #eee;*/
}

section.testimonials {
    /*background: #eee;*/
}



section.about .flex-grp {
    display: flex;
    flex-direction: column;
    max-width: var(--main-max-width);
    margin: 0 auto;
}

section.about .flex-grp .item {
    flex-basis: 100%;
    padding: 3%;
    margin: 1em 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

section.about .flex-grp .item:nth-of-type(even) {
    flex-direction: row-reverse;
}

section.about .flex-grp .item p,
section.about .flex-grp .item div {
    flex-basis: 100%;
}

section.about .flex-grp .item p {
    border-top: 3px solid var(--main-base-color);
    padding: .5em 0;
    text-align: justify;
    font-size: 1.33em;
}

section.about .flex-grp .item:first-of-type {
    /*border-right: 3px solid rgba(0,0,0,.1);*/
}

section.about .flex-grp .item div:first-of-type {
    font-size: 2em;
    text-align: center;
    font-weight: 500;
}

.about .about-img {
    width: 250px;
    height: 250px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;}

.about .about-img.bass {
    background-image: url('../img/bass-rough-50.jpg');
}
.about .about-img.piano {
    background-image: url('../img/piano-rough-50.jpg');
}
.about .about-img.acoustic {
    background-image: url('../img/acoustic-rough-50.jpg');
}
.about .about-img.electric {
    background-image: url('../img/electric-rough-50.jpg');
}

.section-two-col {
    display: flex;
    align-items: center;
    padding: 3em;
    text-align: left;
    justify-content: space-around;
}

.pricing .section-two-col {
    flex-direction: row-reverse;
}

.section-two-col div {
    width: 40%;
    text-align: center;
}

.section-two-col h2 {
    margin-top: 0;
}

.section-two-col .text-area {
    padding: 2em;
    border-radius: 50%;
    background: var(--main-base-color);
    height: 400px;
    width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}


.section-two-col .text-area h2 {
    margin-bottom: .5em;
}
.section-two-col .text-area h3 {
    font-size: 3em;
    font-weight: 300;
    margin-bottom: .5em;
    color: #363636;
}

.section-two-col .text-area p {
    color: #363636;
    /*text-align: justify;*/
    /*font-weight: 300;*/
    /*margin-bottom: 1em;*/
}

.section-two-col div img {
    width: 50%;
}

.instruments-img {
    background-image: url("../img/instruments-rough-50.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 100%;
    height: 250px;
    margin: 4em auto;
}

.simon-img {
    background-image: url("../img/simon-rough.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    margin: 1em auto;
}

.testimonials-grp {
    display: flex;
    padding: 0 .5em;
    flex-direction: column;
}

.testimonial {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 50%;
}

.testimonial-text {
    background: #fff;
    padding: 1em;
    border-radius: 20px;
}

.testimonial-client {
    font-style: italic;
    text-align: right;
    font-size: 2em;
    color: #fff;
    margin-bottom: 1em;
    font-weight: 400;
}

.footnotes {
    /* color: #fff; */
    line-height: 1;
    /*font-size: 80%;*/
    padding: 1em 0; 
    border-bottom: 1px solid rgba(255,255,255,.5);;
}

#footnote {


}

/*img {
    transform:rotate(-5deg);
}

img {
    animation:spin 1s alternate infinite;
}
@keyframes spin {100% { transform:rotate(5deg); } }*/

@media only screen and (max-width: 750px) {
    body {
        /*font-size: 80%;*/
    }

    header .sm {
        display: inline-block;
    }

    header .lg {
        display: none;
    }

    .intro-text .strapline {
        width: 95%;
    }

    .section-two-col {
        padding: 0;
    }

    .section-two-col .text-area {
        /*width: 300px;*/
        /*height: 300px;*/
        margin-bottom: 3em;
    }

    .section-two-col,
    .pricing .section-two-col,
    section.about .flex-grp .item,
    section.about .flex-grp .item:nth-of-type(even),
    #footer-links
    {
        flex-direction: column;
    }

    footer #footer-links {
        display: block;
    }

    .testimonial {
        width: 100%;
    }

    footer .social {
        display: inline-block;
        margin-right: 1em;
    }

}

@media only screen and (max-width: 400px) {
    body {
        font-size: 80%;
    }

    .section-two-col .text-area {
        width: 350px;
        height: 350px;
    }

}

