/**** Body ****/
/**** Body ****/
html { font-size: 16px; }

body { font-size: 1.2em; font-family: "Nunito Sans", sans-serif; }

/**** Paragraph ****/
p { margin: 0px; padding: 1px 0px; }

/**** Links ****/
a, a:link, a:active, a:hover, a:visited { color: #0e4d96; text-decoration: none; border: none; }

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

.button, a.button { background: #ed1c24; color: #fff; text-decoration: none; line-height: 1.1; padding: 9px 18px 10px; font-family: "Nunito Sans", sans-serif; display: inline-block; font-spacing: -0.2pt; font-weight: 600; border-radius: 10px; text-align: center; }
.button:hover, a.button:hover { background-color: #0e4d96; }
.button.button-blue, a.button.button-blue { background: #0e4d96; }
.button.button-blue:hover, a.button.button-blue:hover { background-color: #3c74b5; }
.button.button-blue-light, a.button.button-blue-light { background: #3c74b5; }
.button.button-blue-light:hover, a.button.button-blue-light:hover { background-color: #0e4d96; }
.button.button-blue-bright, a.button.button-blue-bright { background: #0a5cd3; }
.button.button-blue-bright:hover, a.button.button-blue-bright:hover { background-color: #0e4d96; }
.button.button-white, a.button.button-white { background: #fff; color: #ed1c24; }
.button.button-white:hover, a.button.button-white:hover { background-color: #ed1c24; color: #fff; }
.button.button-big, a.button.button-big { font-weight: 700; font-size: 21px; padding: 10px 20px 9px; text-transform: uppercase; letter-spacing: -0.3pt; }

/**** Headings ****/
h1, h2, h3, h4, h5, h6 { margin: 0px; padding: 0px; color: #0e4d96; font-family: "Nunito Sans", sans-serif; letter-spacing: -0.2pt; }
@media only screen and (max-width: 40em) { h1, h2, h3, h4, h5, h6 { line-height: 1.2; } }

h1 { font-weight: 900; font-size: 58px; letter-spacing: -0.3pt; }
@media only screen and (max-width: 40em) { h1 { font-size: 38px; letter-spacing: -0.2pt; } }

h2 { color: #222; font-weight: 900; font-size: 40px; letter-spacing: -0.2pt; }
@media only screen and (max-width: 40em) { h2 { font-size: 34px; } }

h3 { font-weight: 900; color: #0e4d96; font-size: 36px; letter-spacing: -0.2pt; }
@media only screen and (max-width: 40em) { h3 { font-size: 30px; } }

h4 { color: #222; font-weight: 900; font-size: 25px; }

h5 { font-weight: 900; font-size: 22px; }

h6 { color: #0e4d96; font-weight: 900; font-size: 22px; }

/**** Table ****/
@media only screen and (max-width: 40em) { .table-mobile { max-width: 100%; }
  .table-mobile td { display: block; width: 100% !important; } }
td img { max-width: none; }

/**** Forms ****/
input[type=text], input[type=password], input[type=email], input[type=url], input[type=number], input[type=date], input[type=datetime] { height: 22px; }

/**** Menu ****/
/* Clear */
.menu:after { content: "."; display: block; line-height: 0px; font-size: 1px; clear: both; visibility: hidden; }

/* Horizontal - structure */
.menu-horizontal > ul, .menu-horizontal > ul li, .menu-horizontal > ul ul { list-style: none; margin: 0; padding: 0; }

.menu-horizontal > ul { position: relative; z-index: 197; }

.menu-horizontal > ul li { display: inline-block; line-height: 1.3em; vertical-align: middle; zoom: 1; }

.menu-horizontal > ul li.hover, #header .menu-horizontal > ul li:hover { position: relative; z-index: 199; cursor: default; }

.menu-horizontal > ul ul { visibility: hidden; position: absolute; top: 100%; left: 0; z-index: 198; width: 100%; }

.menu-horizontal > ul ul li { display: block; }

.menu-horizontal > ul ul ul { top: 1px; left: 99%; }

.menu-horizontal > ul li:hover > ul { visibility: visible; display: block; }

/* Horizontal - basic styling */
.menu-horizontal a, .menu-horizontal a:hover, .menu-horizontal span { display: block; text-decoration: none; }

/**** Body ****/
/**** Container ****/
/**** Header ****/
#header { background: #0e4d96; background: linear-gradient(90deg, white 50%, #0e4d96 50%, #0e4d96 100%); }

#banner { background: url(../images/banner-3d.jpg) no-repeat 100% top; position: relative; }
@media only screen and (max-width: 64em) { #banner { background: url(../images/banner-3.jpg) no-repeat 100% center; } }
@media only screen and (max-width: 40em) { #banner { background-size: cover; } }

.logo-ushupo { position: relative !important; z-index: 2; background: url(../images/logo-bg.png) no-repeat right top; background-size: cover; padding: 35px 160px 40px 30px; }
@media only screen and (max-width: 1100px) { .logo-ushupo { padding-right: 100px; } }
@media only screen and (max-width: 40em) { .logo-ushupo { background: rgba(255, 255, 255, 0.3); text-align: center; padding: 20px 15px !important; }
  .logo-ushupo img { width: 50%; } }

.logo { text-align: right; padding: 0 40px 30px !important; }
.logo img { width: 200px; }
@media only screen and (max-width: 40em) { .logo { text-align: center; padding: 0 40px 40px !important; }
  .logo img { width: 75%; } }

#header-buttons { float: right; padding-top: 65px; }
#header-buttons .button { margin-bottom: 10px; display: block !important; text-align: center; }
@media only screen and (max-width: 40em) { #header-buttons { float: none; } }

.header-tagline { background: url(../images/tagline-bg.png) no-repeat right top; padding: 9px 65px 8px 120px; font-size: 26px; line-height: 1; letter-spacing: -0.3pt; color: #fff; position: absolute; bottom: 0; left: 25%; }
@media only screen and (max-width: 1100px) { .header-tagline { left: 17%; } }
@media only screen and (max-width: 768px) { .header-tagline { padding: 15px; position: relative; left: 0; background: #ed1c24; text-align: center; } }

.header-tagline-top { text-transform: uppercase; }

/**** Menu ****/
@media only screen and (max-width: 40em) { #header .large-7 { position: absolute; } }

#menu-main { text-align: right; background: url(../images/nav-bg-1.png) no-repeat right top; padding: 0 40px; margin-left: -50px; /*.menu-li-id-13 > a {
	max-width:115px;
}
.menu-li-id-11 > a {
	max-width:128px;
}*/ }
#menu-main a, #menu-main span { font-family: "Nunito Sans", sans-serif; letter-spacing: -0.2pt; padding: 13px 6px 17px; font-weight: 700; font-size: 14px; line-height: 1; margin: 2px; max-width: 100px; height: 34px; display: table-cell; vertical-align: middle; text-align: center; color: #fff; }
#menu-main a:hover, #menu-main span:hover { color: #ed1c24; }
#menu-main ul ul { padding: 0 5px; text-align: left; min-width: 250px; margin-left: -6px; background: rgba(14, 77, 150, 0.8); }
#menu-main ul ul span, #menu-main ul ul a { text-transform: none; text-align: left; max-width: none; height: auto; margin-bottom: 6px; display: block; padding: 5px 6px; }
@media only screen and (max-width: 64em) { #menu-main { background: rgba(14, 77, 150, 0.8); } }
@media only screen and (max-width: 800px) { #menu-main { position: fixed; z-index: 2; top: 0px; left: -225px; width: 225px; padding: 15px 0px; text-align: left; margin-left: -1px; }
  #menu-main li { display: block; }
  #menu-main a, #menu-main span { padding: 5px 20px; border: none; text-align: left; height: auto; max-width: none !important; }
  #menu-main ul ul { visibility: visible; position: relative; padding-top: 0; min-width: 0; background: none; }
  #menu-main ul ul a, #menu-main ul ul span { border: none !important; padding-left: 30px; } }
@media only screen and (max-width: 40em) { #menu-main { position: absolute; } }

#menu-mobile { display: none; width: 24px; height: 24px; background: url(../images/icon-menu-white.png) no-repeat center center; background-size: 100% 100%; position: absolute; z-index: 10; top: 10px; right: 10px; cursor: pointer; }
@media only screen and (max-width: 800px) { #menu-mobile { display: block; } }

/**** Content ****/
/**** Footer ****/
#footer { background: #ed1c24; color: #fff; }
#footer .row { padding: 40px 30px; }
@media only screen and (max-width: 40em) { #footer .row { padding: 25px 15px; text-align: center; } }
#footer h3, #footer a { color: #fff; }
#footer #footer-logo { margin-bottom: 50px; }
#footer #footer-logo img { max-width: 200px; }
#footer #footer-contact { margin-bottom: 30px; font-size: 20px; }
#footer #footer-copyright { margin-bottom: 30px; font-size: 20px; }

.g-recaptcha { margin-bottom: 7px; }

/**** Share ****/
#body .stButton { margin: 0px 1px; }

/**** Font Resize ****/
.font-resize a { font-size: 1.2em; line-height: 1.2em; vertical-align: middle; }

/**** Search ****/
.search-box-form-input { width: 120px; vertical-align: middle; }

.search-box .search-box-form-submit { vertical-align: middle; }

/**** Accordion ****/
.accordion-top { background: #0e4d96; color: #fff; padding: 10px 20px; font-size: 1.2em; font-family: "Nunito Sans", sans-serif; line-height: 1; margin-top: 2px; cursor: pointer; }
.accordion-top.accordion-2 { background: #0e4d96; }
.accordion-top.accordion-3 { background: #0e4d96; }
.accordion-top:after { content: '\25BA'; display: block; float: right; }
.accordion-top.accordion-open:after { content: '\25BC'; }

.accordion-bottom { display: none; border: 1px solid #0e4d96; padding: 15px 20px 0px; margin-bottom: 10px; }
.accordion-bottom.accordion-2 { border-color: #0e4d96; }
.accordion-bottom.accordion-3 { border-color: #0e4d96; }

/**** Home ****/
.page-section > .page { max-width: 1200px; margin: 0 auto; padding: 50px 40px 55px; }
@media only screen and (max-width: 40em) { .page-section > .page { padding: 30px 15px 35px; } }

.page-section-home-welcome { background: #bad6f8; }
.page-section-home-welcome .table-mobile img { width: 80% !important; height: auto !important; margin-bottom: 10px; }

.page-section-home-philadelphia { background: #ed1c24; }
.page-section-home-philadelphia .page { background: url(../images/philadelphia-bg-2.jpg) no-repeat center center; line-height: 1; color: #fff; max-width: 1486px; margin: 0 auto; padding: 0; }
.page-section-home-philadelphia .home-philadelphia-inner { padding: 100px 34% 100px 36%; }
@media only screen and (max-width: 64em) { .page-section-home-philadelphia .home-philadelphia-inner { padding: 90px 35% 90px 37%; }
  .page-section-home-philadelphia span { font-size: 28px !important; } }
@media only screen and (max-width: 40em) { .page-section-home-philadelphia .page { background: none; }
  .page-section-home-philadelphia .home-philadelphia-inner { padding: 15px; } }

.page-section-home-countdown { background: #0e4d96; }
.page-section-home-countdown > .page { padding-top: 5px; }
@media only screen and (max-width: 40em) { .page-section-home-countdown > .page { padding-top: 12px; } }

.page-section-home-bottom { background: url(../images/blue-slash-1.gif) no-repeat right bottom; height: 600px; float: left; width: 60%; color: #fff; }
.page-section-home-bottom .page { max-width: 770px; margin: 0 0 0 auto; }
@media only screen and (min-width: 769px) { .page-section-home-bottom .page { padding-right: 95px; } }
.page-section-home-bottom h1, .page-section-home-bottom h2, .page-section-home-bottom h3, .page-section-home-bottom h4, .page-section-home-bottom h5, .page-section-home-bottom h6, .page-section-home-bottom a, .page-section-home-bottom a:hover { color: #fff; }
@media only screen and (max-width: 768px) { .page-section-home-bottom { background: #0e4d96; float: none; width: 100%; height: auto; } }

.page-section-home-mailing { float: left; width: 40%; height: 550px; }
.page-section-home-mailing .page { max-width: 440px; margin: 0 auto 0 0; }
.page-section-home-mailing #gdpr_text { display: none; }
.page-section-home-mailing .ctct-form-embed .ctct-form-defaults { padding: 20px 0; }
@media only screen and (max-width: 768px) { .page-section-home-mailing { float: none; width: 100%; height: auto; } }

/**** Default ****/
.body-default { /*#header {
	background:#fff;
}

#logo {
	img {
		max-height:80px;
	}
	
	@media only screen and (max-width: 40em) {
		text-align:center;
		
		img {
			max-height:none;
			width:70%;
		}
	}
}

#menu-main {
	@media only screen and (min-width: 40.001em) {
		padding-top:45px;
	}
}*/ }
.body-default #content { background: #bad6f8; }
.body-default #content > .row > .column { padding: 50px 40px 55px; }
@media only screen and (max-width: 40em) { .body-default #content > .row > .column { padding: 30px 15px 35px; } }

/** Alert */
.alert { padding: 20px 25px; border: 1px solid #aaa; background: #eee; }
.alert.warning { border-color: #950000; background: #ffe0e0; }

/** Program */
.table-program td:nth-child(1) { width: 160px !important; }

@media only screen and (max-width: 768px) { .hide-for-768-only { display: none !important; } }
@media only screen and (min-width: 769px) { .show-for-768-only { display: none !important; } }
/*!/*##end##*/
