body {
	font-family: 'Ubuntu', sans-serif;
	margin: 0;
    font-size: 16px;
    line-height: 20px;
}

html {
	height: 100%;
}

input, select, textarea {
    outline: 0;
    font-family: 'Ubuntu', sans-serif;
}

label[for] {
    cursor: pointer;
}

hr {
    border: 1px solid rgba(255,255,255,.7);
    width: 80px;
}

input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 2px 2px #bc1368;
}

input:focus,  textarea:focus {
    border-color: rgba(0,0,0,0);
}

input[disabled], textarea[disabled], input.locked, textarea.locked {
    background-color: rgba(0,0,0,0);
    border: 0;
    color: initial;
    font-size: inherit;
    resize: none;
}

textarea.small {
    height: 50px;
}

textarea {
    border: 1px solid #EDF3F8;
    padding: 5px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 80px;
    margin-right: 4px;
    width: 100%;
    resize: vertical;
    overflow: auto;
}

.ui-accordion .ui-accordion-content {
    height: auto!important;
}

.ui-widget.ui-widget-content {
    position: fixed!important;
}

a {
    color: inherit;
    transition: .3s;
}

a:hover {
   text-decoration: none;
}

a.headerLogo {
    display: flex;
}

h1, h2, h3, h4, h5 {
    line-height: normal;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
}

p.disclaimer {
    margin: 0;
    font-weight: 300;
    font-size: 12px;
}

body#tinymce {
    margin: 8px;
}

#urlTooltip {
    visibility: hidden;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -60px;
    opacity: 0;
    transition: opacity 0.3s;
    padding: 5px;
}

#urlTooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

#urlContainer {
    display: flex;
    align-items: flex-end;
    position: relative;
}

#urlContainer:hover #urlTooltip {
    visibility: visible;
    opacity: 1;
}

.processingOverlay {
    position: fixed;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,.7);
    z-index: 10;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    pointer-events: none;
}

.overlay {
    display: none;
}

#searchBlock .overlay {
    max-width: 880px;
    border-radius: 30px;
    margin: auto;
}

.processingSection {
    pointer-events: none;
    position: relative;
}

.processingSection .overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,.7);
    z-index: 10;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    pointer-events: none;
}

/* Container needed to position the hoverIconContainer. Adjust the width as needed */
.cmImagePreviewContainer {
    position: relative;
    margin-top: 10px;
    width: fit-content;
}

/* The hoverIconContainer effect (full height and width) - lays on top of the container and over the image */
.cmImagePreviewContainer .hoverIconContainer {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: .3s ease;
    background-color: rgba(0,0,0,0.4);
}

/* When you mouse over the container, fade in the hoverIconContainer icon*/
.cmImagePreviewContainer:hover .hoverIconContainer {
    opacity: 1;
}

/* The icon inside the hoverIconContainer is positioned in the middle vertically and horizontally */
.cmImagePreviewContainer .icon {
    position: absolute;
    top: 4px;
    right: 4px;
}

.hiddenFileInput {
    opacity: 0;
    /* cursor: pointer; */
    display: none;
    pointer-events: none;
}

.errorBox {
    position: fixed;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 10px;
    padding: 0 40px;
    margin: auto;
    width: 620px;
    left: 0;
    right: 0;
    top: 160px;
    box-sizing: border-box;
}

.errorBox p {
    color: #cc0000;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}

.popup {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 1000;
}

#postUpdatePopup {
    min-height: 600px;
    width: 800px;
    top: calc(50% - 300px);
    left: calc(50% - 400px);
}

.updatePopup {
    background-color: rgb(251,251,253) !important;
    color: rgb(0,0,0) !important;
    border: 1px solid rgba(199,60,128 , 0.15);
}

.popup .topBar {
    font-size: 20px;
    cursor: move;
    display: flex;
    justify-content: space-between;
}

.popup .insert {
    min-width: 30px;
    min-height: 0;
    float: right;
    margin: 10px;
}

.hidden {
    visibility:hidden!important;
}

.disableable {
    position: relative;
    overflow: hidden;
}

.disableable.disabled {
    pointer-events: none;    
}

.disableable.disabled.validateOnCLick {
    pointer-events: all;
}

.disableable.disabled::before {
    background-color: rgba(0, 0, 0, .6);
}

.disableable::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0);
    transition: .2s;
}

/*custom checkmark css || HTML: make label (checkmarkContainer) containing span (checkmark) and hidden checkbox input */
/* Customize the label (the container) */
.checkmarkContainer {
    display: block;
    position: relative;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */
.checkmarkContainer input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 25px;
    width: 25px;
    margin: auto;
    border: 1px solid rgba(0,0,0,0.2);
    background-color: rgba(93, 66, 147,0.85);
    color: rgba(255,255,255,.9);
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.checkmarkContainer input:checked ~ .checkmark {
    background-color: rgba(93, 66, 147 , 1);
    border: 1px solid rgba(93, 66, 147 , 1);
    color: rgba(255,255,255,1);
}
.checkmarkContainer:hover input ~ .checkmark {
    background-color: rgba(93, 66, 147,1);
    color: rgba(93, 66, 147,1);
}

/* Show the checkmark when checked */
.checkmarkContainer input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.checkmarkContainer .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.container {
	max-width: 880px;
	position: relative;
	display: block;
	margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
}

.container.donationSteps, .container.registrationSteps, #news.container {
    padding: 30px 40px;
}

.newsArticle.container {
    max-width: 1140px;
    border-bottom: 2px solid rgba(163,163,163,0.80);
}

.columns {
    display: flex;
    flex-direction: row;
}

.columns.wrap{
    flex-wrap: wrap;
}

.columns .third {
    width: 33%;
}

.columns .twoThirds {
    width: 66%;
}

.columns .half {
    width: 50%;
}

.columns .fullWidth {
    width: 100%;
}

.clearFix {
	clear: both;
}

.overflowHide { 
    height: 100%;
    width: 100%;
    overflow: hidden;
}

#header .container {
    background-color: rgba(255,255,255,1);
    display: flex;
    -webkit-box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
    box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
    width: 100%;
    justify-content: space-between;
    padding: 0 40px;
    z-index: 12;
    max-width: initial;
    box-sizing: border-box;
    max-width: 100%;
}

#header .school {
    background-color: #bc1368;
    display: flex;
    justify-content: flex-end;
    -webkit-box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
    box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
}

#header .school {   
    display: flex;
    justify-content: space-between;
}

#header .school h1 {
    margin: 0;
    color: #ffffff;
    font-weight: 400;
    padding: 10px 40px; 
}

#header .fillSpace {
    flex-grow: 1;    
}

#header .school img {
    height: 40px;
    padding: 10px 40px; 
}

#header a {
    text-decoration: none;
}

#header .logo {
    height: 47px;
    padding: 13px 0 10px;
}

#header .school .logout, #header .school .admin {
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    font-size: 16px;
    box-sizing: border-box;
}

#header .school .logout{
    border-left: 1px solid #ffffff;
}

#header .school .admin{
    border-right: 1px solid #ffffff;
}

#header .school .logout:hover, #header .school .admin:hover {
    background-color: rgba(0,0,0,0.2)
}

.menusContainer {
    display: flex;
    transition: .5s;
}

.menusContainer.mobile {
    display: none;
}

.userDetails {
	text-align: right;
    display: none;
}

ul.menu {
    display: flex;
}

.menu li.menu ul, .menu {
	padding-left: 0;
	margin: 0;
}

.menu li {
    list-style: none;
}

.menu li:nth-child(5n+1) {
    color: #452882;
}
.menu li:nth-child(5n+2) {
    color: #007cc8;
}
.menu li:nth-child(5n+3) {
    color: #049286;
}
.menu li:nth-child(5n+4) {
    color: #67a423;
}
.menu li:nth-child(5n+5) {
    color: #f6a201;
}
.menu li.sign {
    color: #c0136c;
}
.menu li.admin {
    color: #000;
}

.menu li a {
    text-decoration: none;
    color: inherit;
    text-align: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    transition: .5s;
    display: flex;
	cursor: pointer;
	position: relative;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    padding: 0px 15px;
}

.menu li a:hover:not(.selected) {
    background-color: rgba(0,0,0,0.1);
    box-shadow: inset 0px 0 10px 1px rgba(0,0,0,0.2);
}

/*
.menu li a::after {
    font-family: "Font Awesome 5 Pro";
    content: '\f105';
    position: absolute;
    right: 25px;
    bottom: 15px;
    font-size: 30px;
    transition: .5s;
    opacity: .7;
}
*/

/*
.menu li a.selected::after, .menu li a:hover::after {
    transform: rotate(90deg);
    opacity: 1;
}
*/

.menu li ul {
    display: none;
    z-index: 20;
    position: absolute;
    left: -1px;
    top: 40px;
    width: 220px;
}

.menu li:hover ul,.menu li ul:hover {
	display: block;
}

#faqsList {
    padding: 20px;
}

#footer {
    letter-spacing: -0.5px;
    position: relative;
}

#footer a {
    text-decoration: none;
}

#footer h3 {
    color: #bc1368;
    width: 100%;
}

#footer .container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    text-align: left;
    margin: auto;
    padding: 10px 40px 30px;
}

#footer .container .column {
    width: 35%;
}

#footer .container .column.right {
    border-left: 2px solid rgba(163,163,163,0.80);
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

#footer .socialIcons {
    color: #007cc8;
    font-size: 40px;
    width: calc(100% - 40px);
    display: flex;
    justify-content: center;
    margin-left: 40px;
    margin-bottom: 20px;
}

#footer .socialIcons a {
    margin: 0 10%;
}

#footer .logo {
    width: 220.5px;
    margin-top: 20px;
    margin-left: 40px;
}

#footer .contact {
    color: #5e4393;
    font-weight: 700;
    margin: 0;
}

#footer .address {
    margin-bottom: 0;
}

#footer.school {
    border-bottom: 15px solid #bc1368;
    -webkit-box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
    box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
}

#footer.school .container {
    padding: 40px 40px 20px;
    margin: auto;
}

#footer.school .container .column {
    width: auto;
}

#footer.school .container .column.middle {
    border-left: 2px solid rgba(163,163,163,0.80);
    box-sizing: border-box;
    padding-left: 20px;
}

#footer.school .container .column.middle h3 {
    margin: -20px 0 20px 0;
}

#footer.school .container .column.right {
    border: 0;
    justify-content: space-between;
    flex-grow: 1;
}

#footer.school .container .column.right .socialIcons {
    margin-top: 0;
}

#footer.school .container .column.left {
    justify-content: flex-start;
    align-items: center;
    display: flex;
    padding-right: 20px;
    flex-grow: 0;
}

#footer.school .container .column.left img {
    width: 240px;
}

.simpleButton {
    cursor: pointer;
    padding: 4px 10px;
    border-radius: 4px;
    transition: .2s;
    background-color: rgba(192,19,108,1);
    color: #fff;
    margin-top: 10px;
}

.simpleButton i {
    transition: .2s;
}

.simpleButton.iconRight i {
    margin: 0 2px 0 6px
}

.simpleButton.iconLeft i {
    margin: 0 6px 0 2px
}

.simpleButton a {
    text-decoration: none;
    color: initial;
}

/*
.simpleButton.iconLeft:not(.disabled):hover i {
    transform: translateX(-4px);
}

.simpleButton.iconRight:not(.disabled):hover i {
    transform: translateX(4px);
}
*/

.circle .button.go {
    width: 25%;
    position: absolute;
    right: 15%;
    bottom: -5%;
}

.circle.register .button.go {
    background-color: rgba(255,255,255,.6);
}

.circle.donate .button.go {
    background-color: rgba(40,40,40,0.60);
}

.circle.donate .button.go i, .emailList .button.go i {
    font-size: 36px;
    margin: 0 -10px 0 0;
}

.emailList .button.go {
    background-color: rgba(0,157,211,1);
    color: #fff;
    width: 18%;
    position: absolute;
    right: 100%;
    margin: auto;
    top: 0;
    bottom: 0;
    margin-right: 5px;
}

a.buttonLink {
    text-decoration: none;
    color: initial;
}


.button.go {
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: 300;
}

.button.go .arrowBorder {
    border-radius: 100%;
    border: 4px solid #fff;
}

.button.go i {
    font-size: 20px;
    margin: 3px 4px 3px 6px;
}

.locationSearch.button.go i {
    margin: 4px;
}

#newsFilters {
    background-color: #007cc8;
    padding: 10px 20px;
    display: flex;
    color: #ffffff;
    align-items: center;
    justify-content: space-between;
}

#newsFilters .types {
    display: flex;
}

#newsFilters .type {
    color: #007cc8;
    padding: 2px 10px;
    border-radius: 15px;
    margin: 5px;
    background-color: #ffffff;
    cursor: pointer;
    font-weight: 600;
    border: 2px solid #007cc8;
    transition: .3s;
}

#newsFilters .type.filterOn {
    border-color:#bc1368;
}

#news, #templates {
    padding: 30px 60px;
    max-width: 1600px;
    margin: auto;
}

.articles, .campignTemplates {
    display: flex;
    flex-wrap: wrap;
}

.articles .article {
    width: 30%;
    display: flex;
    flex-direction: column;
    -webkit-box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    -moz-box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    box-sizing: border-box;
    border-radius: 20px;
    text-align: left;
    overflow: hidden;
    margin-bottom: 50px;
}

#news .articles .article {
    border-top: 20px solid #bc1368;
    border-left: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
}

#templates .articles .article {
    border-top: 20px solid #5d4293;
    border-left: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
}

.articles .article:nth-child(3n - 1) {
    margin: 0 5% 50px;
}

.article .details {
    box-sizing: border-box;
    padding: 15px;
    height: 100%;
}

.article a {
    text-decoration: none;
}

.article .view {
    font-weight: 400;
    font-size: 14px;
    position: relative;
    text-decoration: none;
    color: #3A3939;
    display: block;
    background-color: #FAFAFA;
    border-top: solid 1px #DDDDDD;
    width: 100%;
    padding: 10px 15px;
    box-sizing: border-box;
    transition: all 0.25s;
    border-radius: 0 0 20px 20px;
}

.article .view i {
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 15px;
}

.article .details .newsImage img {
    max-width: 100%;
}

.newsArticle #content {
    text-align: left;
    padding: 20px 40px;
}

.newsArticle .pagetitle {
    margin: 0;
}

.newsArticle .summary {
    margin-top: 5px;
    margin-bottom: 22px;
    font-weight: 400;
    font-size: 18px;
    color: rgba(0,0,0,.54);
}

.newsArticle .articleImage {
    padding: 30px 0;
    text-align: center;
}

.newsArticle .articleImage img, .newsArticle #Content img {
    max-width: 100%;
    max-height: 700px;
    margin: auto;
    height: auto;
}

#searchBlock .button.go {
    background-color: #97ce4c;
    color: #5d4293;
    border-radius: 0 35px 35px 0;
    height: 100%;
    top: 0;
    width: auto;
    padding: 0 10px;
    position: absolute;
}

#searchBlock .button.go.locationSearch {
    border-radius: 0;
    left: 100%;
}

#searchBlock .button.go.schoolSearch {
    right: -110px;
}

#searchBlock .button.go .arrowBorder {
    border: 5px solid #5d4293;
}

.bannerImage {
    display: block;
    width: 100%;
}

.home .bannerContainer, .home .bannerContainer .overflowHide{
    max-height: 60vh;
}

.bannerContainer, .bannerContainer .overflowHide {
    position: relative;
    max-height: 50vh;
    overflow: hidden;
}

.establishment .bannerContainer .overflowHide, .establishment .bannerContainer {
    max-height: 45vh;
    overflow: inherit;
}

.bannerContainer .text {
    position: absolute;
    width: 100%;
    bottom: 0;
    text-align: center;
    color: #fff;
    font-size: 2em;
    padding: 20px 0 30px;
    font-weight: 500;
    z-index: 2;
    line-height: normal;
    box-sizing: border-box;
}

.bannerOverlay {
    position: absolute;
    bottom:-10px;
    width: 100%;
}

.bannerOverlay {
    height: 40%;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#bc1368+0,bc1368+37,bc1368+72,723582+93,723582+100&0+1,0.38+37,0.83+72,0.83+92,0.88+100 */
    background: -moz-linear-gradient(top, rgba(188,19,104,0) 0%, rgba(188,19,104,0) 1%, rgba(188,19,104,0.38) 37%, rgba(188,19,104,0.83) 72%, rgba(118,51,129,0.83) 92%, rgba(114,53,130,0.84) 93%, rgba(114,53,130,0.88) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(188,19,104,0) 0%,rgba(188,19,104,0) 1%,rgba(188,19,104,0.38) 37%,rgba(188,19,104,0.83) 72%,rgba(118,51,129,0.83) 92%,rgba(114,53,130,0.84) 93%,rgba(114,53,130,0.88) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(188,19,104,0) 0%,rgba(188,19,104,0) 1%,rgba(188,19,104,0.38) 37%,rgba(188,19,104,0.83) 72%,rgba(118,51,129,0.83) 92%,rgba(114,53,130,0.84) 93%,rgba(114,53,130,0.88) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00bc1368', endColorstr='#e0723582',GradientType=0 ); /* IE6-9 */
    mix-blend-mode: multiply;
    z-index: 1;
}

#map {
    width: 100%;
    height: 400px;
}

#content {
    position: relative;
}

.home #content, .register #content, .userArea #content {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#98cf4b+0,219587+100 */
    background: rgb(152,207,75); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(152,207,75,1) 0%, rgba(33,149,135,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(152,207,75,1) 0%,rgba(33,149,135,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(152,207,75,1) 0%,rgba(33,149,135,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#98cf4b', endColorstr='#219587',GradientType=0 ); /* IE6-9 */
    line-height: 1.5em;
}

.home #content.middle, #searchBlock {
    margin-top: 40px;
}

.home #content .steps {
    display: flex;
    justify-content: center;
    padding: 30px 0;
}

.home #content .step {
    width: 30%;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
}

.home #content .step .content {
    margin: 20px;
}

.home #content .step h3, .home #content .step p {
    margin: 0;
}

.home #content .step img {
    max-width: 100%;
    width: 60px;
    margin: 5px auto;
}


.home #content .step.two {
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
}

.home #content .arrow {
    position: absolute;
    height: 380px;
    opacity: .8;
    bottom: 40px;
}

.home #content .container .thin {
    width: 80%;
    margin: auto;
    color: #fff;
    padding: 30px 0;
}

.home #topStrip {
    padding: 30px 0;
    background: rgb(152,207,75); /* Old browsers */
    background: -moz-linear-gradient(bottom, rgba(152,207,75,1) 0%, rgba(33,149,135,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(bottom, rgba(152,207,75,1) 0%,rgba(33,149,135,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to top, rgba(152,207,75,1) 0%,rgba(33,149,135,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( endColorstr='#98cf4b', startColorstr='#219587',GradientType=0 ); /* IE6-9 */
    line-height: 1.5em;
    color: #ffffff;
}


.typical #content .background {
    text-align: left;
    padding: 20px;
    margin: 40px auto 50px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    -webkit-box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    -moz-box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    box-sizing: border-box;
    border-top: 20px solid #007cc8;
    border-left: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
}

.campaignsContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.admin .successMessage, .admin .errorMessage {
    padding: 6px 8px;
    box-shadow: 0px 0 2px -1px rgba(0,0,0,0.5);
    border-radius: 3px;
    position: fixed;
    z-index: 100;
    top: 5px;
    left: 5px;
}

.admin .successMessage *, .admin .errorMessage * {
    margin: 0;
}

.successMessage, .checkmarkContainer input:checked ~ .checkmark, .success {
    background-color: rgba(69,177,33 , 1);
    border: 1px solid rgba(69,177,33 , 1);
    color: #FFFFFF;
}

.errorMessage, .toBeDeleted, .error {
    background-color: rgba(255,0,0 , 0.7) !important;
    border: 1px solid rgba(255,0,0 , 1) !important;
    color: #FFFFFF;
}

.admin .button {
    text-align: center;
    text-shadow: 0px 1px 0px rgba(18,18,18,0.40);
    transition: all 0.3s ease;
    font-weight: 500;
    font-size: 16px;
    position: relative;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    padding: 6px 15px;
    min-width: 100px;
    min-height: 36px;
    border-radius: 4px;
    box-sizing: border-box;
    box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.05);
    text-decoration: none;
    border-style: none;
    border-width: 0px;
    line-height: 21px;
    white-space: nowrap;
    display: inline-block;
    overflow: hidden;
}

.admin .button.small {
    min-width: 0;
    min-height: 0;
    padding: 2px 6px;
    font-size: 11px;
    height: 26px;
}

.admin .notice {
    display: none;
    text-align: center;
    padding: 20px;
}

.admin .bottomBar.fixed {
    width: 100%;
    position: fixed;
    bottom: 0;
    box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 5px -1px;
    z-index: 100;
    padding: 12px 40px;
    left: 0;
    box-sizing: border-box;
    text-align: left;
    border-top: 1px solid rgba(188,19,104,.5);
    background-color: rgba(0,0,0,.6);
    display: flex;
    justify-content: space-between;
}

.admin .bottomBar.fixed .button {
    background-color: rgba(188,19,104,1.00);
}

.admin #content .details .row {
    margin-bottom: 10px;
    align-items: center;
}

.admin #content .details .row > * {
    margin: 0!important;
}

.admin.popup .topBar {
    font-size: 20px;
    cursor: move;
    display: flex;
    justify-content: space-between;
}

.admin.popup h5 {
    padding: 10px 15px;
    margin: 0;
    display: inline-block;
}

.admin.popup .cancelPopup {
    padding: 10px 15px;
    cursor: pointer;
    display: inline-block;
}

.admin.popup .insert, .popup .done {
    float: right;
    margin: 10px;
}

.admin.popup .button {
    min-width: 30px;
    min-height: 0;
}

.admin .updatesList {
    text-align: left;
}

.admin .updatePopup textarea {
    width: calc(100% - 40px);
    margin: 0 20px;
}

.admin .updatesList .update {
    padding: 10px;
    border-radius: 10px;
    position: relative;
    margin: 20px 0;
}

.admin .updatesList .update .text {
    font-size: 22px;
}

.admin .updatesList .update .date {
    font-size: 14px;
    margin-top: 10px;
}

.admin .updatesList .removeUpdate {
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 16px;
    cursor: pointer;
}

.admin #content .row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

.admin.home #content .row {
    justify-content: space-around;
    align-items: initial;
}

.admin #content .row p {
    margin:0;
}

.admin p.subText {
    margin: 0;
    font-size: 12px;
    color: #999;
}

.admin .browser .uploader .dropzone {
    text-align: center;
    height: 100%;
    position: relative;
    display: flex;
    align-content: flex-start;
    cursor: pointer;
    flex-wrap: wrap;
    background-color: transparent;
    border-radius: 50px;
    box-sizing: border-box;
    border: 1px solid #bc1368;
}

.admin .small.browser .dropzone {
    min-height: 90px;
}

.admin .browser .uploader .dropzone .dropzoneText {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 290px;
    pointer-events: none;
}
.admin .small.browser .dropzoneText {
    height: 60px !important;
}

.admin .small.browser .uploader .dropzone .fas {
    font-size: 20px;
}

.admin .browser .uploader .dropzone .fa-arrow-alt-up {
    position: absolute;
    top: 0;
    z-index: 1;
    right: 0px;
    left: 0;
}

.admin .browser .uploader .dropzone .fas {
    font-size: 100px;
    transition: 0.5s;
}

.admin .small.browser .uploader .dropzone .fa-hdd {
    margin-top: 15px;
}

.admin .small.browser .uploader .dropzone .fas {
    font-size: 20px;
}

.admin .small.browser .uploader .dropzone:hover .fa-arrow-alt-up {
    top: -5px;
}
.dropzoneText .fas {
    color: rgba(199,60,128 , 0.5);
}
        
.dropzone:hover .dropzoneText .fas {
    color: rgba(199,60,128 , 0.8);
}
.small.browser .uploader .dropzone .fa-arrow-alt-up:after {
    font-size: 30px;
    top: -7px;
}
.browser .uploader .dropzone .fa-arrow-alt-up:after {
    content: '\f357';
    position: absolute;
    top: -17px;
    z-index: -1;
    right: 0px;
    left: 0;
    color: #fff;
    font-size: 120px;
}

.admin #campaignImages .columns {
    justify-content: center;
}

.admin #content .row a {
    text-decoration: none;
}

.admin #content label {
    font-size: 14px;
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
}

.admin input {
    padding: 5px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: auto;
    margin-right: 4px;
    border: none!important;
    -webkit-box-shadow: inset 0 0 1px 0px rgba(0,0,0,0.45);
    -moz-box-shadow: inset 0 0 1px 0px rgba(0,0,0,0.45);
    box-shadow: inset 0 0 1px 0px rgba(0,0,0,0.45);
    max-width: 100%;
}

.locked {
    pointer-events: none;
    position: relative;
}

input.locked {
    background-color: rgba(87,89,98,0.3);
}

.locked::before {
    content: ' ';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.6);
    left: 0;
    top: 0;
}

.admin .sectionTitle {
    padding: 5px 10px;
    margin: 0;
    border-bottom: 1px solid transparent !important;
    margin-bottom: -2px !important;
    z-index: 2;
    position: relative;
    display: inline-block !important;
    border-radius: 4px 4px 0 0;
    font-size: 14px;
    font-weight: 600;
    background-color: #fff;
    color: #000;
}

.admin #content .rows {
    padding: 20px;
    margin: 0 auto 40px;
    box-sizing: border-box;
    background-color: #fff;
    color: #000;
    -webkit-box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    -moz-box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    position: relative;
    border-radius: 30px;
}

.admin #content .rows.details {
    text-align: left;
}

.admin #content .adminButton {
    width: 200px;
    height: 200px;
    border-radius: 70px;
    box-sizing: border-box;
    position: relative;
    padding: 20px;
    color: #fff;
    justify-content: center;
    align-items: center;
    display: flex;
    font-weight: 700;
    font-size: 26px;
    transition: all 0.3s ease-in-out;
    -webkit-box-shadow: inset 0 0 15px 0px rgba(0,0,0,.5);
    -moz-box-shadow: inset 0 0 15px 0px rgba(0,0,0,.5);
    box-shadow: inset 0 0 15px 0px rgba(0,0,0,.5);
}

.admin #content .adminButton:after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    opacity: 0;
    border-radius: 70px;
    -webkit-box-shadow: inset 0 0 60px 0px rgba(0,0,0,.5);
    -moz-box-shadow: inset 0 0 60px 0px rgba(0,0,0,.5);
    box-shadow: inset 0 0 60px 0px rgba(0,0,0,.5);
    transition: opacity 0.3s ease-in-out;
}

.admin #content a .adminButton:hover {
    transform: scale(1.1, 1.1);
}

.admin #content a .adminButton:hover::after {
    opacity: 1;
}

.admin #content .adminButton.newCamp {
    background-color: rgba(246,162,1,1.00);
}

.admin #content .adminButton.dashboard {
    background-color: rgba(103,164,35,1.00);
}

.admin #content .adminButton.liveCamp {
    background-color: rgba(4,146,134,1.00);
}

.admin #content .adminButton.request {
    background-color: rgba(0,124,200,1.00);
}

.admin #content .adminButton.toolkit {
    background-color: rgba(192,19,108,1.00);
}

.admin #content .adminButton.details {
    background-color: rgba(69,40,130,1.00);
}

.admin #content.campaigns {
    padding-bottom: 40px;
}

.admin #content.campaigns .rows {
    padding: 10px 20px;
}

.admin .styledTable tbody tr:hover {
	box-shadow: 0px 0 4px -1px rgba(0,0,0,0.2);
	background-color: rgba(0,0,0,0.05);
}

.admin .styledTable tbody tr:hover td:first-child:before {
	content: ' ';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
}

.admin .styledTable th, .section .styledTable td {
	padding: 8px;
	vertical-align: middle;
	text-align: left;
	font-weight: 400;
	position: relative;
}

.admin .styledTable th {
	font-weight: 600;
}

.admin .styledTable tr td .button {
	margin-right: 10px;
	font-weight: 600;
}

.admin .styledTable tr td .button:only-child {
    margin-right:0px;
}

.admin .styledTable tbody tr {
	cursor: pointer;
	overflow: hidden;
}

.admin .styledTable .featured {
    position:absolute;
    top:0;
    bottom:0;
    margin:auto 4px;
    font-size:8px;
    line-height:8px;
    height:10px;
}

#userForm .rows .row p {
    width: 100%;
}

#userForm .rows .row input {
    width: 95%;
}

.home.establishment #content, .donate.establishment #content, .admin #content {
    padding: 180px 40px 50px;
}

.campaign.establishment #content .left, .campaign.establishment #content .right {
    padding: 180px 0 90px;
    min-height: 580px;
}

.establishment #content .campaignStats.section.campaign, .establishment #content .donationStep.show, .registrationStep.show, #content .login {
    padding: 30px;
    margin: 40px auto;
    display: flex;
    box-sizing: border-box;
    background-color: #fff;
    color: #000;
    -webkit-box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    -moz-box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    box-shadow: 5px 5px 0px 0px rgba(0,0,0,0.35);
    position: relative;
    border-radius: 30px;
}

.establishment #content .campaignStats.section.campaign {
    width: 48%;
}

.establishment #content .donationStep.show, .registrationStep, #content .login {
    flex-direction: column;
}

.establishment #content .donationStep, .registrationStep {
    display: none;
}

.establishment #content .campaignStats.section.campaign .details {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.establishment #content .donationStep.payment {
    margin-bottom: 10px;
}

.establishment #content .donationStep.payment > div {
    text-align: left;
}

.establishment .bannerOverlay {
    height: 100%;
}

.establishment .bannerContainer .container {
    background-color: rgba(253,254,255, 0.8);
    -webkit-box-shadow: 0px 13px 11px -10px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 13px 11px -10px rgba(0,0,0,0.75);
    box-shadow: 0px 13px 11px -10px rgba(0,0,0,0.75);
    left: 0;
    right: 0;
    position: absolute;
    top: 20px;
    z-index: 1;
    border-radius: 20px;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    /* IE10+ CSS */
    .establishment .bannerContainer .container {
        margin-bottom: -100px;
        position: relative;
    }
}

@supports (-ms-accelerator:true) {
    /* Edge 12+ CSS */ 
    .establishment .bannerContainer .container {
        margin-bottom: -100px;
        position: relative;
    }
}

@supports (-ms-accelerator:true) {
    /* Edge 12+ CSS */ 
    .establishment .bannerContainer .container {
        margin-bottom: -100px;
        position: relative;
    }
}

@supports (-ms-ime-align:auto) {
    .establishment .bannerContainer .container {
        margin-bottom: -100px;
        position: relative;
    }
}

.establishment #content .campaignsContainer .donation-meter .glass {
    height: 190px;
}

.establishment #content .campaignsContainer .dateImageContainer {
    display: flex;
}

.establishment #content .campaignsContainer .dateImageContainer .dates {
    margin-right: 10px;
    margin-top: 0;
}

.establishment #content .campaignsContainer h2, .establishment #content .donationStep h2, .registrationStep h2  {
    margin-top: 0;
}

.establishment .downloadsList {
    display: flex;
    flex-wrap: wrap;
}

.establishment .downloadItem {
    width: calc(100%/3 - 20px);
    margin: 10px;
}

.establishment .fileImage {
    max-width: 100%;
    margin: 10px;
}

.home #content .details .row {
    display: block;
}

.donationStep.payment > div {
    margin: 5px 0;
}

.donationStep.payment #cardName {
    width: 50%;
}

.donationStep.payment #cardNumber {
    width: 22%;
}

.donationStep.payment #cardExpiry {
    width: 7%;
}

.donationStep.payment #cardCVC {
    width: 6%;
}

.donationStep.payment .numberAndType {
    position: relative;
}

.donationStep.payment #detectedCardType {
    display: inline-flex;
    align-items: center;
    margin-left:10px;
}

.donationStep.payment #detectedCardType i {
    margin-right: 5px;
}

.campaignsContainer .details {
    width: 100%;
}

.campaignsContainer .campaign .button {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 5px;
    padding: 4px 10px;
    box-sizing: border-box;
    margin-top: 10px;
    font-size: 1.2em;
    cursor: pointer;
    transition: .2s;
}

.campaignsContainer .campaign .button i {
    transition: .2s;
    margin-right: 5px;
}

.campaignsContainer .campaign .button:hover i {
    transform: translateX(4px);
}

.campaignsContainer .campaign .image {
    width: 100%;
    height: 200px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.bannerContainer .schoolLogo {
    padding: 10px 0;
    margin: auto;
    max-height: 100px;
}

.campaign .bannerContainer {
    max-height: 45vh;
}

#content .login a {
    text-decoration: none;
}

.registrationSteps {
    color: #fff;
}

.registrationStep .row, #content .login .row {
    display: flex;
    justify-content: space-between;
}

.registrationStep .row #esLogoPreview {
    max-width: 100%;
    max-height: 400px;
    margin: 10px auto;
}

.registrationStep .row .column {
    flex-direction: column;
    text-align: left;
}

.registrationStep .row .column .localLogo {
    display: inline-block;
    position: relative;
}

.registrationStep .row > *, #content .login .row > * {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    padding: 10px 10px;
}

.registrationStep .row input, .registrationStep .row select, #content .login input {
    width: 100%;
    box-sizing: border-box;
    padding: 2px 5px;
}

.registrationStep .columns .half input {
    width: 100%;
}

.registrationStep .row label, #content .login label {
    text-align: left;
}

.registrationStep .checkableContainer .checkmarkContainer {
    margin-left: 10px;
}

.donationStep.message p, .donationStep.confirmation p {
    text-align: left;
    margin: 10px 0;
    min-height: 28px;
}

.donationStep.message label, .donationStep.confirmation label, .registrationStep label, #content .login label {
    display: block;
    font-size: 14px;
    line-height: 1.6em;
    margin-bottom: 5px;
}

.donationStep label[for='dnAnonymous'], .donationStep label[for='tcsAgree'] {
    margin-right: 20px;
}

.checkableContainer {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.checkableContainer label {
    max-width: calc(100% - 37px);
}

form .navButtons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    flex-wrap: wrap;
}

.donationSteps .amount > div {
    display: flex;
    margin: 2px auto;
    width: 20%;
    justify-content:space-between;
    align-items: center;
    height: 27px;
}

.donationSteps .amount .customContainer {
    justify-content: center;
}

.donationSteps .amount #customAmount {
    min-width: 24px;
    margin-left: 4px;
    max-width: 100%;
    padding: 2px 5px;
}

.donationSteps #dnMessage {
    width: 100%;
    box-sizing: border-box;
    resize: none;
    height: 94px;
}

.donationStep .columns > div, .registrationStep .columns > div {
    text-align: left;
    box-sizing: border-box;
    padding: 0 20px;
}

.donationStep .columns > div:first-child, .registrationStep .columns > div:first-child {
    padding-left: 0;
}

.donationStep .columns > div:last-child, .registrationStep .columns > div:nth-child(2) {
    padding-right: 0;
}
.registrationStep .columns > div:last-child {
    padding: 0;
}

.donationStep.confirmation .dnMessage {
    width: 100%;
}

.donationStep.confirmation .dnAmount {
    margin-left: 3px;
}

.donationStep.confirmation #donationEmail {
    padding: 2px;
    border: 1px solid #000;
    width: 100%;
    box-sizing: border-box;
}

.donationStep .paymentDetails #detectedCardType {
    text-transform: capitalize;
    font-size: 14px;
    display: flex;
    align-items: center;
}

.donationStep .paymentDetails #detectedCardType .typeIcon {
    margin: 0 10px;
    font-size: 23px;
}

.donationStep .paymentDetails .numberAndType {
    display: flex;
    align-items: center;
}

#content.campaign {
    display: flex;
    min-height: 620px;
}

#content.campaign h2 {
    margin: 0;
}

#content .details h2 {
    color: rgba(0,157,211,1);
}

#content .details .dates {
    display: inline-flex;
    flex-direction: column;
    margin: 10px 0 30px;
}

#content .details .dates > div {
    padding: 5px 20px 5px 7px;
    color: #fff;
    font-weight: 500;
    margin: 2px 0;
    white-space: nowrap;
    border-radius: 10px;
}

#content .details .dates > div:first-child {
    margin-top: 0;
}

#content .details .dates > div:last-child {
    margin-bottom: 0;
}

#content .details img {
    max-width: 100%;
    max-height: 260px;
}

#content .details .description {
    color: #5f5f5f;
    font-size: 0.9em;
    margin: 10px 0 10px;
}

#content .details .emailList {
    position: relative;
    margin-bottom: 30px;
}

#content .details .row {
    display: flex;
    flex-direction: row;
    margin-bottom: 40px;
}

#content .details .row > div {
    margin: 0;
}

#content .details .row  .description {
    margin-left: 20px;
    word-break: break-word;
}

#content.campaign .left {
    flex: 1 0 auto;
    padding: 60px 0 0;
    background-color: #fff;
}

#content.campaign .donation-meter{
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    width: 120px;
    top: 280px;
}

#content.campaign .right {
    background-color: #e2e2e2;
    flex: 1 0 auto;
    padding: 110px 0 0;
}

#content.campaign .details, #content.campaign .donations {
    width: 420px;
    margin: auto;
    box-sizing: border-box;
}

#content.campaign .details {
    margin-right: 0;
    padding-right: 120px;
}

#content.campaign .details .donateLink {
    text-decoration: none;
}

#content.campaign .details .donate {
    display: inline-flex;
    border-radius: 5px;
    padding: 5px 20px 5px 7px;
    align-items: center;
    margin: 20px auto;
    font-weight: 600;
    font-size: 18px;
    transition: .1s;
    background-color: rgba(237,27,62,1);
    color: rgba(255,255,255,1);
    -webkit-box-shadow: 5px 5px 0px 0px rgba(237,27,62,0.35);
    -moz-box-shadow: 5px 5px 0px 0px rgba(237,27,62,0.35);
    box-shadow: 5px 5px 0px 0px rgba(237,27,62,0.35);
}

#content.campaign .details .donate:hover {
    background-color: rgba(237,27,62,1);
    -webkit-box-shadow: 1px 1px 1px 1px rgba(237,27,62,0.35);
    -moz-box-shadow: 1px 1px 1px 1px rgba(237,27,62,0.35);
    box-shadow: 1px 1px 1px 1px rgba(237,27,62,0.35);
}

#content.campaign .details .update {
    padding: 10px;
    margin-bottom: 30px;
    background: rgba(0,157,211,.2);
    font-weight: 500;
    font-size: 0.9em;
    text-transform: uppercase;
    border-radius: 10px;
}

#content.campaign .details .update .message {
    font-weight: 300;
    font-size: 0.8em;
    text-transform: initial;
}

#content.campaign .donations {
    margin-left: 0;
    padding-left: 100px;
    display: flex;
    flex-direction: column;
}

.schoolsList {
    max-height: 400px;
    margin-right: 5px;
}

.donationsList {
    margin-top: 30px;
}

.donationsList, .schoolsList {
    overflow-y: auto;
}

/* width */
.donationsList::-webkit-scrollbar, .schoolsList::-webkit-scrollbar {
    width: 10px;
}

/* Track */
.donationsList::-webkit-scrollbar-track {
    background: rgba(0,157,211,.2);
    border-radius: 10px;
}
.schoolsList::-webkit-scrollbar-track {
    background: rgba(255,255,255,.2);
    border-radius: 10px;
}

/* Handle */
.donationsList::-webkit-scrollbar-thumb {
    background: rgba(0,157,211,.7);
    border-radius: 10px;
}
.schoolsList::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.7);
    border-radius: 10px;
}

/* Handle on hover */
.donationsList::-webkit-scrollbar-thumb:hover {
    background: rgba(0,157,211,1);
}
.schoolsList::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,1);
}

.schoolsList .school {
    cursor: pointer;
    padding: 20px 5px;
    border-bottom: 1px solid rgba(0,0,0,.4);
    margin: 5px 5px 5px 0px;
}

.donationsList .donation {
    padding: 20px 0;
    border-bottom: 1px solid rgba(0,0,0,.4);
    margin: 5px 5px 5px 0px;
}

.donationsList .donation:first-of-type, .schoolsList .school:first-of-type {
    border-top: 1px solid rgba(0,0,0,.4);
}

.school.selected {
    background-color: rgba(255,255,255,.5);
}

#searchBlock .listing .scrollList {
    width: 33%;
}

#searchBlock .listing .mapContainer {
    width: 66%;
}

.schoolsList .school .name {
    color: #ffffff;
}

.donationsList .donation .name {
    color: rgba(0,157,211,1);
}

.donationsList .donation .name, .schoolsList .school .name {
    font-weight: 500;
    padding-right: 30%;
}

.donationsList .donation .message, .schoolsList .school .message {
    color: #5f5f5f;
    font-size: 0.9em;
    margin: 10px 0;
    padding-right: 30%;
}

.donationsList .donation .amount, .schoolsList .school .amount {
    font-size: 1.6em;
    font-weight: 300;
    padding-right: 30%;
    margin-top: 20px;
}

img.whiteLogoIcon {
    max-width: 160px;
}

#searchBlock {
    position: relative;
}

.arrow {
    position: absolute;
    height: 380px;
    opacity: .8;
    bottom: 40px;
}

#searchBlock .schoolSearchText {
    border: 0;
    background-color: #fff;
    border-radius: 35px 0 0 35px;
    color: #313131;
    width: 100%;
    padding: 18px 10px 18px 20px;
    box-sizing: border-box;
    font-size: 18px;
}

#searchBlock h2 {
    margin: 0 20px 30px;
    max-width: calc(70% - 40px);
}

#searchBlock .inputBox {
    width: calc(70% - 100px);
    position: relative;
}

#searchBlock input.schoolSearchText:focus {
    box-shadow: inset 0 0 1px 1px #bc1368;
}

#searchBlock .container {
    padding: 60px 40px 50px;
    background-color: #5d4293;
    color: #fff;
    text-align: left;
    border-radius: 30px;
    -webkit-box-shadow: 5px 5px 0px 0px rgba(93,66,147,0.35);
    -moz-box-shadow: 5px 5px 0px 0px rgba(93,66,147,0.35);
    box-shadow: 5px 5px 0px 0px rgba(93,66,147,0.35);
    box-sizing: border-box;
}

#searchBlock .searching {
    border-radius: 30px 30px 0 0;
    border-bottom: 5px solid #392266;
    transition: .3s;
}

#searchBlock .listing {
    margin-top: 0;
    border-radius: 0 0 30px 30px;
    -webkit-box-shadow: 5px 5px 0px 0px rgba(132,108,180,0.35);
    -moz-box-shadow: 5px 5px 0px 0px rgba(132,108,180,0.35);
    box-shadow: 5px 5px 0px 0px rgba(132,108,180,0.35);
    background-color: rgba(132,108,180,1.00);
}

#searchBlock .mapGraphic {
    position: absolute;
    height: 86%;
    right: 10%;
    top: 7%;
}

#esDetails .container {
    padding: 60px 40px 50px;
    margin: 40px auto;
    text-align: left;
    border-radius: 30px;
    box-sizing: border-box;
}

#blocks {
    display: flex;
}

#blocks a {
    text-decoration: none;
    color: #fff;
    width: 100%;
}

#blocks .featuredBlock {
    width: 100%;
    height: 100%;
    text-align: center;
}

#blocks .featuredBlock .text {
    font-size: 1.4em;
/*    width: 80%;*/
    width: 100%;
    position: relative;
    box-sizing: border-box;
/*    padding-right: 20px;*/
}

/*
#blocks .featuredBlock.left .text{
    text-align: right;
}

#blocks .featuredBlock.right .text {
    text-align: left;
}
*/

#blocks .featuredBlock .text h3 {
    margin: 0;
}

#blocks .featuredBlock .text p {
    font-size: 0.7em;
    font-weight: 300;
}

#blocks .featuredBlock.left {
    background-color: #bc166c;
}

#blocks .featuredBlock.right {
    background-color: #5d4293;
}

#blocks .featuredBlock .image {
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 350px;
    -webkit-box-shadow: 0px 0px 18px 1px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 18px 1px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 18px 1px rgba(0,0,0,0.75);
}

#blocks .content {
    display: flex;
    align-items: flex-start;
    /*half of .container width*/
    margin: auto;
    position: relative;
    box-sizing: border-box;
    padding: 40px 20%;
    line-height: normal;
}

#blocks .button.go {
    margin-right: 10px;
}

#blocks .featuredBlock.left .content {
/*    margin-right: 0;*/
}

#blocks .featuredBlock.right .content {
/*    margin-left: 0;*/
/*    justify-content: flex-end;*/
    justify-content: center;
}

#blocks .featuredBlock .button.go {
    position: absolute;
    right: 100%;
}

.circle {
    position: absolute;
    border-radius: 100%;
    width: 200px;
    height: 200px;
    color: #fff;
    -webkit-box-shadow: 0px 0px 43px 28px rgba(0,0,0,0.13);
    -moz-box-shadow: 0px 0px 43px 28px rgba(0,0,0,0.13);
    box-shadow: 0px 0px 43px 28px rgba(0,0,0,0.13);
    text-align: center;
    margin: auto;
    line-height: normal;
    z-index: 1;
}

.donate.circle {
    left: 0;
    right: 0;
    cursor: pointer;
}

.campaign .donate.circle {
    bottom: -100px;
}

.home .donate.circle {
    bottom: -80px;
}

.register.circle {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#c0136c+0,271c3e+100 */
    background: rgb(192,19,108); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(192,19,108,1) 0%, rgba(39,28,62,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(192,19,108,1) 0%,rgba(39,28,62,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(192,19,108,1) 0%,rgba(39,28,62,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c0136c', endColorstr='#271c3e',GradientType=0 ); /* IE6-9 */
    top: 0;
    bottom: 0;
    left: 15%;
    z-index: 2;
}

.circle .upper {
    margin-top: 36px;
    font-weight: 700;
    border-bottom: 1px solid rgba(255,255,255,.6);
    display: inline-block;
    font-size: 36px;
    padding: 0 10% 10px;
}

.circle .central {
    font-size: 32px;
    font-weight: 700;
    padding: 50px 0;
}

.circle .central span {
    border-bottom: 1px solid rgba(255,255,255,.6);
}

.circle .lower {
    font-weight: 300;
    font-size: 18px;
    padding: 5px 10%;
}

#imageGallery {
	display: flex;
	flex-wrap: wrap;
	padding: 0 4px;
}

#imageGallery .column {
	flex: 25%;
	max-width: 25%;
	padding: 0 4px;
	box-sizing: border-box;
}

#imageGallery .column img, #imageGallery .column iframe {
	margin-top: 8px;
	vertical-align: middle;
	width: 100%;
    box-sizing: border-box;
    border: 0;
}

.grid-item {
  float: left;
  width: 80px;
  height: 60px;
  border: 2px solid hsla(0, 0%, 0%, 0.5);
}

#imageGallery .image {
	position: relative;
}

#imageGallery .image .details {
	position: absolute;
	bottom: 0;
	margin: auto;
	display: none;
	padding: 5px;
	background-color: rgba(37,37,37,0.9);
	color: #FFFFFF;
}

#imageGallery .image .details ul {
	padding-left: 0;
	margin-top: 0;
}

#imageGallery .image .details ul li {
	float: left;
	margin: 0 16px;
}

#imageGallery .image:hover .details {
	display: block;
}

.registrationStep .row .regType {
    color: #ffffff;
    font-weight: 500;
    margin: 20px;
    cursor: pointer;
    -webkit-box-shadow: inset 0px 0px 0px 0px rgba(255,255,255,0);
    -moz-box-shadow: inset 0px 0px 0px 0px rgba(255,255,255,0);
    box-shadow: inset 0px 0px 0px 0px rgba(255,255,255,0);
    transition: .3s;
    border-radius: 15px;
}

.registrationStep .row .regType:hover {
    -webkit-box-shadow: inset 0px 0px 2px 2px rgba(255,255,255,0.6);
    -moz-box-shadow: inset 0px 0px 2px 2px rgba(255,255,255,0.6);
    box-shadow: inset 0px 0px 2px 2px rgba(255,255,255,0.6);
}

.regType.staff {
    background-color: #452882;
}

.regType.parent {
    background-color: #007cc8;
}

.campignTemplates .template {
    width: 30%;
    padding: 20px 30px;
    background-color: #5d4293;
    color: #fff;
    border-radius: 30px;
    -webkit-box-shadow: 5px 5px 0px 0px rgba(93,66,147,0.35);
    -moz-box-shadow: 5px 5px 0px 0px rgba(93,66,147,0.35);
    box-shadow: 5px 5px 0px 0px rgba(93,66,147,0.35);
    box-sizing: border-box;
    text-align: center;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-bottom: 30px;
}

.campignTemplates .template .image, .articles .article .image {
    width: 100%;
    height: 210px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.campignTemplates .template:nth-child(3n - 1) {
    margin: 0 5% 30px;
}

.campignTemplates .template img {
    max-width: 100%;
    max-height: 300px;
}

.campignTemplates .template .name, .campignTemplates .template .information {
    text-align: left;
}

.campignTemplates .template .button {
    border-radius: 20px;
    margin: 20px auto;
    background-color: #ffffff;
    color: #000000;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
    display: inline-block;
    cursor: pointer;
}

#menuToggle {
    display: none;
    justify-content: center;
    align-items: center;
    margin-right: 30px;
}

#fixedHeaderSpacer {
    display: none;
}

@media screen and (max-width: 1100px) {
    #header .logo {
        padding: 20px 10px 20px 0;
    }
    .menu li a {
        padding: 0 10px;
    }
    
    .articles .article {
        width: 47%;
    }
    
    .articles .article:nth-child(3n - 1) {
        margin: initial;
    }
    
    .articles .article:nth-child(2n) {
        margin: 0 0 50px 6%;
    }

}


@media screen and (max-width: 1000px) {
  #imageGallery .column {
    flex: 50%;
    max-width: 50%;
  }
}

@media screen and (max-width: 880px) {
    body {
        font-size: 15px;
    }
    
    .admin #content .details .row {
        flex-direction: column;
        margin: 5px auto;
    }
    
    .admin #content .details .row > * {
        width: 100%;
    }
    
    #footer.school .container {
        flex-direction: column;
        align-items: center;
    }
    
    #footer.school .container .column.middle {
        border-left: 0;
        border-top: 2px solid rgba(163,163,163,0.80);
        border-bottom: 2px solid rgba(163,163,163,0.80);
        padding: 10px;
        margin: 20px auto;
    }
    
    #footer.school .container .column.left {
        padding: 0;
        justify-content: center;
    }
    
    #footer.school .container .column.middle h3 {
        margin: initial;
    }
    
    #footer.school .logo {
        margin: 0;
    }
    
    #footer.school .container .column {
        width: 100%;
        text-align: center;
    }
    
    #footer.school .container .column.right {
        justify-content: center;
        flex-direction: column-reverse;
    }

    #footer.school .container .column.right .socialIcons {
        margin: 0 auto 20px;
    }
    
    .bannerContainer .container {
        margin: auto 40px;
    }
    
    #content .container {
        padding: 30px 40px;
    }
    
    #content .container.donationSteps {
        padding: 0;
    }
    
    #content.campaign {
        flex-direction: column;
    }
    
    #content.campaign .donation-meter {
        position: initial;
        margin: -60px auto -240px;
    }
    
    .campaign.establishment #content .right {
        padding: 260px 0 90px;
    }
    
    #content.campaign .details, #content.campaign .donations {
        margin: auto;
        padding: 20px;
        width: 100%;
    }
    
    #content .details .dates {
        flex-direction: row;
        width: 100%;
        flex-wrap: wrap;
    }
    
    #content .details .dates > div {
        margin-right: 20px;
    }
    
    #header {
        position: fixed;
        width: 100%;
        z-index: 32;
    }
    
    .admin #content .adminButton {
        width: 150px;
        height: 150px;
        border-radius: 50px;
    }
    
    ul.menu.admin {
        flex-direction: row;
        justify-content: space-between;
    }
    
    .articles .article {
        width: 100%;
    }
    
    .articles .article:nth-child(2n) {
        margin: 0 0 50px;
    }
    
    .home #topStrip {
        padding: 30px 20px;
    }
    
    #searchBlock {
        margin: 20px 40px;
    }
    
    #searchBlock .container {
        padding: 60px 20px 50px;
    }
    
    #searchBlock .inputBox {
        width: 60%;
    }
    
    #searchBlock .mapGraphic {
        height: 74%;
        right: 3%;
        top: 13%;
    }
    
    #searchBlock .listing .columns {
        flex-direction: column;
    }
    
    #searchBlock .listing .scrollList {
        margin-bottom: 20px;
    }
    
    #searchBlock .listing .scrollList, #searchBlock .listing .mapContainer {
        width: 100%;
    }
    
    #searchBlock h2 {
        margin: 0 0 20px 20px;
    }
    
    .schoolsList {
        max-height: 220px;
    }
    
    #map {
        height: 280px;
    }
    
    #fixedHeaderSpacer {
        display: block;
    }
    
    #header .container {
        justify-content: initial;
    }
    
    #blocks .content {
        padding: 20px 10%;
    }    
    
    #blocks .featuredBlock .image {
        height: 260px;
    }
    
    #footer .container .column {
        width: 49%;
    }
    
    #menuToggle {
        display: flex;
    }
    
    .menusContainer.desktop {
        display: none;
    }
    
    .menusContainer.mobile {
        display: flex;
    }
    
    .menusContainer {
        position: absolute;
        left: 100%;
        flex-direction: column;
        z-index: 11;
        background-color: #ffffff;
        width: fit-content;
        opacity: 0;
        top: 100%;
        -webkit-box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
        -moz-box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
        box-shadow: 0px 0px 10px 0 rgba(0,0,0,0.75);
    }
    
    .menusContainer.open {
        right: initial;
        left: 0;
        opacity: 1;
    }
    
    .menusContainer .menu {
        flex-direction: column;
    }
    
    .menu li a {
        padding: 10px 20px;
        justify-content: flex-start;
    }
    
    #newsFilters {
        flex-direction: column;
    }
    
    #newsFilters .types {
        margin-top: 5px;
    }
    
    .campignTemplates .template .image, .articles .article .image {
        height: 150px;
    }
}

@media screen and (max-width: 600px) {
    body {
        font-size: 14px;
    }
    
    table, thead, tbody, th, td, tr { 
		display: block; 
	}
	
	/* Hide table headers (but not display: none;, for accessibility) */
	thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	tr { border: 1px solid #ccc; }
	
	td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #eee; 
		position: relative;
		padding-left: 50%; 
	}
	
	td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
	}
    
    #header .school {
        padding: 10px 20px;
        flex-direction: column-reverse;
    }
    
    .simpleButton {
        font-size: 11px;
    }
    
    .home.establishment #content, .donate.establishment #content, .admin #content {
        padding: 180px 20px 50px;
    }
    
    .admin .bottomBar.fixed {
        flex-direction: column;
        padding: 12px 20px;
    }
    
    .admin .bottomBar .button {
        padding: 3px 15px;
        min-height: 30px;
    }
    
    .admin.home #content .row {
        flex-direction: column;
    }
    
    .admin #content .adminButton {
        margin: auto auto 20px!important;
        width: 100%;
        height: auto;
    }
    
    .admin .bottomBar.fixed .button {
        width: 100%;
    }
    
    .bannerContainer .text {
        padding: 20px 10px;
    }
    
    .home #content.middle {
        margin: 20px auto 0;
    }
    
    .home #content .steps {
        flex-direction: column;
        align-items: center;
    }
    
    .home #content .step {
        box-sizing: border-box;
        width: calc(100% - 40px);
        margin: auto;
    }
    
    .home #content .step.two {
        border-top: 1px solid #ffffff;
        border-bottom: 1px solid #ffffff;
        border-right: 0;
        border-left: 0;
    }
    
    .home #content .steps {
        padding: 0 0 20px 0;
    }
    
    .registrationStep .row, #content .login .row {
        flex-direction: column;
    }
    
    .registrationStep .row .regType {
        margin: 20px 0;
    }
    
    .typical #content .background {
        padding: 10px 40px;
    }
    
    #blocks {
        display: block;
    }
    
    #blocks .featuredBlock .image {
        -webkit-box-shadow: 0px 8px 18px 2px rgba(0,0,0,0.5);
        -moz-box-shadow: 0px 8px 18px 2px rgba(0,0,0,0.5);
        box-shadow: 0px 8px 18px 2px rgba(0,0,0,0.5);
    }
    
    #searchBlock {
        margin: 20px;
    }
    
    #searchBlock .mapGraphic {
        display: none;
    }
    
    #searchBlock .inputBox {
        width: calc(100% - 110px);
    }
    
    #searchBlock .schoolSearchText {
        font-size: 16px;
    }
    
    #searchBlock .schoolSearchText::-webkit-input-placeholder { /* Edge */
        font-size: 12px;
    }

    #searchBlock .schoolSearchText:-ms-input-placeholder { /* Internet Explorer 10-11 */
        font-size: 12px;
    }

    #searchBlock .schoolSearchText::placeholder {
        font-size: 12px;
    }
    
    #searchBlock .container {
        padding: 20px;
    }
    
    #footer .container .column {
        width: 100%;
    }
    
    #footer .container .column.right {
        border-top: 2px solid rgba(163,163,163,0.80);
        border-left: 0;
        margin-top: 20px;
        flex-direction: column-reverse;
    }
    
    #footer .logo {
        margin: 15px auto;
    }

    #footer .socialIcons {
        margin: 0 auto 10px;
    }
    
    #news, #templates {
        padding: 30px 40px;
    }
    
    #imageGallery .column {
        flex: 100%;
        max-width: 100%;
    }
}


@media screen and (max-width: 450px) {
    .columns > div[class]{
        width: 100%;
        padding: 0;
    }
}
