/*-------------------------------------------------------------
-----------------------------Colors----------------------------
--------------------------------------------------------------- 
purple: 	#895E90;
dark blue:	#4B6494; 
green: 		#99B04A;
dark gray: 	#4F4F4F; 
light gray: #4b4b4b;

---------------------------------------------------------------
-------------------------------------------------------------*/

/*-------------------------------------------------------------
						Fonts, Titles, Text
-------------------------------------------------------------*/

@import url(http://fonts.googleapis.com/css?family=Roboto:400,600,700,300);

:root {
    --header-height: calc(84px + 20px);
    --footer-height: 150px;
}

/* Headings*/

h1 {
    /* This really serves no purpose other than to fix the next style*/
}

p {
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    color: #4B4B4B;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #333;
    margin: 0px;
    padding: 0px;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    padding-bottom: .25em;
}

h1 {
    font-size: 24px;
}

h2 {
    font-size: 21px;
}

h3 {
    font-size: 18px;
}

*+h1,
*+h2,
*+h3,
*+h4,
*+h5,
*+h6 {
    /*Anytime a header follows another object, it will be 29px below that object*/
    margin-top: 24px;
}


/* ---------------------Others */

body {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #4b4b4b;
    height: 100%;
    position: relative;
    margin: 0px;
}

p+p {
    margin-top: .8em;
}

h1+p,
h2+p,
h3+p,
{
    /*Anytime a paragraph follows a header, there will be x-px between them*/
    margin-top: 1.5em;
}

abbr {
    border-bottom: 0px !important;
}


/*------------------------------- links */

a {
    color: #5c91b8;
}

a:hover a:active {
    text-decoration: underline;
}


/*--------------------------------------------------------------
						Images/Objects
--------------------------------------------------------------*/

img {
    border: 0px;
    max-width: 100% !important;
    height: auto!important;
}


/*------------------------Slideshow*/

.front-slide img {
    margin-left: 0px !important;
    margin-right: 0px !important;
    /* overwrites Bootstrap inline style */
}

.carousel-control {
    /*display: none !important;*/
    /* overwrites Bootstrap inline style */
}

.carousel-inner {
    border: 1px solid #895e90;
}


/*buttons*/

a button {
    text-decoration: none;
}

*:active {
    text-decoration: none;
}


/*Calendar*/


/*--------------------------------------------------------------
						Modal Log In
--------------------------------------------------------------*/

.modal {
    overflow-y: visible;
}

.modal-dialog {
    max-width: 250px;
}

.modal-header {
    text-align: center;
}

#login input {
    width: 200px;
    height: 30px;
    border-radius: 5px;
    margin: 0px auto;
    margin-bottom: 10px;
    border: 1px solid #999;
    padding: 3px;
}

#login a {
    margin-top: -5px;
    margin-bottom: 10px;
    display: block;
}

#login input:last-of-type {
    width: 100px;
    margin: none;
}


/*--------------------------------------------------------------
						Header
--------------------------------------------------------------*/


/*-------------------------------------Head Row*/

#head-row {
    /*	position: relative;
	height: 84px;*/
    margin-bottom: 33px;
    margin-bottom: 20px;
}


/*-------------------------------------Logo column*/

#logo-wrapper {
    max-width: 150px;
    height: auto;
    position: relative;
    bottom: -7px;
    left: -15px;
}


/*#logo-wrapper{*/


/*fix for IE*/


/*	position: absolute;
	bottom: -67px;
	left: -2px;
}*/

#logo-wrapper svg {
    position: relative;
    /*	max-width: 100%;
	height: auto;*/
    display: block;
}


/*-------------------------------------Nav column*/

#NP ul.nav {
    float: right;
    position: absolute;
    right: 0;
    bottom: -110px;
    padding-right: 15px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
}

.memonly_grey>a {
    opacity: .75;
}


/*----------------Search--------------------*/

#searchboxForm {
    display: inline-block;
    position: relative;
    bottom: -5px;
    width: 0px;
    overflow: hidden;
    border: none;
    -webkit-transition: width 250ms cubic-bezier(0.625, 0.005, 0.175, 1);
    /* older webkit */
    -webkit-transition: width 250ms cubic-bezier(0.625, 0.005, 0.175, 1.310);
    -moz-transition: width 250ms cubic-bezier(0.625, 0.005, 0.175, 1.310);
    -o-transition: width 250ms cubic-bezier(0.625, 0.005, 0.175, 1.310);
    transition: width 250ms cubic-bezier(0.625, 0.005, 0.175, 1.310);
    /* custom */
}

#searchboxForm.open {
    width: 175px;
}

#q {
    border: 1px solid #895E90;
    border-radius: 3px;
    color: #895E90;
    height: 30px;
    padding-left: 5px;
    font-size: 15px;
}

#q::-webkit-input-placeholder {
    color: #895E90;
    padding-top: 2px;
}

#q:-moz-placeholder {
    /* Firefox 18- */
    color: #895E90;
    padding-top: 2px;
}

#q::-moz-placeholder {
    /* Firefox 19+ */
    color: #895E90;
    padding-top: 2px;
}

#q:-ms-input-placeholder {
    color: #895E90;
    padding-top: 2px;
}

input.search-button {
    display: none;
}


/*----------------Magnifying Glass----------*/

#search {
    margin-top: 15px;
    cursor: pointer;
}

#search:active {}


/*-------------------------------------------------------------
						Body
-------------------------------------------------------------*/


/*--------------------------------Body Row*/

#body-row {
    margin-bottom: 50px;
    min-height: calc(100vh - var(--header-height) - var(--footer-height))
    /*height: 60vh; Fix for whitespace below footer?*/
}


/*@media (min-width: 990px) {
	#body-col {
		min-height: calc(100vh - 102px - 150px - 50px + -20px);
		The middle section of the page should always be at least the height of the screen minus the height of the header, footer, margin on the #body-row and 20px for adjustment
	}
}*/


/*-------------------------------------Slide Row*/

#slide-row {
    /*	position: absolute;
	top: 0px;*/
    margin-bottom: 20px;
}

#front-slide {
    margin: 0px auto;
    position: relative;
    z-index: 50;
}

#slide-caption,
.carousel-caption {
    position: absolute;
    z-index: 100;
    margin-right: 58px;
    background-color: #895E90;
    background-color: rgba(137, 94, 144, 0.85);
    padding: 40px 18px 22px 21px;
    left: initial;
    bottom: initial;
    right: 0px;
    top: 0px;
}

#slide-caption {
    display: none;
}

.carousel-caption {
    text-align: left;
    text-shadow: none;
}

h1.front,
.carousel-caption p:first-of-type {
    margin: 0px;
    padding: 0px;
    font-weight: 700;
    /*	padding-bottom: .25em;*/
    font-size: 34px;
    line-height: 1.2em;
    color: white;
}

#slide-caption p,
.carousel-caption p:last-of-type {
    font-weight: 300;
    margin-bottom: 22px;
    line-height: 1.2em;
    color: white;
    margin-top: 0px;
}

h3.front,
.carousel-caption a {
    font-size: 18px;
    line-height: normal;
    color: white;
}

button.front,
.carousel-caption a {
    color: white;
    font-weight: 700;
    border: 2px solid white;
    border-radius: 8px;
    padding: 15px 0px 22px;
    text-align: center;
    background-color: #895E90;
    max-width: 200px;
    max-height: 56px;
    box-sizing: border-box;
    margin: 0px auto;
    display: block;
}


/* ---------------------Index page Main Content*/

#featured-home-content h2 {
    font-size: 33px;
    color: #4f4f4f;
    margin-bottom: 9px;
    margin-top: 9px;
    text-align: center;
}

#featured-home-content h2 a {
    color: #4f4f4f;
    text-decoration: none;
}

@media (max-width: 767px) {
    #featured-home-content .column {
        padding-top: 20px;
    }
}

.icon-circle {
    border-radius: 100%;
    width: 98px;
    height: 98px;
    box-sizing: border-box;
    margin: 0px auto;
}

.icon-circle * {
    fill: #fff;
}

#learn.icon-circle {
    padding: 22px;
    background-color: #99B04A;
}

#network.icon-circle {
    background-color: #4B6494;
    padding: 24px 16px;
}

#join.icon-circle {
    background-color: #895E90;
    padding: 17px;
}

.icon-circle svg {
    fill: magenta;
    /*Just to make sure it works*/
}

h2.front {
    font-size: 33px;
    color: #4f4f4f;
    margin-bottom: 9px;
    margin-top: 9px;
    text-align: center;
}

a.button-links:hover {
    text-decoration: none;
}

.main-content {
    line-height: .7em;
}


/*--------------------------------------------------------------
						Footer
--------------------------------------------------------------*/

#footer-row {
    /*position: absolute;*/
    width: 100%;
    padding-left: 15px;
}

#footer-row * {
    color: white;
    font-size: 14px;
}

#footer-row p {
    margin-bottom: -24px;
    float: right;
    padding-top: 15px;
    text-align: right;
}

#footer-bg-container {
    position: absolute;
    background-color: #895E90;
    height: 100%;
    width: 100%;
    max-height: 150px;
}

#donation-row {
    position: absolute;
    top: 15px;
}

@media(max-width: 990px) {
    #donation-row {
        position: relative;
    }
}

#donation-row a {
    margin-right: 10px;
}

#donation-row button.front {
    font-size: 18px;
    padding: 15px 20px 22px;
    display: inline;
    cursor: pointer;
}

@media(max-width: 600px) {
    #donation-row a {
        margin-top: 10px;
        display: inline-block;
    }
}

@media(max-width: 500px) {
    #donation-row button.front {
        padding: 5px;
    }
}


/*--------------------------------------------------------------
						Utilities
--------------------------------------------------------------*/

.bold {
    font-weight: 700;
}

.italic {
    font-style: italic;
}

.z-50 {
    position: relative;
    z-index: 50;
}

.z-100 {
    position: relative;
    z-index: 99;
}

a.block-link {
    display: block;
}

a.inline-block-link {
    display: inline-block;
}

sup {
    vertical-align: super;
    font-size: .5em;
}


/*--------------------------------------------------------------
						Contact Page
--------------------------------------------------------------*/

#contact-form textarea {
    width: 100%;
}

#contact-form>.form-group>label {
    /*	float: right;*/
}


/*--------------------------------------------------------------
						CMS page styles
--------------------------------------------------------------*/

.cms-hidden {
    display: none;
}

input,
button,
select,
textarea
/*Overwrites Bootstraps line-height inheritence; makes backend inputs huge*/

{
    line-height: 14px;
}

.cms-hidden {
    display: none;
}

.title {
    margin: 2% 0 1%;
}


/*Contact Us Page*/

.contact-wrapper>input,
.contact-wrapper>textarea,
.contact-wrapper [placeholder],
input.captcha {
    /* 	padding: 6px;
	padding-left: .4em;
	margin: 0px auto;
	margin-bottom: 15px;
	border-radius: 3px;
	max-width: 250px;
	width: 75%;
	min-width: 275px;
	color: #333; */
}

.contact-wrapper>textarea {
    width: 100%;
    max-width: 650px;
    height: 200px;
    max-height: 500px;
    color: #333;
}

.submit.button {
    padding: 0px 18px;
}


/*@ placeholder text */

::-webkit-input-placeholder {
    color: #333;
}

:-moz-placeholder {
    /* Firefox 18- */
    color: #333;
}

::-moz-placeholder {
    /* Firefox 19+ */
    color: #333;
}

:-ms-input-placeholder {
    color: #333;
}


/* Footer links */

#footer-bg-container .social-list {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: center;
}

#footer-bg-container .social-list img {
    width: 40px;
}

.button-link {
    color: white;
    font-weight: bold;
    font-size: 18px;
    border: 2px solid;
    padding: .7em;
    border-radius: 8px;
}

.button-link:is(:hover, :focus) {
    color: white;
    text-decoration: underline;
}