:root {

    --main-color-blue: rgb(0, 128, 186);

}

/*
START - MAIN LAYOUT ORIENTED STUFF
*/

html {
    box-sizing: border-box;
}

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

body {

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -moz-box-wrap: wrap;
    -webkit-box-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flexbox-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    -moz-box-pack: justify;
    justify-content: space-between;

    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -moz-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;


    position: relative;
    margin: 0 auto;
    padding: 0;
    font-size: 100%;
    color: #1b1b1b;
    background-color: #fff;
    font-family: 'Didact Gothic', sans-serif;
    -webkit-text-size-adjust: 100%;

    max-width: 800px;

    color: #333;
}

body>* {
    -webkit-box-flex: 1 1 100%;
    -moz-box-flex: 1 1 100%;
    -webkit-flex: 1 1 100%;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;

}



.biorhyme-font-face {
    font-family: "BioRhyme", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}

.cutive-regular {
    font-family: "Cutive", serif;
    font-weight: 400;
    font-style: normal;
}




/*
START - BASIC TYPOGRAPHY
*/


h1,
h2 {
    margin: 0 auto;
    padding: 0;
    font-size: 1.1em;
}

h3,
h4,
h5 {
    margin: 0 0 0.5em 0;
    padding: 0;
    font-size: 1.0em;
    line-height: 1.3em;
}


p {
    margin: 0 0 0.6em 0;
    padding: 0;
    font-size: 1.0em;
    line-height: 1.3em;

}

ul,
ol {
    font-size: 1.0em;
    line-height: 1.3em;
}

ul ul,
ol ol,
ul ol,
ol ul {
    font-size: 100%;
}

dl {
    font-size: 1.0em;
    line-height: 1.3em;
}

a {
    text-decoration: none;
    color: #333;
}

a:hover {
    text-decoration: underline;
    color: #000;
}





img {
    display: block;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto;
}


body>header {

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -moz-box-wrap: wrap;
    -webkit-box-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flexbox-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    -moz-box-pack: justify;
    justify-content: space-between;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;

    margin: 0 0 0 0;
    padding: 0;



    background-color: #fff;
}



body>header>.logo {
    -webkit-box-flex: 1 1 60%;
    -moz-box-flex: 1 1 60%;
    -webkit-flex: 1 1 60%;
    -ms-flex: 1 1 60%;
    flex: 1 1 60%;

    margin: 0 auto;
    padding: 25px 0 10px 0;
    text-align: center;

    border: 0;
    border-top: 10px solid var(--main-color-blue);
}

body>header a:hover {
    text-decoration: none;
}


body>header>.logo h1 {
    display: block;
    margin: 0 auto 0.1em auto;
    padding: 0;

    font-size: 1.8em;
    font-weight: normal;

}

body>header>.logo h4 {
    display: block;
    margin: 0 auto;
    padding: 0;

    font-size: 1.0em;
    font-weight: normal;
}





body>header>.menu {

    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -moz-box-wrap: nowrap;
    -webkit-box-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    -ms-flexbox-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;

    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    -moz-box-pack: justify;
    justify-content: space-between;

    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;


    -webkit-box-flex: 1 1 100%;
    -moz-box-flex: 1 1 100%;
    -webkit-flex: 1 1 100%;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;

    position: relative;
    margin: 0;
    padding: 0.5em 0.6em 0.4em 0.6em;
    text-align: center;

    background-color: var(--main-color-blue);
    color: #fff;

    font-size: 1.2em;

}


/*
body > header > .menu i.fa-bars{
    margin: 0 auto 0 0;
    padding: 0;
    color: #fff;
}

body > header > .menu i.fa-bars:hover{
    cursor: pointer;
}
*/

body>header>.menu a {
    display: block;
    margin: 0 auto;
    padding: 0;
    color: #fff;
}

body>header>.menu a:hover {
    text-decoration: none;
}










body>header .banner {

    -webkit-box-flex: 1 1 100%;
    -moz-box-flex: 1 1 100%;
    -webkit-flex: 1 1 100%;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;

    display: block;
    margin: 0 auto;
    padding: 1.0em;

    background-color: #fff;
    color: #333;
}

body>header .banner h3 {
    display: block;
    margin: 0 auto;
    padding: 0;

    font-size: 1.2em;
    font-weight: 300;
    text-align: center;
}

body>header .banner h3 span {
    display: inline-block;
    margin: 0 0.15em;
    padding: 0;
}


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

    body>header>.logo span {
        font-size: 1.5em;
    }

    body>header>.logo span:last-child {
        font-size: 2.8em;
    }

    body>header>.portrait {
        -webkit-box-flex: 0 1 190px;
        -moz-box-flex: 0 1 190px;
        -webkit-flex: 0 1 190px;
        -ms-flex: 0 1 190px;
        flex: 0 1 190px;
    }
}


body>nav.main {
    display: none;
    margin: 0 20% 0 0;
    padding: 0;
    border-top: 2px solid #fff;
    background-color: #333;
}

body>nav.main ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

body>nav.main ul ul {
    margin: 0 0 0 15%;
}


body>nav.main ul li {
    margin: 0;
    padding: 0;
}

body>nav.main ul a {
    display: block;
    margin: 0;
    padding: 0.8em 0.3em 0.8em 1.2em;

    color: #fff;
    border-top: 1px solid #fff;
}

body>nav.main ul a:hover {
    background-color: #aaa;
}





/*
body > nav.social{
    display: none;
    margin: 0;
    padding: 0;
}

body > nav.social ul{
    margin: 0.2em 0 1.0em 0;
    padding: 0 10px 0 0;
    list-style-type: none;
    text-align: right;
}

body > nav.social ul li{
    display: inline-block;
    margin: 0;
    padding: 0;
}

body > nav.social ul a{
    display: block;
    margin: 0 0 0 0.2em;
    padding: 0;
    font-size: 2.0em;
}

body > nav.social ul a:hover{
    background-color: #ccc;
}
*/



body>section {
    margin: 1.0em 0 0 0;
    padding: 0.3em 1.0em;

}










footer {
    margin: 0;
    padding: 1.0em 0;
    text-align: center;
    clear: both;

    background-color: var(--main-color-blue);
    color: #fff;
}

footer a {
    color: #fff;
}

footer nav ul {
    margin: 1.0em 0 2.0em 0;
    padding: 0;
    list-style-type: none;
    font-size: 1.0em;
}

footer nav ul li {
    display: inline-block;
    margin: 0;
    padding: 0;
    border-right: 1px solid #fff;
}

footer nav ul li:last-child {
    border: 0;
}

footer nav ul li a {
    display: block;
    margin: 0;
    padding: 0 0.6em;

}




footer .footer-copyright {
    margin: 0 auto 1.0em auto;
    padding: 0;
    max-width: 90%;
    font-size: 0.8em;
}

footer p {
    font-size: 0.8em;
}











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

    body>section {

        -webkit-box-flex: 1 1 60%;
        -moz-box-flex: 1 1 60%;
        -webkit-flex: 1 1 60%;
        -ms-flex: 1 1 60%;
        flex: 1 1 60%;

        margin-right: 1.2em;
    }



    body>header>.phone i.fa-bars {
        display: none;
    }

    body>nav.main {
        display: block;
        margin: 0;
        padding: 0;
        background-color: #333;
    }


    body>nav.main ul li {
        position: relative;
        display: inline-block;
    }

    body>nav.main ul a {
        margin: 0;
        padding: 0.8em 0.8em;
        border: 0;

    }

    body>nav.main ul li:hover {
        background-color: #aaa;
    }

    body>nav.main ul a:hover {
        color: #333;

    }


    body>nav.main ul li:hover ul {
        display: block;
    }

    body>nav.main ul ul {
        position: absolute;
        display: none;
        min-width: 15em;
        background-color: #333;
    }

    body>nav.main ul ul li {
        display: block;
        border: 1px solid white;
    }


    footer>ul {
        max-width: inherit;
    }

    footer>ul li {
        display: inline-block;
        margin: 0 0.2em;
        padding: 0;
    }

    footer>ul a {
        padding: 0.5em 1.0em;
        border: 0;
        border-top: 1px solid #aaa;
        border-bottom: 1px solid #aaa;
    }

    footer>ul a:hover {
        border-top: 1px solid #333;
        border-bottom: 1px solid #333;
        text-decoration: none;
    }


}

/* 800 */

/*
END - MAIN LAYOUT ORIENTED STUFF
*/








.large {
    font-size: 1.2em;
    line-height: 1.5em;
}

.medium {
    font-size: 1.0em;
    line-height: 1.2em;
}

.button {
    padding: 0.7em 1.1em;
    background-color: #999;
    color: #fff;
    border: 0;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    text-align: center;
}

.button:hover {
    background-color: #ccc;
    color: #333;
    cursor: pointer;
}


.button.center {
    display: block;
    margin: 1.5em auto;
    max-width: 70%;
}


/*
END - BASIC TYPOGRAPHY
*/


.max300 {
    max-width: 300px;
}

.max400 {
    max-width: 400px;
}

.max500 {
    max-width: 500px;
}



body>section img.responsive {
    display: block;
    margin: 0 auto 1.0em auto;
    padding: 0;
    width: 100%;
    height: auto;
    border: 3px solid #000;
}


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

    body>section img.bodyText {
        float: right;
        margin: 0 0 1.5em 1.3em;
        padding: 0;

        -webkit-box-shadow: -10px 10px 5px 0px rgba(0, 0, 0, 0.5);
        -moz-box-shadow: -10px 10px 5px 0px rgba(0, 0, 0, 0.5);
        box-shadow: -10px 10px 5px 0px rgba(0, 0, 0, 0.5);
    }


}








.formDiv {
    margin: 0 auto;
    padding: 2.0em 1.0em;
}

.formDiv>div {
    margin: 0 auto;
    max-width: 550px;
}


.formDiv .formbuilder-button {
    text-align: center;
}


.formDiv.signup {
    margin: 1.5em auto;
    padding: 1.2em 1.0em;
    background-color: #efefef;
    color: #000;
}

.formDiv.signup h4 {
    margin: 0 0 0.5em 0;
    padding: 0;
    text-align: center;
    font-weight: normal;
}

.formDiv.signup .rendered-form {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: normal;
    align-content: normal;
}


.formDiv.signup .rendered-form.formbuilder-embedded-bootstrap .form-group {
    margin: 0;
}

.formDiv.signup .rendered-form>div:nth-child(1) {
    display: block;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 80%;
    align-self: auto;
    order: 0;
}



.formDiv.signup .rendered-form>div:nth-child(2) {
    display: block;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    align-self: auto;
    order: 0;
}

/* hide email field label */
.formDiv.signup .rendered-form .formbuilder-text label {
    display: none;
}



html .formDiv.signup .rendered-form.formbuilder-embedded-bootstrap input.form-control {
    border: 0;
    border-radius: 0;
    background-color: #fff;
    color: #000;
    height: inherit;
}

html .formDiv.signup .rendered-form.formbuilder-embedded-bootstrap .btn {
    border: 0;
    border-radius: 0;
    background-color: var(--main-color-blue);
    color: #fff;
}







#homePage {
    margin: 0;
    padding: 0;
}

#homePage .primary {
    margin: 0 auto;
    padding: 0 0 1.5em 0;

    background: rgb(255, 255, 255);
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 30%, rgba(0, 126, 186, 0.5) 100%, rgba(0, 126, 186, 0.7) 100%);

    -webkit-box-shadow: 0px 10px 5px 0px rgba(0, 0, 0, 0.32);
    -moz-box-shadow: 0px 10px 5px 0px rgba(0, 0, 0, 0.32);
    box-shadow: 0px 10px 5px 0px rgba(0, 0, 0, 0.32);

}

@media screen and (min-width: 800px) {
    #homePage .primary {
        box-shadow: none;
    }
}


#homePage ul {
    display: block;
    margin: 0 auto;
    padding: 0;

    list-style-type: none;

    max-width: 80%;
}

#homePage ul li {

    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;

    margin: 1.0em 0;
    padding: 0;

    font-size: 1.4em;
}

#homePage ul li svg {
    margin: 0 0.6em 0 0;
    padding: 0;

    width: 1.5em;
    height: 1.5em;

    color: var(--main-color-blue);

}








#homePage .secondary {
    display: block;
    margin: 2.0em auto 1.0em auto;
    padding: 0;
}





#homePage .secondary .logos {
    display: block;
    margin: 0 auto;
    padding: 20px 20px 2.0em 20px;

    color: var(--main-color-blue);
    border-bottom: 1px solid #bbb;
}


#homePage .secondary .logos h5 {
    display: block;
    margin: 0 auto;
    padding: 0;

    font-size: 1.0em;
    text-align: center;
}

#homePage .secondary .logos figure {
    display: block;
    margin: 2.0em 0.3em;
    padding: 0;
}

#homePage .secondary .logos figure:last-child {
    margin-bottom: 0;
}

#homePage .secondary .logos figure img {
    display: block;
    margin: 0 auto;
    padding: 0;

    max-width: 300px;
}

#homePage .secondary .logos figcaption {
    display: block;
    margin: 0;
    padding: 10px;

    text-align: center;
    font-weight: bold;
}


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


    #homePage {

        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-end;

        margin: 0;
        padding: 0;
    }

    #homePage>.primary {
        flex: 1 1 100%;
    }

    #homePage>.secondary {
        flex: 1 0 300px;
        margin-bottom: 0;
        padding: 0 20px 0 20px;
    }

    #homePage .secondary .logos {
        border: 0;
        padding-bottom: 10px;
    }

}







@media screen and (max-width: 800px) {

    #homePage .secondary .pfp {
        display: block;
        margin: 0 auto;
        padding: 20px;

    }


    #homePage .secondary .pfp figure {
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        max-width: 400px;
        width: 96%;
        height: 96%;
        position: relative;
        padding: calc(1vw + 3rem);
        background: url("data:image/svg+xml,%3Csvg viewBox='0 0 378 373' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.452 2.821l-3.171 367.05c125.311 2.569 250.666 2.673 376.055.905l.84-370.289c-124.617-.622-249.191.172-373.724 2.334z' fill='url(%23a)' /%3E%3Cdefs%3E%3ClinearGradient id='a' x2='1' gradientUnits='userSpaceOnUse' gradientTransform='matrix(377.176 -.281 .281 377.176 .281 .281)'%3E%3Cstop offset='0' stop-color='%23efeef3' /%3E%3Cstop offset='1' stop-color='%23E5E8ED' /%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A") center / cover no-repeat;



    }

    #homePage .secondary .pfp figure:before,
    #homePage .secondary .pfp figure:after {
        content: '';
        position: absolute;
        z-index: -1;
        right: 0;
        bottom: 0;
    }

    #homePage .secondary .pfp figure:before {
        filter: blur(12px);
        width: calc(100% - 40px);
        height: calc(100% - 40px);
        background: radial-gradient(ellipse at center, rgba(0, 0, 0, .25) 75%, rgba(0, 0, 0, .1) 80%);
        transform: skew(-7deg, -6deg) translate(0);
    }

    #homePage .secondary .pfp figure:after {
        filter: blur(2px);
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        background: rgba(0, 0, 0, .25);
        transform: skew(.75deg, 1deg) translate(-1px, -8px);
    }

    #homePage .secondary .pfp figure img {
        width: 100%;
        height: auto;
        border-radius: 3px;
        vertical-align: middle;


    }

    #homePage .secondary .pfp figure figcaption {
        font-family: 'Courier', sans-serif;
        font-size: 18px;
        padding: 1rem 0;
    }

}

@media screen and (min-width: 800px) {
    #homePage .secondary .pfp {
        display: block;
        margin: 0 auto;
        padding: 0 20px 0 20px;

    }


    #homePage .secondary .pfp figure {
        position: relative;
        display: block;
        margin: 0em 0.3em;
        padding: 0;
    }

    #homePage .secondary .pfp figure img {

        border-radius: 100%;
        aspect-ratio: 1/1;
        object-fit: cover;
        border: 6px solid var(--main-color-blue);
    }

    #homePage .secondary .pfp figcaption {

        display: none;

        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;

        margin: 0;
        padding: 0.6em 0.2em;

        text-align: center;
        background-color: var(--main-color-blue);
        color: #fff;
    }
}


.announcementBanner{
    margin: 0 auto;
    padding: 1.0em;
}

.announcementBanner .inner{
    margin: 0 auto;
    padding: 0em;

    border-radius: 1.0em;
    overflow: hidden;

    box-shadow: 1px 1px 16px 4px rgba(0, 0, 0, 0.24);
    -webkit-box-shadow: 1px 1px 16px 4px rgba(0, 0, 0, 0.24);
    -moz-box-shadow: 1px 1px 16px 4px rgba(0, 0, 0, 0.24);
}



.announcementBanner .inner h3{
    margin: 0;
    padding: 0.8em 1.2em;
    background-color: var(--main-color-blue);
        color: #fff;
}

.announcementBanner .inner2{
    margin: 0 auto;
    padding: 1.2em;
}

.announcementBanner .inner2 p{
    font-style: italic;
}

.announcementBanner a:hover {
    text-decoration: underline;
    color: #000;
    background-color: #ddd;
}


.btn-primary {
	border-radius: 0.25rem;
	
	
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	font-weight: 700;
	
    background-color: var(--main-color-blue);
	color: #fff;
}