/* default
-------------------------------------------------------------------------------*/

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}									

article, aside, figure, footer, header, hgroup, nav, section {display: block;}

/* Responsive images and other embedded objects
   Note: keeping IMG here will cause problems if you're using foreground images as sprites, like, say for Google Maps custom placemarkers. 
   There has been a report of problems with standard Google maps as well, but we haven't been able to duplicate or diagnose the issue. */
img,
object,
embed {width: 100%; height:auto}

/* force a vertical scrollbar to prevent a jumpy page */
html {overflow-y: scroll;}

/* we use a lot of ULs that aren't bulleted. 
	don't forget to restore the bullets within content. */
ul {list-style: none;}

blockquote, q {quotes: none;}

blockquote:before, 
blockquote:after, 
q:before, 
q:after {content: ''; content: none;}

a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color:#f1b434; text-decoration:none; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }
a:hover{ text-decoration:none}

del {text-decoration: line-through;}

abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}

/* tables still need cellspacing="0" in the markup */
table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: bold; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

h1,h2,h3,h4,h5,h6{ font-weight:400}

hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}

input, select {vertical-align: middle;}

pre {
	white-space: pre; /* CSS2 */
	white-space: pre-wrap; /* CSS 2.1 */
	white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
	word-wrap: break-word; /* IE */
}

input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom; *vertical-align: baseline;}
.ie6 input {vertical-align: text-bottom;}

select, input, textarea {font: 99% sans-serif;}

table {font-size: inherit; font: 100%;}
 
/* Accessible focus treatment
	people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active {outline: none;}

small {font-size: 85%;}

strong, th {font-weight: bold;}

td, td img {vertical-align: top;} 

/* Make sure sup and sub don't screw with your line-heights
	gist.github.com/413930 */
sub, sup {font-size: 75%; line-height: 0; position: relative;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* standardize any monospaced elements */
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/* hand cursor on clickable elements */
.clickable,
label, 
input[type=button], 
input[type=submit], 
button {cursor: pointer;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}

/* make buttons play nice in IE */
button {width: auto; overflow: visible;}
 
/* scale images in IE7 more attractively */
.ie7 img {-ms-interpolation-mode: bicubic;}

/* prevent BG image flicker upon hover */
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}

 canvas { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; }

/* let's clear some floats */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.clearfix:after { clear: both; }  
.clearfix { zoom: 1; }  

.clear { clear: both; }

.show { display: block !important; }
.hide { display: none !important; }

img { display: block; }

.wrap { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; }

.col-spacing { padding-left: 100px; padding-right: 100px; }
.col-spacing-short { padding-left: 20px; padding-right: 20px; }

.left { float: left !important; }
.middle { float: none !important; }
.right { float: right !important; }

.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }

.ab-right { position: absolute !important; right: 0; }
.ab-bottom { position: absolute !important; bottom: 0; }

.align-center { margin-left: auto; margin-right: auto; }

.normalcase { text-transform: none !important; }
.uppercase { text-transform: uppercase !important; }

.transition { text-decoration:none; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; }

.no-scroll { margin: 0 !important; height: 100% !important; overflow: hidden !important; }

/*** site styles ***/


html, BODY { height: 100%; }
BODY { background: #fff; font-family: 'Nunito Sans', sans-serif; font-weight: 300; font-size: 20px; line-height: 1.3; color: #6c757d; text-align: center; }
BODY.scroll { padding-top: 66px; }

.full-width { width: 100%; }
.page-width { width: 100%; max-width: 1620px; }
.content-width { width: 100%; max-width: 1220px; }

a { color: #212529; font-weight: 400; text-decoration: none; border-bottom: 1px solid #fdd26e; }
a:hover { color: #495057; text-decoration: none; border-bottom-color: #ced4da; }

a.tel { text-decoration: none; cursor: default; font-weight: 300; border-bottom: none; color: #6c757d; }
a.tel:hover { text-decoration: none; }

h1, h2, h3, h4, h5 { margin: 0; padding: 0; line-height: 1.1; font-family: 'Poppins', sans-serif; }
h1 { font-size: 42px; font-weight: 700; color: #495057; margin-bottom: 30px; }
h2 { font-size: 30px; font-weight: 600; font-family: 'Bitter', serif; color: #495057; }
h3 { font-size: 24px; font-weight: 500; font-family: 'Bitter', serif; color: #6c757d; }
h4 { font-size: 20px; font-weight: 400; margin-bottom: 20px; }
h5 { font-size: 26px; font-weight: 700; }

p { padding: 0 0 25px; margin: 0; line-height: 1.5; }
p:last-child, p:last-of-type { padding-bottom: 0; }

h1 + p { padding-top: 30px; }
p + h2, h2 + p { padding-top: 20px; }
h1 + h3, h2 + h3, h2 + h4 { padding-top: 25px; }
h3 + h1, h3 + p { padding-top: 5px; }
p + h3 { padding-top: 15px; }
h2:last-child { margin-bottom: 0; }

.space-top { padding-top: 30px !important; }
.space-top-x2 { padding-top: 60px !important; }

.space-bottom { margin-bottom: 30px; }
.space-bottom-x2 { margin-bottom: 60px; }

.cols { position: relative; display: block; }
.section-wrapper .cols + .cols { padding-top: 20px; }
.cols .col { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; }

.flex { display: flex !important; }
.flex.flex-bottom { align-items: end; }
.cols.flex.flex-apart { justify-content: space-between; }
.cols.flex .col { -webkit-flex: 0 1 50%; -moz-flex: 0 1 50%; -ms-flex: 0 1 50%; flex: 0 1 50%; }

.cols.grid { display: grid; gap: 0px 100px; }

.cols.grid.rows-1 { grid-template-rows: 1fr; }
.cols.grid.rows-2 { grid-template-rows: auto auto; }

.cols.grid.cols-2 { grid-template-columns: 1fr 1fr; }
.cols.grid.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.cols.grid.cols-4 { grid-template-columns: 1fr 1fr 1fr 1fr; }

.cols.grid.rows-1.cols-2 { grid-template-areas: "col-1 col-2"; }
.cols.grid.rows-1.cols-3 { grid-template-areas: "col-1 col-2 col-3"; }
.cols.grid.rows-1.cols-4 { grid-template-areas: "col-1 col-2 col-3 col-4"; }

.cols.grid.rows-2.cols-2 { grid-template-areas: "col-1 col-2" "col-3 col-4"; }

.cols.grid.rows-2.cols-2.extra.odd { grid-template-areas: "col-1 col-3" "col-1 col-2"; }
.cols.grid.rows-2.cols-2.extra.even { grid-template-areas: "col-3 col-2" "col-1 col-2"; }

.cols.grid .col.col-1 { grid-area: col-1; }
.cols.grid .col.col-2 { grid-area: col-2; }
.cols.grid .col.col-3 { grid-area: col-3; }
.cols.grid .col.col-4 { grid-area: col-4; }
.cols.grid .col.col-5 { grid-area: col-5; }
.cols.grid .col.col-6 { grid-area: col-6; }

.cols.grid .col.col-left { grid-area: col-left; }
.cols.grid .col.col-middle { grid-area: col-middle; }
.cols.grid .col.col-right { grid-area: col-right; }

.title { grid-area: title; }
.content { grid-area: content; }

p.button { max-width: 436px; }
.button { display: block; grid-area: button; }
.button a { display: block; padding: 15px 30px; min-width: 240px; text-align: center; background: #343a40; color: #fff; font-family: 'Poppins', sans-serif; border: 1px solid #343a40; font-size: 20px; font-weight: 600; letter-spacing: 1.1px; line-height: 1; text-decoration:none; border-radius: 50px; box-sizing: border-box; -moz-box-sizing: border-box; }
.button a:hover { background: #adb5bd; color: #343a40; border-color: #adb5bd; text-decoration: none; }
.button.alt2 a { background: #fdd26e; color: #343a40; border-color: #fdd26e; }
.button.alt2 a:hover { background: #eaaa00; color: #fff; border-color: #eaaa00; }

img.logo { position: relative; display: block; padding: 0; width: 460px; z-index: 100; }


.site { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; webkit-backface-visibility: hidden; box-sizing: border-box; -moz-box-sizing: border-box; }

.flyout { position: relative; display: none; text-align: right; padding: 0; z-index: 999; float: right; }
.flyout a.icon-menu { color: #fdd26e; font-size: 28px; line-height: 1; margin: 0; transition: all .4s; -moz-transition: all .4s; -webkit-transition: all .4s; -o-transition: all .4s; border-bottom: none; }
.flyout a.icon-menu:hover { color: #eaaa00; text-decoration: none; border-bottom: none; }


#flyout-menu-top { position: relative; display: block; padding: 10px 20px; z-index: 99; }
#flyout-menu-top .menu { float: right; }

#flyout-menu { position: fixed; left: 0; top: 0; display: none; width: 100%; height: 100%; padding: 0; background: #343a40; text-align: left; overflow: auto; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 9999999; }
#flyout-menu .flyout-menu-header { position: fixed; top: 0; left: 0; display: block; width: 100%; height: 50px; z-index: 99; overflow: hidden; }
#flyout-menu .close-btn-wrapper { position: absolute; top: 0; right: 0; display: block; padding: 10px 25px; }
#flyout-menu a.close-btn { font-size: 30px; color: #fdd26e; z-index: 100; }
#flyout-menu a.close-btn:hover { color: #eaaa00; }

#flyout-menu ul { margin: 0; padding: 0; }
#flyout-menu ul ul { display: none; }
#flyout-menu li { margin: 0; padding: 0; display: block; }
#flyout-menu li a { display: block; padding: 15px 0; font-weight: 400; font-family: 'Poppins', sans-serif; font-size: 36px; color: #fff; line-height: 1; text-decoration: none; box-sizing: border-box; -moz-box-sizing: border-box; border-bottom: 1px solid rgba(85, 118, 209, 0); }
#flyout-menu li a:hover { color: #eaaa00; text-decoration: none; border-bottom: 1px solid rgba(85, 118, 209, 0); }
#flyout-menu li li a { font-size: 18px; text-transform: none; padding: 8px 20px; }

#flyout-menu #flyout-menu-main, #flyout-menu #flyout-menu-sub { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; padding: 90px 100px 40px; background: #343a40; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 80; }
#flyout-menu #flyout-menu-sub { display: none; padding-top: 60px; z-index: 90; text-align: center; }
#flyout-menu .top { position: relative; display: block; margin: 0 0 10px; }
#flyout-menu .bottom { position: relative; display: block; border-top: 1px solid #fff; padding: 10px 0 0; }
#flyout-menu .bottom li a { font-size: 16px; }
#flyout-menu .icon { position: relative; display: block; width: 10%; margin: 0 auto; padding: 50px 0 0; }
#flyout-menu .icon .cover { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: rgba(0, 115, 174, .9); z-index: 10; }

#flyout-menu .social-media { padding-top: 20px; }
#flyout-menu .social-media li { margin-left: 10px; margin-right: 10px; }


.popup-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(52, 58, 64, .9); display: none; align-items: center; padding: 100px; z-index: 999; }
.popup-wrapper .popup { background: #fff; border-radius: 50px; padding: 75px 100px; max-width: 1000px; }
.popup-wrapper .popup a.btn-close { position: absolute; top: 30px; right: 30px; font-size: 30px; color: #fdd26e; border: none; }
.popup-wrapper .popup a.btn-close:hover { color: #eaaa00; }


.top-header-wrapper { width: 100%; background: #343a40; z-index: 99; overflow: hidden; }
.header-wrapper { width: 100%; background: #212529; z-index: 99; overflow: hidden; border-bottom: 2px solid #ffc845; }
#top-header { width: 100%; padding: 10px 0; }
#header { width: 100%; padding: 30px 0; }

#top-header .cols, #header .cols { align-items: flex-end; }
#top-header .menu, #header .menu { position: relative; display: inline-block; padding: 0; }
#top-header .menu ul, #header .menu ul { margin: 0; padding: 0; }
#top-header .menu li, #header .menu li { position: relative; display: block; list-style-type: none; margin: 0; padding: 0 30px 0 0; line-height: 1; float: left; }
#top-header .menu li:last-of-type, #header .menu li:last-of-type { padding-right: 0; }
#top-header .menu li a, #header .menu li a { position: relative; font-size: 18px; color: #ced4da; font-weight: 500; font-family: 'Bitter', sans-serif; border-bottom: 1px solid rgba(255, 200, 69, 0); letter-spacing: 1.1px; }
#header .menu li a { font-weight: 500; font-family: 'Poppins', sans-serif; font-size: 20px; color: #fff; }
#top-header .menu li > a:hover, #top-header .menu li:hover > a, #header .menu li > a:hover, #header .menu li:hover > a { color: #ffc845; }
#header .menu li > a:hover, #header .menu li:hover > a { color: #fff; border-bottom-color: rgba(255, 200, 69, 100); }
#header .menu li.current-menu-item > a, #header .menu li.current-menu-parent > a, #header .menu li.current_page_parent > a, #header .menu li.current-page-ancestor > a { color: #ffc845; border-bottom-color: rgba(12, 35, 64, 100); }

#top-header .menu li::before { position: absolute; left: -17px; content: '|'; color: #6c757d; }
#top-header .menu li:first-child::before { display: none; }
#header a.logo-link { border: none; }


.section-wrapper { padding-top: 100px; padding-bottom: 100px; }
.section-wrapper ul { list-style: disc; margin-left: 20px; }
.section-wrapper ol { list-style: decimal; margin-left: 20px; }
.section-wrapper ul.no-margin, .section-wrapper ol.no-margin { margin-left: 0; }
.section-wrapper li { margin-bottom: 15px; margin-left: 20px; }
.section-wrapper li:last-of-type { margin-bottom: 0; }
.section-wrapper ul + p, .section-wrapper ol + p, .section-wrapper ul + div, .section-wrapper ol + div { padding-top: 30px; }
.section-wrapper p:last-of-type + ul, .section-wrapper p:last-of-type + ul { padding-top: 20px; }
.section-wrapper ul + h2, .section-wrapper ol + h2, .section-wrapper ul + h3, .section-wrapper ol + h3, .section-wrapper ul + h4, .section-wrapper ol + h4, .section-wrapper p + div { padding-top: 30px; }
.section-wrapper h3 + ul, .section-wrapper h3 + ol, .section-wrapper h3 + p, .section-wrapper ol li > ul, .section-wrapper ol li > ol, .section-wrapper ul li > ul, .section-wrapper ul li > ol { padding-top: 10px; }
.section-wrapper img + h2, .section-wrapper img + h3, .section-wrapper img + p, .section-wrapper div + p { padding-top: 25px; }
.section-wrapper h1 + div, .section-wrapper h2 + div, .section-wrapper h3 + div { padding-top: 25px; }
.section-wrapper .spacer div + div { margin-top: 40px; }
.section-wrapper .spacer img + img { margin-top: 50px; }
.section-wrapper p + p.button { padding-top: 10px; }
.section-wrapper p + div.checkbox { padding-top: 0; }


.content { position: relative; display: block; text-align: left; margin: 0 0 20px; }
.content img { width: auto; max-width: 100%; }
.content img.right { margin: 0 0 0 20px; }

.content .registration { position: relative; display: block; margin: 0 0 40px; }

.content .box { border: 2px solid #ced4da; padding: 35px; margin: 0 0 25px; background: #fefaf1; font-weight: 300; -webkit-box-shadow: 2px 2px 3px 4px rgba(0,0,0,0.03); box-shadow: 2px 2px 3px 4px rgba(0,0,0,0.03); }
.content p + .box { margin-top: 15px; }
.content .box + p { padding-top: 25px; }
.content .box + h2 { padding-top: 20px; }

.content p.processing-fees { padding-top: 10px !important; margin-bottom: 20px; }

.content .registration.step .btn { width: 100%; max-width: 600px; color: #343a40; font-size: 20px; padding: 18px 15px 15px; text-align: center; outline: 0; border: none; background: #fdd26e; font-family: 'Poppins', sans-serif; font-weight: 600; transition: all .6s; -moz-transition: all .6s; -webkit-transition: all .6s; -o-transition: all .6s; border-radius: 30px; box-sizing: border-box; -moz-box-sizing: border-box; }
.content .registration.step .btn.btn-remove { max-width: 300px; float: right; background: #343a40; color: #fff; }
.content .registration.step .btn:hover { background: #eaaa00; color: #fff; }
.content .registration.step .btn.btn-remove:hover { background: #adb5bd; color: #343a40; }
.content .registration.step .btn:disabled { opacity: .2; }

.content .registration.frame { max-height: 300px; overflow: auto; }
.content .registration.frame .frame-content { position: relative; display: block; margin: 0 0 20px; }

/*.question-multiple { position: relative; display: block; margin: 0 0 20px; }
.question-group { position: relative; display: block; margin: 0 0 20px; }
.question-multiple .question-group { margin-bottom: 40px; }
.question-group:last-of-type, .question-multiple .question-group:last-of-type { margin-bottom: 0; }
.frame .question-group:last-of-type, .frame .question-multiple .question-group:last-of-type { margin-bottom: 10px; }
p:last-of-type + .question-group, p:last-of-type + .question-split { padding-top: 20px; }
.question-split { position: relative; display: block; margin-left: -20px; }

.question { position: relative; display: block; margin: 0 0 10px; box-sizing: border-box; -moz-box-sizing: border-box; }
.question label { display: inline-block; font-size: 14px; padding-bottom: 3px; cursor: default; }
.question label em { font-size: 12px; }
.question span.form-field { position: relative; display: block; border: none; background: #e8e8e8; padding: 10px 10px; box-sizing: border-box; -moz-box-sizing: border-box; }
.question.checkbox span.form-field { background: none; padding: 2px 0 0; }
.question input[type="text"], .question input[type="email"], .question input[type="password"], .question select { position: relative; width: 100%; border: none; outline: 0; padding: 0; margin: 0; background: none; line-height: 1.2; font-size: 13px; color: #121212; box-sizing: border-box; -moz-box-sizing: border-box; }
.question select { background: url(../images/drop-arrow.png) right center no-repeat; background-size: 3% auto; -webkit-appearance: none; -moz-appearance: none; -webkit-border-radius: 0px; cursor: pointer; }
.question select::-ms-expand { display: none; }
.question span.form-field .error { color: #cc0000; }
.question.checkbox label { cursor: default; }
.question.checkbox span.form-field .error { position: absolute; display: block; width: 200px; padding-top: 10px; }

.question-split .question { width: 50%; float: left; padding: 0 0 0 20px; }
.question-split.thirds .question { width: 33.3333%; }
.question-split.fourths .question { width: 25%; }

.question-split .question select { background-size: 6% auto; }
.question-split.thirds .question select { background-size: 8% auto; }

.question.radio { }
.question.radio .radio-btn { position: relative; display: block; margin: 0 0 5px; }
.question.radio .radio-btn:last-of-type { margin-bottom: 0; }
.question.radio .radio-btn input[type="radio"] { margin-right: 5px; }
.question.radio .radio-btn label { cursor: default; }

.question.checkbox span.form-field { float: left; margin-right: 10px; }
.question.checkbox span.form-field.input-error { padding-bottom: 30px; }*/

.question-multiple { position: relative; display: block; margin: 0 0 20px; }
.question-group { position: relative; display: block; margin: 0 0 20px; }
.question-multiple .question-group { margin-bottom: 30px; }
.question-group:last-of-type { margin-bottom: 0; }
.question-multiple .question-group:last-of-type { margin-bottom: 30px; }
.frame .question-group:last-of-type, .frame .question-multiple .question-group:last-of-type { margin-bottom: 10px; }
p:last-of-type + .question-group, p:last-of-type + .question-split { padding-top: 20px; }
.question-split { position: relative; display: block; margin-left: -20px; }

.question-split .question { width: 50%; float: left; padding: 0 0 0 20px; }
.question-split.thirds .question { width: 33.3333%; }
.question-split.fourths .question { width: 25%; }
.question-split .question.show-full { width: 100%; }

p:last-child + .question, p:last-of-type + .question { padding-top: 20px; }
.question { position: relative; display: block; margin: 0 0 20px; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 1; }
.question label { position: absolute; top: 0; display: none; width: 100%; opacity: 0; font-size: 14px; font-weight: 300; color: #6c757d; -webkit-transition: all 0.2s ease-out; transition: all 0.2s ease-out; z-index: 1 }
.question label.reg { color: #343a40; }
.question label em { font-size: 12px; }
.question span.form-field { position: relative; display: block; }
.question.checkbox span.form-field { background: none; padding: 2px 0 0; }
.question input[type="text"], .question input[type="email"], .question input[type="password"], .question select, .question textarea { position: relative; width: 100%; background: #f8f9fa; font-family: 'Nunito Sans', sans-serif; font-size: 20px; letter-spacing: .02rem; color: #212529; padding: 15px 15px; border: none; border-bottom: 1px solid #dee2e6; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-transition: all 0.3s ease-out; transition: all 0.2s ease-out; }
.question textarea { height: 100px; }

.question .select-wrap { position: relative; display: block; background: #f8f9fa; border-bottom: 1px solid #dee2e6; }
.question .select-wrap .form-field { position: relative; display: block; z-index: 20; }
.question select { padding-top: 14px; padding-bottom: 13px; -webkit-appearance: none; -moz-appearance: none; text-overflow: ''; background: none; border: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: 60px; cursor: pointer; }
.question select::-ms-expand { display: none; }
.question select:focus { outline: none; }
.question .select-dir { position: absolute; top: 18px; right: 0px; display: block; height: 43%; padding: 0 15px; color: #6c757d;; line-height: 1.1; z-index: 10; }

.question input[type="text"]:focus, .question input[type="email"]:focus, .question input[type="password"]:focus, .question .select-wrap:focus, .question textarea:focus { border-color: #fbdd7a; outline: none; }
.question .input-error input[type="text"], .question .input-error input[type="email"], .question .input-error input[type="password"], .question .input-error .select-wrap, .question .input-error textarea { border-color: #cc0000; outline: none; border-bottom-width: 3px; }

.question.radio { }
.question.radio .radio-btn { position: relative; display: block; margin: 0 0 5px; }
.question.radio .radio-btn:last-of-type { margin-bottom: 0; }
.question.radio .radio-btn input[type="radio"] { margin-right: 5px; }
.question.radio .radio-btn label { cursor: default; }

.question span.form-field .error { color: #cc0000; }
.question.checkbox label { display: block; cursor: default; position: relative; opacity: 1; font-size: 20px; text-align: left; }
.question.checkbox span.form-field .error { position: absolute; display: block; width: 200px; padding-top: 10px; }


.question.floating label { display: block; margin-top: 2px; margin-left: 0; padding: 0 50px 0 15px; text-align: left; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transform: translateY(3px); transform: translateY(3px); pointer-events: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -webkit-box-sizing: border-box; box-sizing: border-box; opacity: 1; }
.question.floating input, .question.floating select, .question.floating textarea { padding-top: 24px; padding-bottom: 6px; }
.question.floating select { padding-top: 23px; padding-bottom: 5px; }


.question.radio { }
.question.radio .radio-btn { position: relative; display: block; margin: 0 0 10px; }
.question.radio .radio-btn:last-of-type { margin-bottom: 0; }
.question.radio .radio-btn input[type="radio"] { margin-right: 5px; }
.question.radio .radio-btn label { display: block; cursor: default; position: relative; opacity: 1; font-size: 20px; font-weight: 400; text-align: left; color: #6c757d; }

.question.radio.inline .radio-btn { display: inline-block; margin-right: 20px; }
.question.radio.inline span.form-field { position: absolute; height: 10px; width: 10px; top: 0; left: 0; z-index: 20; }
.question.radio.inline .radio-btn label { display: inline-block; padding-left: 25px; }

.question.checkbox span.form-field, .question.radio span.form-field { float: left; margin-right: 10px; margin-top: 5px; z-index: 20; }
.question.checkbox span.form-field.input-error { padding-bottom: 30px; }

.question .form-field.stripe-form-field { position: relative; width: 100%; background: #f8f9fa; font-family: 'Nunito Sans', sans-serif; font-size: 20px; letter-spacing: .02rem; color: #212529; padding: 30px 15px 5px; border: none; border-bottom: 1px solid #dee2e6; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-transition: all 0.3s ease-out; transition: all 0.2s ease-out; }
.question .form-field.stripe-form-field.error { border-color: #cc0000; outline: none; }



.question.previous-school, .question.kindergarten-class, .registration.new-families, .registration.paw, .registration.paw .two-payment, .church-name-other, .registration.lump, .relationship-other, .registration.ccep, .registration.mission, .registration.partnership, .registration.new-instructions, .registration.exsisting-instructions, .registration.step { display: none; }

.box .question { margin-bottom: 0; }

.content .buttons { position: relative; display: block; padding: 30px 0 0; }
.admin .content p + .buttons { padding-top: 10px; }
.admin .content p:last-of-type + .buttons { padding-top: 30px; }

.content .registration.submit-box p:last-of-type { padding-bottom: 20px; }

.question input[type="submit"], input[type="button"] { width: 100%; max-width: 600px; color: #343a40; font-size: 20px; padding: 18px 15px 15px; text-align: center; outline: 0; border: none; background: #fdd26e; font-family: 'Poppins', sans-serif; font-weight: 600; transition: all .6s; -moz-transition: all .6s; -webkit-transition: all .6s; -o-transition: all .6s; border-radius: 30px; box-sizing: border-box; -moz-box-sizing: border-box; }
input[type="button"].btn-remove { max-width: 300px; float: right; }
input[type="button"].highlight { background: #cc0000; max-width: none; width: auto; color: #fff; }
input[type="button"].reverse, input[type="button"].btn-remove { background: #343a40; color: #fff; }
.question input[type="submit"]:hover, input[type="button"]:hover { background: #eaaa00; color: #fff; }
input[type="button"].reverse:hover, input[type="button"].btn-remove:hover { background: #adb5bd; color: #343a40; }
.question input[type="submit"]:active, input[type="button"]:active { background: #7c0e2e; color: #fff; }
input[type="button"].reverse:active, input[type="button"].btn-remove:active { background: #fbdd7a; color: #13294b; }

input[type="button"] { margin: 0 10px 0 0; }
input[type="button"]:last-of-type { margin-right: 0; }


.form-total { position: fixed; bottom: 0; left: 0; display: none; width: 100%; padding: 15px 10px; border-top: 2px solid #eaaa00; background: #212529; color: #fff; font-weight: bold; text-align: center; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 999; font-family: 'Poppins', sans-serif; font-weight: 600; }
.form-total p { padding-bottom: 0; font-size: 16px; display: inline-block; margin: 0 50px; }
.form-total p label { display: inline-block; }
.form-total p span { display: inline-block; }

.table-wrap { position: relative; display: block; }
table.fee-schedule { width: 100%; margin: 0 0 10px; border-bottom: 2px solid #eaaa00; }
table.fee-schedule th { font-family: 'Bitter', sans-serif; font-weight: 600; }
table.fee-schedule th, table.fee-schedule td { padding: 15px; background: #fdf4de; font-size: 18px; }
table.fee-schedule .header th { background: #fff; color: #495057; text-align: left; border-bottom: 2px solid #eaaa00; }
table.fee-schedule .kindergarten th, table.fee-schedule .kindergarten td { border-bottom: 2px solid #eaaa00; }
table.fee-schedule tr:nth-child(2n) td, table.fee-schedule tr:nth-child(2n) th { background: #fefaf1; }
table.fee-schedule td { text-align: left; font-family: 'Bitter', sans-serif; font-weight: 300; }
table.fee-schedule td.label { text-align: left; padding-left: 25px; font-weight: 400; font-style: italic; }

.asterix { font-size: 16px; font-family: 'Bitter', sans-serif; font-weight: 300; padding-top: 0 !important; }
.agree { font-family: 'Poppins', sans-serif; font-size: 20px; font-weight: 600; }

.ajax-loader { display: inline-block; width: 18px; margin: 0 0 0 10px; opacity: 0; }
.response-output-wrapper { position: fixed; top: 0; left: 0; display: none; width: 100%; z-index: 999; background: #fff; }
.response-output { position: relative; display: none; max-width: 1140px; padding: 15px 10px; background: #43ba2b; color: #fff; font-weight: bold; font-size: 18px; text-align: center; border-bottom: 1px solid #000; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 999; margin: 0 auto; }
.response-output.error { background: #cc0000; color: #fff; }


.popup-wrapper .popup .content { font-family: 'Bitter', serif; font-weight: 500; font-size: 24px; }
.popup-wrapper .popup .content h1 { margin-bottom: 35px; }
.popup-wrapper .popup .content p { padding-bottom: 20px; }

.popup-wrapper .popup .bottom { padding-top: 30px; }
.popup-wrapper .popup .bottom h3 { margin-bottom: 15px; }



.footer-wrapper { padding: 50px 20px; background: #f8f9fa; border-top: 1px solid #e9ecef; }
#footer { color: #495057; font-size: 18px; }
#footer h3 { color: #eaaa00; margin: 0 0 20px; }
#footer .cols.grid .col.col-1 { padding-bottom: 30px; }
#footer .cols.grid .col.col-3 { padding-top: 25px; border-top: 1px solid #ced4da; }

#footer ul.icons-eps {}
#footer ul.icons-eps li { display: inline-block; padding: 0 25px 0 0; }
#footer ul.icons-eps li:last-of-type { padding-right: 0; }
#footer ul.icons-eps li img.eps-1 { max-width: 400px; }
#footer ul.icons-eps li img.eps-2 { max-width: 200px; }

.bottom-footer-wrapper { width: 100%; padding: 10px 20px; background: #343a40; border-top: 2px solid #ffc845; }
#bottom-footer { color: #fff; font-size: 14px; font-weight: 400; font-family: 'Bitter', serif; }
#bottom-footer a { color: #fff; border-bottom: 1px solid #fff; }
#bottom-footer a:hover { color: #fff; border-bottom-color: rgba(255, 255, 255, 0); }


.footer-wrapper.col-spacing, .bottom-footer-wrapper.col-spacing { padding-left: 20px; padding-right: 20px; }




a.logout { font-weight: 500; font-family: 'Poppins', sans-serif; font-size: 20px; color: #fff; }
a.logout:hover { color: #ffc845; }

.admin form { max-width: 500px; margin: 0 auto; }
.admin h2 { margin-bottom: 20px; }
.admin .content { padding: 60px 50px 10px; }
.admin .content p + .buttons { padding-top: 10px; }
.admin .content p:last-of-type + .buttons { padding-top: 30px; }
.admin .question input[type="submit"], .admin input[type="button"] { max-width: 300px; margin-bottom: 20px; }

.loading { background: url(../images/loader.gif) center center no-repeat; min-height: 100px; }


@viewport { width: auto; }

@media only screen and (max-width: 1280px) {
  
  BODY { font-size: 18px; }
  h1 { font-size: 38px; }
  h2 { font-size: 28px; }
  h5 { font-size: 24px; }
  
  img.logo { width: 440px; }
  
  .question.radio .radio-btn label, .question.checkbox label { font-size: 18px; }
  
  #footer .cols.grid.cols-2 { grid-template-columns: 1fr 360px; }
  
}

@media only screen and (max-width: 1100px) {
  
  h1 { font-size: 34px; }
  h2 { font-size: 26px; }
  
  img.logo { width: 400px; }
	
}

@media only screen and (max-width: 1000px) {
 
  #header .cols { align-items: center; }
  #header .menu { display: none; }
  .flyout { display: block; }
  
  #footer .cols.grid.cols-2 { grid-template-columns: 1fr; grid-template-areas: "col-1" "col-3" "col-4"; grid-template-rows: auto auto auto; gap: 0; }
  #footer .cols.grid.cols-2 .col-4 { padding-top: 40px; }
  
}

@media only screen and (max-width: 800px) {
 
  h1 { font-size: 30px; }
  h2 { font-size: 22px; }
  h3 { font-size: 20px; }
  
  #top-header .menu li a { font-size: 16px; }
  
  .section-wrapper { padding-top: 30px; padding-bottom: 30px; }
  .col-spacing { padding-left: 50px; padding-right: 50px; }
  
  .popup-wrapper { position: absolute; padding: 50px; }
  .popup-wrapper .popup { padding: 50px; }
  .popup-wrapper .popup a.btn-close { top: 15px; }
  .popup-wrapper .popup .content h1 { margin-bottom: 30px; }
  .popup-wrapper .popup .content { font-size: 20px; }
  .popup-wrapper .popup .bottom { padding-top: 15px; }
  
}

@media only screen and (max-width: 667px) {
  
  .content .box { padding: 20px; }
	
  .question input[type="text"], .question input[type="email"], .question input[type="password"], .question select { font-size: 18px; }
	.question-split .question, .question-split.thirds .question { width: 100%; float: none; }
	.question.checkbox label { float: left; width: 90%; }
	.question select, .question-split .question select, .question-split.thirds .question select { background-size: 6% auto; }
	
	.table-wrap { width: 100%; overflow: auto; }
	
	.form-total { padding: 10px; }
	.form-total p { font-size: 14px; }
	.response-output { padding: 10px; font-size: 14px; }
  
  .footer-wrapper { padding-top: 30px; padding-bottom: 30px; }
  #footer .cols.grid .col.col-3 .cols.flex { display: block !important; }
  #footer .cols.grid .col.col-3 .cols.flex .col { padding-right: 0; margin-bottom: 20px; }
  #footer .cols.grid .col.col-3 .cols.flex .col:last-child { margin-bottom: 0; }
  #footer .cols.grid.cols-2 .col-4 { padding-top: 10px; }
  #footer ul.icons-eps li img.eps-1 { max-width: 300px; }
	
}

@media only screen and (max-width: 600px) {
  
  img.logo { width: 320px; }
  
  #flyout-menu #flyout-menu-main, #flyout-menu #flyout-menu-sub { padding-left: 20px; padding-right: 20px; }
  #flyout-menu li a { font-size: 28px; }
  
  #top-header .cols.flex { display: block !important; }
  #top-header .cols.flex .col-1 { display: none; }
  #header { padding: 20px 0; }
  
  .footer-wrapper { padding-bottom: 10px; }
  
}

@media only screen and (max-width: 480px) {
	
  BODY { font-size: 16px; }
  h1 { font-size: 26px; }
  h2 { font-size: 20px; }
  .button a { font-size: 16px; }
  
  .col-spacing { padding-left: 20px; padding-right: 20px; }
  
  img.logo { width: 270px; }
  #top-header .menu li a { font-size: 14px; }
	
	table.fee-schedule th, table.fee-schedule td { font-size: 13px; }
	.content .registration.step .btn { font-size: 14px; }
	.form-total p { margin: 0 5px; }
  
  .popup-wrapper { padding: 30px 20px; }
  .popup-wrapper .popup { padding: 45px 20px; }
  .popup-wrapper .popup .content { font-size: 16px; }
  .popup-wrapper .popup .bottom { font-size: 15px; }
  
  #footer { font-size: 16px; }
  #bottom-footer { font-size: 13px; }
  #footer .cols.flex { display: block !important; }
  #footer .cols.flex .col { padding-right: 0; margin-bottom: 20px; }
  #footer .cols.flex .col:last-child { margin-bottom: 0; }
  
  .admin .content { padding: 30px 20px 10px; }
	
}

@media only screen and (max-width: 420px) {
  
  img.logo { width: 220px; }
  .flyout a.icon-menu { font-size: 24px; }
  #flyout-menu li a { font-size: 24px; }
	
}