/*
Theme Name: Speak to the Future
Version: 0.9
Author: custardfish
Author URI: http://custardfish.com/
*/

/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}

/* skype phone number fix */
span.skype_pnh_container {display:none !important;}
span.skype_pnh_print_container {display:inline !important;} 

/* basic styles  
========================================== */

i, em {
	font-style:italic;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
b, strong {
	font-weight:bold;
}
.clear {
	clear:both;
}
.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
input, textarea, select {
	font-family: "Helvetica Neue", Helvetica, sans-serif;
	font-size: 12px;
}

/* Text meant only for screen readers */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
}
.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar */
}

/* variables
========================================== */
:root {
  --main-bg-color: #6b1452;
	--main-text-color: #151515;
	--heading-color: #6B1452;
	--button-color: #2E7B92;
}


/* main elements
========================================== */
html {
	font-size: 10px;
}
body {
	color: var(--main-text-color);
	font-family: "Helvetica Neue", Helvetica, sans-serif;
	font-size: 17px;
	line-height: 1.6;
	word-wrap: break-word;
}
	
h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
	color: var(--heading-color);
	font-family: 'Archivo Black', sans-serif;
	line-height: 1.25;
	margin-bottom: 0.3em;
}

h1, .h1 {
	font-size: 39px; 
	line-height: 1.1;
}
h2, .h2 {
	font-size: 26px;
	line-height: 1.2;
}

.page-template-default .h2, .page-template-default h2 {margin-top: 1.7em;}

h3, .h3 {
	font-size: 22px;
	
}

.page-template-default .h3, .page-template-default h3 {margin-top: 1.5em;}

h4, .h4 {font-size: 18pxs;}



p {
	margin-bottom: 1em;
}
p:last-child {
	margin-bottom: 0;
}
a {
	color: var(--heading-color);
}

input[type=text], input[type=email], textarea {
	color: var(--heading-color);
	font-size: 17px;
	padding: 10px;
	border-radius: 0 !important;
	border: 1px solid var(--heading-color);
}
input[type=text], input[type=email], textarea {
	line-height: 24px;
	width: 600px;
	max-width: 100%;
}
input[type=text], input[type=email] {
	height: 48px;
}
hr {
	border-top: 10px solid #e8e8e8;
	max-width: 310px;
	margin: 0 auto;
}

/* BTN Default Style - blue */

.btn, input[type=button] {
	border: 1px solid var(--button-color);
	border-radius: 0;
	background-color: var(--button-color);
	color: #fff;
	display: inline-block;
	font-size: 20px;
	line-height: 1;
	max-width: 100%;
	padding: 14px 20px 16px;
	text-align: center;
	transition: all 0.2s;	
}

.btn:link, .btn:visited {
	text-decoration: none;
}

.btn:hover,	.btn:active, input[type=button]:hover {
	background-color: transparent;
	color: var(--button-color);
	text-decoration: none;
}

/* BTN Style - white  */
.btn-st1 {
	background-color: #fff;
	color: var(--button-color);
}
.btn-st1:hover {
	background-color: var(--button-color);
	color: #fff;
}

/* BTN Style - transparent  */
.btn-st2 {
	background-color: transparent;
	border-color: #fff;
	color: #fff;
}
.btn-st2:hover {
	background-color: #fff;
	color: var(--heading-color);
}

/* BTN Style - yellow */
.btn-st3 {
	background-color: #ffce1d !important;
	border-color: #ffce1d;
	color: var(--main-text-color) !important;
}
.btn-st3:hover {
	transform: scale(1.1);
}

/* Alignment */
.alignleft {
	display: inline;
	float: left;
	margin-top: 5px;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}
.alignright {
	display: inline;
	float: right;
	margin-top: 5px;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.5em;
}


/* Images and wp-captions should always fit and be responsive */
img {
	display: inline-block;
	height: auto;
	max-width: 100%;
}
.wp-caption {
	max-width: 100%;
}
.wp-caption.aligncenter {
	margin-bottom: 10px;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
}
.wp-caption .wp-caption-text {
	text-align: center;
}
.alignright .wp-caption-text {
	text-align: right;
}
.alignleft .wp-caption-text {
	text-align: right;
}

/* WP Gallery */
.gallery {
	margin-bottom: 1.5em;
}
.gallery a img {
	border: none;
	height: auto;
	max-width: 90%;
}
.gallery dd {
	margin: 0;
}
.gallery-caption {
	display: block;
}

/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
	max-width: 100%;
}

/* Clearing */
.clear {
	clear: both;
}


.section-padding {
	padding: 60px 0;
}
.hr {
	background: #e8e8e8;
	height: 10px;
	margin: 50px 0;
}

/*
* Header
*/
.site-header {
	background: var(--main-bg-color);
	display: flex;
	height: 90px;
}
.site-header .container {
	display: flex;
}
.site-header .logo {
	flex-grow: 1;
	flex-shrink: 0;
	margin-right: 50px;
}
.site-header .logo img {
	display: block;
}

.site-navigation {
	display: flex;
	overflow: hidden;
	line-height: 40px;
	height: 40px;
	visibility: hidden;
}

.main-nav .menu {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
.main-nav .menu > li {
	margin: 0 18px;
	position: relative;
}
.main-nav .sub-menu {
	background: var(--main-bg-color);
	display: none;
	padding: 25px 0 0;
	position: absolute;
	top: 100%;
	left: -20px;
	white-space: nowrap;
	z-index: 99;
}
.main-nav .sub-menu a {
	padding: 10px 20px;
}
.main-nav .sub-menu a:hover {
	background: rgba(0,0,0,0.2);
}

.main-nav .menu-item-has-children:hover .sub-menu {
	display: block;
}
.main-nav a {
	color: #fff;
	display: block;
	position: relative;
	white-space: nowrap;
}
.main-nav a:hover {
	text-decoration: none;
}
.main-nav a span {
	display: block;
}
.main-nav .current-menu-parent > a span:after,
.main-nav .menu > li.current-menu-item > a span:after,
.main-nav .menu > li:hover > a span:after {
	content: "";
	display: block;
	width: 100%;
	height: 0;
	border-top: 1px solid #fff;
	margin-top: -8px;
	position: absolute;
	top: 100%;
	z-index: 100;
}

.main-nav .current-menu-parent > a:before,
.main-nav .menu > li.current-menu-item > a:before,
.main-nav .menu > li:hover > a:before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 10px solid #fff;
	border-right: 10px solid transparent;
	margin-top: -8px;
	position: absolute;
	top: 100%;
	right: 10px;
	z-index: 100;
}
.main-nav .current-menu-parent > a:after,
.main-nav .menu > li.current-menu-item > a:after,
.main-nav .menu > li:hover > a:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 8px solid var(--main-bg-color);
	border-right: 8px solid transparent;
	margin-top: -8px;
	position: absolute;
	top: 100%;
	right: 11px;
	z-index: 100;
}

.site-navigation .menu-button {
	color: #fff;
	display: none;
	flex-shrink: 0;
	margin-right: -20px;
	padding: 0 20px;
	position: relative;
}
.menu-button-enabled .menu-button {
	display: block;
}

.site-navigation .menu-button:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 14px;
	background: #fff;
	transform: translate(0, -50%);
}
.site-navigation .menu-button .menu-icon {
	font-size: 16px;
	margin-left: 5px;
	vertical-align: middle;
}

.mobile-menu-nav {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	visibility: hidden;
	z-index: 100000;
}
.mobile-menu-overlay {
	background-color: rgba(0,0,0,.8);
	position: absolute;
	height: 100%;
	width: 100%;
	opacity: 0;
	will-change: opacity;
	transition: opacity 250ms ease-in-out;
	-webkit-tap-highlight-color: transparent;
}
.mobile-menu {
	display: flex;
	flex-direction: column;
	position: fixed;
	right: 0;
	background-color: #fff;
	height: 100%;
	box-shadow: 4px 0 10px 0 rgba(0,0,0,.4);
	transform: translateX(100%);
	will-change: transform;
	transition: transform 250ms ease-in-out;
	min-width: 265px;
	max-width: calc(100vw - 50px);
	width: 80vw;
}
.mobile-menu-header {
	padding: 10px 30px;
	text-align: right;
}
.mobile-menu-close {
	color: inherit;
	display: inline-block;
	font-size: 20px;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	margin-right: -12px;
}
.mobile-menu-body {
	flex-grow: 1;
	overflow: auto;
	padding-bottom: 50px;
}

.mobile-menu-visible {
	overflow: hidden;
}
.mobile-menu-visible .mobile-menu-overlay {
	opacity: 1;
}
.mobile-menu-visible .mobile-menu {
	transform: translateX(0);
}
.mobile-menu-visible #wpadminbar {
	display: none;
}

.mobile-menu .menu {
	padding: 0 30px 10px;
}
.mobile-menu .menu > li {
	border-bottom: 1px solid #c9c9c9;
}
.mobile-menu .menu a {
	color: #222;
	display: block;
	padding: 15px 0;
	font-size: 18px;
}

.mobile-menu .sub-menu {
	border-left: 1px solid #c9c9c9;
	display: none;
	margin: 10px 0 40px 10px;
	padding-left: 20px;
}
.mobile-menu .sub-menu li {
	margin-bottom: 18px;
}
.mobile-menu .sub-menu li:last-child {
	margin-bottom: 0;
}
.mobile-menu .sub-menu a {
	font-size: 15px; 
	line-height: 22px;
	padding: 0;
}
.mobile-menu .menu .menu-item-has-children a {
	position: relative;
}
.mobile-menu .sub-menu-toggle {
	position:absolute;
	right:0;
	top:calc(50% - (11px / 2));
	width:11px;
	height:11px
}
.mobile-menu .sub-menu-toggle:before,
.mobile-menu .sub-menu-toggle:after {
	position:absolute;
	content:'';
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%, -50%) rotate(-90deg);
	transform:translate(-50%, -50%) rotate(-90deg);
	background-color:#222;
	-webkit-transition:opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
	transition:opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
	transition:transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
	transition:transform 0.4s ease-in-out, opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out
}
.mobile-menu .sub-menu-toggle:before{
	width:11px;
	height:1px;
	opacity:1
}
.mobile-menu .sub-menu-toggle:after{
	width:1px;
	height:11px
}
.mobile-menu .expanded .sub-menu-toggle:before,
.mobile-menu .expanded .sub-menu-toggle:after {
	-webkit-transform:translate(-50%, -50%) rotate(90deg);
	transform:translate(-50%, -50%) rotate(90deg)
}
.mobile-menu .expanded .sub-menu-toggle:before{
	opacity:0
}

/* footer */
.footer-signup {
	padding-bottom: 100px;
}
.footer-signup-inner {
	background-color: #2E7B92;
	color: #fff;
	padding: 30px;
}
.footer-signup * {
	color: #fff;
}
.signup-title {
	line-height: 1.2;
	margin-bottom: 5px;
}
.signup-text {
	font-size: 21px;
}
.signup-btn {
	padding-left: 25px;
	padding-right: 25px;
}

.footer-sponsors {
	padding-top: 0;
	padding-bottom: 100px;
}
.footer-sponsors .sponsor-img {
	display: inline-block;
	margin: 20px 1%;
}
.footer-sponsors .sponsor-img img {
	max-width: 85%;
}

.supporter-link {
	color: #999999;
}	
.site-footer {
	background-color: #7a2460;
	color: #fff;
	font-size: 14px;
}
.site-footer * {
	color: #fff;
}
.footer-top {
	padding: 20px 0 50px;
}
.footer-menu {
	margin: 0 -15px;
}
.footer-menu .menu {
	display: flex;
}
.footer-menu .menu-item-has-children {
	width: 33%;
	padding: 0 15px;
}
.footer-heading,
.footer-menu .menu-item-has-children > a {
	font-size: 22px;
}
.footer-menu .sub-menu li {
	line-height: 1.25;
	margin: 14px 0 0;
}


.social-links {
	font-size: 36px;
	margin: 0 -5px;
}
.social-links a {
	margin: 0 5px;
	opacity: 0.8;
	transition: opacity 0.2s;
}
.social-links a:hover {
	opacity: 1;
}

.footer-bottom {
	background-color: var(--main-text-color);
	padding: 15px 0;
}
.footer-bottom-menu li {
	display: inline;
}
.footer-bottom-menu li:before {
	content: "• ";
}
.footer-bottom-menu li:first-child:before {
	content: "";
}

/* home header */
.home-header {
	background: #4b5eb3;
	background: -moz-radial-gradient(center, circle cover,  #4b5eb3 40%, #374488 100%);
	background: -webkit-radial-gradient(center, circle cover,  #4b5eb3 40%,#374488 100%);
	background: radial-gradient(circle at center,  #4b5eb3 40%,#374488 100%);
	background-size: cover;
	background-position: center center;
	display: flex;
	align-items: center;
	min-height: 600px;
}
.home-header-inner {
	padding: 10rem 0;
}
.home-header h1 {
	color: #fff;
	font-size: 90px;
	line-height: 1;
	margin-bottom: 0.55em;
	text-shadow: 0 0 6px rgba(0,0,0,0.6);	
}
.home-header .btn {
	padding: 14px 20px 16px;
	min-width: 294px;
	letter-spacing: 1px;
	font-size: 22px;
	font-weight: 500;
}




.home-sub-header {
	font-size: 22px;
}
.home-sub-header .buttons {
	padding: 4.5rem 0 1rem;
}
.home-sub-header .buttons .btn {
	margin-bottom: 20px;
	width: 330px;
	max-width: 100%;
}

.home-events {
	background-color: #2E7B92;
	color: #fff;
}
.home-events * {
	color: #fff;
}
.post-card {
	margin: 35px 0 50px;
}
.btn.post-see-all {
	margin-top: 30px;
	width: 320px;
}

.post-card .post-thumb {
	margin-bottom: 15px;
}
.post-card .post-thumb img {
	display: block;
}
.post-card .post-title {
	margin-bottom: 15px;
}
.post-card .post-meta {
	margin-bottom: 15px;
}
.post-card .post-excerpt {
	margin-bottom: 15px;
}


/* Page */
.page-header {
	min-height: 300px;
	background: #4b5eb3;
	/*#2E7B92;177298*/
	background: -moz-radial-gradient(center, circle cover,  #177298 40%, #2E7B92 100%);
	background: -webkit-radial-gradient(center, circle cover,  #177298 40%,#2E7B92 100%);
	background: radial-gradient(circle at center,  #177298 40%,#2E7B92 100%);
	background-position: center center;
	background-size: cover;
	display: flex;
}
.page-header h1 {
	color: #fff;
	text-shadow: 0 0 6px rgba(0,0,0,0.6);
}
.main-content {
	padding: 60px 0;
}
blockquote {
	font-size: 23px;
	font-style: italic;
	margin: 2em 0;
	padding-left: 60px;
	padding-right: 30px;
	position: relative;
	overflow: hidden;
}
blockquote:before {
	background: #2E7B92;
	content: "";
	display: block;
	width: 14px;
	height: 100%;
	position: absolute;
	top: 4px;
	left: 22px;
}
blockquote p:before {
	content: '\201C';
	color: #4455A3;
	margin-right: 6px;
}
blockquote p:after {
	content: '\201D';
	color: #4455A3;
}


.main-content ol,
.main-content ul {
	margin-left: 2em;
	margin-bottom: 1em;
}
.main-content ul {
	list-style-type: disc;
}
.main-content ol {
	list-style-type: decimal;
}
.main-content li {
	margin-bottom: 0.5em;
}

.grecaptcha-badge {
	display: none !important;
}


/* Page: Ambassadors */
.ambassador {
	border-bottom: 10px solid #e8e8e8;
	padding-bottom: 74px;
	margin-bottom: 50px;
}
.ambassador:last-child {
	border-bottom: 0;
	margin-bottom: 0;
}
.ambassador-name {
	line-height: 1.2;
	margin-bottom: 0;
}
.ambassador-title {
	margin-bottom: 1em;
}
.ambassador-pic {
	max-width: 255px;
}

.popup {
	padding: 0 20px;
}
.popup h2 {
	margin-top: 0.5em;
}

/* Page: Upcoming Events */
.all-events-btn {
	display: block;
	margin-top: 50px;
}

/* Single Event */
.single-post-wrap .post-thumb {
	max-width: 40%;
}
.event-btns .btn {
	margin-right: 35px;
	margin-bottom: 20px;
	width: 320px;
}
.event-btns .btn:last-child {
	margin-right: 0;
}

.related-posts {
	margin-top: 80px;
}

/* Page: Our Sponsors */
.our-sponsors {
	margin-top: 80px;
}
.sponsors-list {
	margin-top: 50px;
}

/* Page: News */
.posts-pagination .page-numbers {
	background-color: var(--heading-color);
	border: 1px solid var(--heading-color);
	color: #fff;
	display: inline-block;
	width: 55px;
	height: 46px;
	line-height: 46px;
	margin: 15px;
	text-align: center;
	text-decoration: none;
}
.posts-pagination .page-numbers.current,
.posts-pagination .page-numbers:hover {
	background-color: #fff;
	color: var(--heading-color);
}

/* Page: contact */
.wpcf7-form {
	max-width: 600px;
}
.wpcf7-form label {
	display: block;
}
.your-message textarea {
	height: 150px;
}
.wpcf7-form .ajax-loader {
	margin: 0 4px 0 0 !important;
}

/* Page: Schools - Inspiring Projects */
.our-projects {
	margin: 40px 0 20px;
}
.our-projects .project {
	border-bottom: 10px solid #e8e8e8;
	padding: 40px 0;
}
.our-projects .project:last-child {
	border-bottom: 0;
}
.our-projects .project-thumb {
	max-width: 300px;
	margin: 0 auto;
}
.page-outro {
	border-top: 2px solid #e8e8e8;
	padding-top: 50px;
}

@media only screen and (max-width:1139px) {
	.home-header h1 {
		font-size: 80px;
	}
}

@media only screen and (max-width:991px) {
	.home-header h1 {
		font-size: 70px;
	}
	.page-events .post-cards:nth-child(n+2) .post-title {
		font-size: 22px;
	}
}

@media only screen and (max-width:767px) {
	h1 {
		font-size: 30px;
	}
	.site-header {
		height: 80px;
	}
	.site-header .logo {
		margin-right: 0;
	}
	.site-header .logo img {
		width: 200px;
	}	
	.site-navigation .main-nav {
		display: none;
	}
	.site-navigation .menu-button {
		display: block;
	}
	.site-navigation .menu-button:before {
		display: none;
	}
	.home-header h1 {
		font-size: 50px;
	}
	.single-event .post-thumb {
		max-width: none;
	}

}

@media only screen and (max-width:575px) {
	.alignleft, 
	.alignright {
		display: block;
		float: none;
		margin-left: 0;
		margin-right: 0;
		width: auto;
	}
	.alignright .wp-caption-text {
		text-align: left;
	}
	.footer-sponsors .sponsor-img {
		display: block;
		margin: 20px auto;
	}
	.footer-menu .menu {
		display: block;
	}
	.footer-menu .menu-item-has-children {
		width: 100%;
		margin-bottom: 30px;
	}
	.sponsors img {
		margin-left: 10px;
		margin-right: 10px;
	}
}