/*--------------- Fonts and Colours */

@import url('https://fonts.googleapis.com/css?family=Raleway:300,400&display=swap');

/* Text shadows from https://html-css-js.com/css/generator/text-shadow/ */

body {
    color: #fff;
    font-size: 20px;
}

a {
    text-decoration: none;
    color: #fff;
    transition: color 0.8s ease-in-out;
    -moz-transition: color 0.8s ease-in-out;
    -webkit-transition: color 0.8s ease-in-out;
    -o-transition: color 0.8s ease-in-out;
}

a:hover {
    text-decoration: none;
    color: #d8fce6;
}

h1 {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    text-shadow: 2px 2px 2px #708781;
}

h2,
h3 {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    text-shadow: 1px 1px 2px #708781;
}

h3 {
    padding-top: 5px;
}

.heading--5em {
    font-size: 2em;
    /*Increases to 5em on lg size*/
    padding-top: 50px;
    padding-bottom: 50px;
}

.quote {
    color: #fff;
}

a.navbar-brand,
.navbar-light,
.navbar-nav,
.nav-link {
    font-family: 'Raleway', sans-serif;
    font-weight: 300;
    letter-spacing: 1.5px;
    color: #fff !important;
    /* !important needed to override Bootstrap*/
    text-shadow: 2px 2px 2px #708781;
}

a.navbar-brand,
a:link.navbar-brand,
a:hover.navbar-brand,
a:active.navbar-brand,
a:hover.nav-link,
a:active.nav-link {
    transition: color 0.8s ease-in-out;
    -moz-transition: color 0.8s ease-in-out;
    -webkit-transition: color 0.8s ease-in-out;
    -o-transition: color 0.8s ease-in-out;
}

a:hover.navbar-brand,
a:hover.nav-link {
    color: #d8fce6 !important;
    /* !important needed to override Bootstrap*/
}

.btn-outline-success {
    color: #fff;
}

.btn--social-icons {
    color: white;
    font-size: 3em;
    transition: color 0.5s ease-in-out;
    -moz-transition: color 0.5s ease-in-out;
    -webkit-transition: color 0.5s ease-in-out;
    -o-transition: color 0.5s ease-in-out;
}

.btn--social-icons:hover {
    color: #d8fce6;
    font-size: 3em;
}

/*--------------- NavBar */

.navbar--padding {
    padding-bottom: 15px !important;
}

.nav-padding-lg {
    padding-left: 15px;
    padding-right: 15px;
}

.nav-link {
    text-align: center;
}

.navbar-toggler {
    border-color: #fff !important;
}

/*Adjust colour of custom toggler icon */
/*Next block of code taken from https://stackoverflow.com/questions/42586729/bootstrap-4-change-hamburger-toggler-color*/
#custom-toggler {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.navbar-light {
    background-color: rgba(112, 135, 129, 0.9) !important;
    /* !important needed to override Bootstrap*/
}

.nav-item {
    background-color: rgba(112, 135, 129, 0.8) !important;
}

.btn-success:focus,
.btn-success:active {
    border-color: #fff;
    outline: 0;
}

button.navbar-toggler:focus {
    border-color: #fff;
    outline: 0;
}

/*--------------- Headings */

.page-heading {
    display: block;
    text-align: center;
}

.headingspace {
    margin-bottom: 50px;
    margin-top: 20px;
}

/*--------------- Buttons */

/* Override Bootstrap btn-success styles */
.btn-outline-success {
    background-color: rgba(216, 252, 320, 0.4);
    border-radius: 25px;
    padding-right: 15px;
    border-color: transparent;
    transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out;
    -moz-transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out;
    -webkit-transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out;
    -o-transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out;
}

.btn-outline-success:hover {
    background-color: transparent;
    border-color: #fff;
    border-radius: 25px;
    padding-right: 15px;
}

.btn-success {
    background-color: transparent;
    border-color: #fff;
    border-radius: 25px;
    padding-right: 15px;
    transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out;
    -moz-transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out;
    -webkit-transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out;
    -o-transition: background-color 0.8s ease-in-out, border-color 0.8s ease-in-out;
}

.btn-success:hover {
    background-color: rgba(216, 252, 320, 0.4);
    border-radius: 25px;
    padding-right: 15px;
    border-color: transparent;
}

.btn-outline-success:focus {
    box-shadow: 0 0 0 0.2rem rgba(252, 252, 252, .5);
    border-color: #fff;
}

.btn-success:focus {
    box-shadow: 0 0 0 0.2rem rgba(252, 252, 252, 0);
    border-color: #fff;
}

.btn-success:active {
    background-color: rgba(216, 252, 320, 0);
    box-shadow: 0 0 0 0.2rem rgba(252, 252, 252, 0);
    border-color: #fff;
    outline: 0px;
}

#btn--footer {
    margin-top: 10px;
    margin-bottom: 10px;
}

.btn--margintop30 {
    margin-top: 30px;
}

.downloadicon {
    margin-right: 15px;
    margin-left: 15px;
}

.iconsizing {
    font-size: 3em;
    padding-bottom: 15px;
}

.iconsizingsm {
    font-size: 2em;
}

/*--------------- Lists */

/* Override Bootstrap list item styling to suit colour scheme but maintain box around list items */
.list-group-item {
    background-color: inherit;
    margin-top: 15px;
    border-color: white;
    border-radius: 5px;
    /*height: 50px;*/
}

/*--------------- Containers */

.container-large-top {
    padding-top: 130px;
    padding-bottom: 130px;
    position: relative;
}

/* Add opacity to background without adding text opacity for the same container */
.container-large-top:after {
    /*Pseudo element for bg opacity code used from https://css-tricks.com/snippets/css/transparent-background-images/ */
    /* Added to create translucent background beneath opaque text */
    /*Edited the above to add background position, repeat and size.*/
    content: "";
    background: url(../images/dandelion-mobile.png);
    opacity: 0.7;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    position: absolute;
    z-index: -1;
}

.container-first-section {
    background: url('../images/discussion.jpg') no-repeat bottom right;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

/* Image is positioned to zoom on to adult only on smaller screen sizes (child will not be visible) */
.container-first-section-coach {
    background: url('../images/yourcoach.jpg') no-repeat bottom right;
    background-position: 30% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.container-first-section-benefits {
    background: url('../images/havingfun.jpg') no-repeat bottom right;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.container-second-section-benefits {
    background: url('../images/lyingingrass.jpg') no-repeat bottom right;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.container-third-section-benefits {
    position: relative;
}

.container-first-section-experience {
    position: relative;
}

.container-second-section {
    padding-top: 50px;
    padding-bottom: 50px;
    background: url('../images/meditatingoutside2.jpg') no-repeat bottom right;
    background-position: 40% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

/* Image is positioned to highlight the people in the */
.container-third-section {
    padding-top: 50px;
    padding-bottom: 50px;
    background: url('../images/payingattention.jpg') no-repeat bottom right;
    background-position: 70% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.container-footer {
    padding-top: 30px;
    padding-bottom: 30px;
}

.container-wide {
    padding-left: 50px;
    padding-right: 50px;
}

.container-callout-light {
    background-color: #669c81;
}

.container-callout-dark {
    background-color: #335544;
}

.container--translucent {
    background-color: rgba(112, 135, 129, 0.9);
}

.container--translucentrounded {
    background-color: rgba(112, 135, 129, 0.9);
    border-radius: 25px;
}

.container--translucentgradientleft {
    background-color: rgba(112, 135, 129, 0.7);
    border-radius: 25px;
}

.container--translucentgradientright {
    background-color: rgba(112, 135, 129, 0.7);
    border-radius: 25px;
}

/*--------------- Content Spacing Controls */
/* Spacing controls kept as reuseable as possible */

.container--topbottom20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.container--topbottom40 {
    padding-top: 40px;
    padding-bottom: 40px;
    margin-top: 40px;
}

.videosize {
    width: 70%;
}

.container--topbottom150 {
    padding-top: 150px;
    padding-bottom: 150px;
}

.container--padding300--bottom-sm-middle-md { /*  Media Query used to adjust to centre alignment on md size and above*/
    padding-top: 300px;
    padding-bottom: 0px;
}

.container--topbottom75 {
    padding-top: 75px;
    padding-bottom: 75px;
}

.container--bottom75 {
    /*padding-top: 75px;*/
    padding-bottom: 75px;
}

.container--top300 {
    padding-top: 300px;
}

.container--top400 {
    padding-top: 400px;
}

.footer-item {
    margin-bottom: 45px;
}

/*--------------- Forms */

.input--text {
    border-radius: 25px;
    height: 48px;
}

/*--------------- Media Queries */

@media only screen and (min-width: 768px) {

    .heading--5em {
        font-size: 3em;
    }

    .nav-padding-lg {
        padding-left: 5px;
        padding-right: 5px;
    }

    .btn-left {
        text-align: left;
    }

/* Container padding adjusted for md size devices (default set small to ensure containers do not create too much scrolling and also look good on small screens) */

    .container-large-top {
        padding-top: 200px;
        padding-bottom: 430px;
    }

    .container--padding300--bottom-sm-middle-md { /* move content to centre alignment over background on larger screens*/
        padding-top: 150px;
        padding-bottom: 150px;
    }

    .container-second-section {
        padding-top: 250px;
        padding-bottom: 250px;
    }

    .container-third-section {
        padding-top: 250px;
        padding-bottom: 250px;
    }

    .footer-item {
        display: inline-block;
        width: 40%;
        margin-right: 25px;
    }

/*Add gradient on larger screens to create visual flow from image focal point towards text*/
    .container--translucentgradientleft {
        background-color: rgba(112, 135, 129, 0);
        background-image: linear-gradient(to right, rgba(112, 135, 129, 0) 0%, rgba(112, 135, 129, 0) 45%, rgba(112, 135, 129, 0.7) 60%, rgba(112, 135, 129, 0.7) 100%) !important;
        border-radius: 25px;
    }

    .container--translucentgradientright {
        background-color: rgba(112, 135, 129, 0);
        background-image: linear-gradient(to left, rgba(112, 135, 129, 0) 0%, rgba(112, 135, 129, 0) 45%, rgba(112, 135, 129, 0.7) 60%, rgba(112, 135, 129, 0.7) 100%) !important;
        border-radius: 25px;
    }
}

@media only screen and (min-width: 992px) {

    .heading--5em {
        font-size: 3em;
    }

    .heading--topspace {
        margin-top: 60px;
    }

    .nav-link {
        text-align: right;
    }

    .nav--active {
        border-bottom-style: solid;
        border-bottom-width: thin;
        border-bottom-color: rgba(255, 255, 255, 0.4);
    }

}

@media only screen and (min-width: 1600px) {

/*Use a larger, wider version of the header hero image to improve appearance on extra large screens*/
.container-large-top:after {
    /*Pseudo element for bg opacity code used from https://css-tricks.com/snippets/css/transparent-background-images/ */
    /* Added to create translucent background beneath opaque text */
    /*Edited the above to add background position, repeat and size.*/
    content: "";
    background: url(../images/dandelion.png);
    opacity: 0.7;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    position: absolute;
    z-index: -1;
}

/* Adjust padding on extra large screen sizes to improve appearance of text in relation to focal point in image*/
.container-large-top {
    padding-top: 180px;
    padding-bottom: 130px;
    position: relative;
    height: 95vh;
}

}