* {
	margin:0;
	padding:0;
	font-family: 'Open Sans', sans-serif;
}

p {
	font-size:1em;
}

h1 {
	font-family: 'Montserrat', sans-serif;
}

h2 {
	font-family: 'Montserrat', sans-serif;
}

h3 {
	font-family: 'Montserrat', sans-serif;
}


a img {
    border: 0;
}

.header {
	height: 35vh;
}

.logo {
	display:block;
	margin:auto;
	height:100%;
}

.logo img {
	height:65%;
}

.responsive-container {
    position: relative;
    width: 100%;
	height: 40vh;
}

.dummy {
    padding-top: 100vh; /* forces 1:1 aspect ratio */
	position: absolute;
	z-index: -1;
}

.img-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align:center; /* Align center inline elements */
    font: 0/0 a;
}

.img-container .centerer {
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

.img-container img {
    vertical-align: middle;
    display: inline-block;
    max-height: 55%;  /* <-- Set maximum height to 100% of its parent */
    max-width: 55%;   /* <-- Set maximum width to 100% of its parent */
}

.aside {
	background-color: #C74F21;
	width: 96%; /* Firefox needs this */
	text-align: center;
	padding: 2%;
}

.aside:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; /* Adjusts for spacing */
}

/* The element to be centered, can also be of any width and height */ 

.asidetext {
	text-align: center;
	color: white;
	position: relative;
	padding: 0% 5% 0% 5%;
	font-size:1em;
	display: inline-block;
	vertical-align: middle;
	width: 80%;
}

.aside h1 {
	padding-bottom: 1%;
}

.boxes {
	display:flex; 
	justify-content: space-around;
}

.blogboxes {
	display:flex;
	border-top: solid 2px #286E94;
	border-bottom: solid 2px #286E94;	
}

.blogboxes a {
	text-decoration: none;
	color: #52AEE1;
}

.blogbox1 {
	background: #286E94;
	color: white;
	width: 27%;
	padding: 3%;
}

.blogbox2 {
	width: 27%;
	padding: 3%;
}

.firstbox, .secondbox, .thirdbox {
	height: auto;
	padding: 2%;
	float:left;
	text-align: center;
	color: #286E94;
	text-decoration: none;
	display: block;
}

.firstbox p, .secondbox p, .thirdbox  p{
	top: 5%;
	position: relative;
	padding: 1% 5% 0% 5%;
}


.firstbox {
	width:30%;
	background-color: #D1E8F6;
	border-bottom: thick solid #D1E8F6;
}

.firstbox:hover, .secondbox:hover, .thirdbox:hover  {
	background-color: white;
	color: #286E94;
	cursor: pointer; 
	border-bottom: thick solid #52AEE1;
}

.firstbox img, .secondbox img, .thirdbox img {
	max-height: 40%;
	max-width: 40%;
	margin: 0 auto;
	display: block;
	width: auto;
    height: auto;
}

.secondbox {
	width:30%;
	background-color: #B4DBF0;
	border-bottom: thick solid #B4DBF0;
}

.thirdbox {
	width:30%;
	background-color: #D1E8F6;
	border-bottom: thick solid #D1E8F6;
}

.heightfix {
	height: inherit;
}


.boxspacer {
	height:15%;
}

.blocktext {
    color: #286E94;
}

.blocktext p {
    margin-top: 20px;
}

.imageleft {
    width:15%;
    float:left;
    padding: 5%;
}


.textright {
    width:65%;
    float:left;
    padding: 5%;
}

#buttonlink {
    margin-top: 30px;
    padding: 20px;
    text-decoration: none;
    background-color: #52AEE1;
    color: white;
    display: block;
    width: 150px;
    text-align: center;
    
}

#buttonlink:hover {
    background-color: #C74F21;
}

.sideimg {
    width: 100%;
}

.clear {
    clear:both;
}


/* Footer specific */

.footer {
    width: 96%;
    background-color: #286E94;
    color: white;
    padding: 2%;
    text-align: center;
}

.footer p {
	margin: 1em;
}

.footer a{
	text-decoration: none;
	color: #B4DBF0;
}

.footer a:hover{
	text-decoration: underline;
}

#attribution {
	font-size: 0.8em;
}

.footermenu {
	display:flex;
	justify-content:center;
	padding: 2%;
}

.footermenu a {
	padding: 0px 20px;
}




/* About page specific css */

.abheader {
	width:50%;
	margin: 0 auto;
	color: white;
	padding-bottom: 0.67em;
}


.subheadtext {
  padding: 0px 0px 10px 0px;
}

.aboutsubmenu {
    display: flex;
    flex-wrap: wrap;
}

.aboutsubmenu a {
    text-decoration: none;
    padding: 20px 40px 0px 0px;
    color: #383838;
}

.aboutsubmenu a:hover {
    color: black;
}

.headertexting {
  float: left;
  width: 420px;
}

.headertext img {
  float: left;
  height: 70px;
}



.contentwrapper {
    width: 90%;
    margin: 0 auto;
}

.contentwrapper li {
    margin:10px 10px 10px 30px;
}

.contentbox {
    clear:both;
}

.headingbox {
    width: 20%;
    padding: 2%;
    float: left;
}

.pagehead {
	padding: 4% 2%;
}

.maintextbox {
    width: 64%;
    padding: 2%;
    float: left;
	color: #383838;
}

.maintextbox p {
	margin-bottom: 20px;
}

.questiontext {
	color: #286E94;
	margin: 0px 0px 10px 0px;
}

.anstext {
	padding-bottom: 20px;
}

.aboutsubhead {
	color: #383838;
}

.portraitbox {
	float:left;
	width: 20%;
}

.portraitbox img{
	max-width:100%;
	max-height:100%;
}

.whoweare {
	float:left;
	width: 60%;
	padding: 0px 20px;
}


.searchbox {
	margin: 0 auto;
	padding: 8%;
	text-align: center;
}

#searchbutton {
	border:none;
	padding: 5px;
	margin: 10px 10px 10px 10px;
	background-color: #52AEE1;
	text-decoration: none;
	text-align: center;
	color: white;
	width: 100px;
}

#searchbutton:hover{
	cursor: pointer;
	background: #C74F21;
}


.searchtextarea {
	outline: none;
	background: rgba(0,0,0,.1);
	padding: 5px;
	width: 40%;
	border-radius: 15px;
}


.iconcircle {
	border-radius: 50%;
	font-size: 3em;
	color: white;
	background: #286E94;
	padding: 2%;
	margin: 0 auto;
	width: 2em;
	height: 2em;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.boxtext {
	margin-top:3%;
}

/* Donate page */

td {
	padding: 10px;
}

table.reportingtable {
	border: solid 2px black;
	margin: 10px 0px;
	width: 400px;
}

.tabledescrip {
	width:65%;
}


@media only screen and (max-width : 790px) {
	.aside {
		height: auto;
		padding: 5%;
		font-size: 0.8em;
		width: 90%;
	}
	
	.aside div {
		top: auto;
		-ms-transform: none;
		-webkit-transform: none;
		transform: none;
	}
	
	.boxes {
		display:flex; 
		flex-direction: column;
		font-size: 0.8em;
	}
	
	.blogboxes {
		flex-direction: column;
		font-size: 0.8em;
	}
	
	.blogbox1, .blogbox2 {
		width: 90%;
		padding: 5%;
	}
	
	.firstbox, .secondbox, .thirdbox {
		height: auto;
		padding: 5%;
		width: 90%;
	}
	
	
	.img-container img {
		vertical-align: middle;
		display: inline-block;
		max-height: 80%;  /* <-- Set maximum height to 100% of its parent */
		max-width: 80%;   /* <-- Set maximum width to 100% of its parent */
	}
	
	.headingbox {
		width: 96%;
		padding: 2%;
		float: none;
	}
	
	.maintextbox {
		width: 96%;
		padding: 2%;
		float: none;
	}
	
	
	.searchtextarea {
		margin: 10px;
		width: 80%;
	}

	#searchbutton {
		display: block;
		margin: 0 auto;
	}
	
	table.reportingtable {
        border: solid 2px black;
        margin: 10px 0px;
        width: inherit;
	}
    
    .aboutsubmenu {
        flex-direction: column;
    }
}
