/* 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-bottom: 1px solid #e9ecef; margin: 0 0 30px; padding: 10px 0 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; }

.left { position: relative; float: left; }
.right { position: relative; float: right; }

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

a.tel, a.tel:hover { color: #2e2e2e; cursor: default; }

/*** site styles ***/

html { -webkit-text-size-adjust: 100%; }
html, BODY { height: 100%; }
BODY { background: #fff; font-family: 'Barlow', sans-serif; font-size: 20px; line-height: 1.3; color: #343a40; text-align: center; }

h1, h2, h3, h4 { margin: 0; padding: 0; line-height: 1.2; color: #13294b; font-weight: 700; }
h1 { font-size: 56px; margin: 0 0 25px; }
h2 { font-size: 28px; margin: 0 0 15px; color: #a6192e; }
h3 { font-size: 24px; margin: 0 0 15px; color: #a6192e; font-weight: 500; }
h4 { font-size: 18px; margin: 0 0 15px; color: #000; }

h2 span, h3 span { font-weight: normal; font-size: 15px; }

p { padding: 0 0 20px; margin: 0; line-height: 1.4; }
p:last-child, p:last-of-type { padding-bottom: 0; }
/*p + h2, p + h3 { padding-top: 30px; }*/
p:last-child + h2, p:last-of-type + h2, p:last-child + h3, p:last-of-type + h3 { padding-top: 25px; }

a { color: #13294b; text-decoration: underline; }
a:hover { color: #a6192e; text-decoration: underline; }

strong, b { font-weight: 700; }

ul, ol { padding: 0 0 20px; margin: 0; }
ul:last-of-type, ol:last-of-type { padding-bottom: 0; }
ul li, ol li { list-style-type: disc; margin: 0 0 0 25px; padding: 2px 0; }
ol li { list-style-type: decimal; }
ol.alphabet > li { list-style-type: upper-alpha; }
ol.alphabet li ul li { list-style-type: disc; }
p:last-of-type + ul, p:last-of-type + ol { padding-top: 10px; }
ul:last-of-type + p, ol:last-of-type + p, ul:last-of-type + h3, ol:last-of-type + h3 { padding-top: 20px; }

.row { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; }
.row + .row { padding-top: 25px; }

.grid { display: grid; gap: 0px 50px; grid-template-rows: 1fr; }
.grid .col { position: relative; display: block; box-sizing: border-box; -moz-box-sizing: border-box; }
.grid .col.col-1 { grid-area: col-1; }
.grid .col.col-2 { grid-area: col-2; }
.grid .col.col-3 { grid-area: col-3; }


.header-wrapper { position: relative; display: block; background: #13294b; padding: 20px 20px; box-sizing: border-box; -moz-box-sizing: border-box; }
#header { position: relative; display: block; width: 100%; max-width: 1220px; margin: 0 auto; padding: 0; }
#header .logo { position: relative; display: block; width: 240px; margin: 0; padding: 0; z-index: 100; float: left; }
#header .logo img { position: relative; display: block; }
#header .logo h2 { text-indent: -9999px; overflow: hidden; font-size: 1px; border: none; line-height: 1; height: auto; margin: 0; padding: 0; }


.site-wrapper { position: relative; display: block; padding: 100px 20px 60px; box-sizing: border-box; -moz-box-sizing: border-box; }
.site { position: relative; display: block; width: 100%; max-width: 1220px; margin: 0 auto; box-sizing: border-box; -moz-box-sizing: border-box; }




.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 10px; }
.content .registration + .registration { padding-top: 30px; border-top: 1px solid #e9ecef; }

.content .box { border: 2px solid #621a4b; padding: 10px; background: #fff; }
.content p + .box { margin-top: 15px; }
.content .box + p { padding-top: 25px; }
.content .box + h2 { padding-top: 20px; }
.content p.small { font-size: 16px; }

.content.registration-form  { padding-top: 35px; }

.content .registration.step .btn { color: #FFF; font-size: 16px; padding: 8px 15px 5px; margin: 10px 0 0; outline: 0; border: none; background: #621a4b; text-transform: uppercase; transition: all .6s; -moz-transition: all .6s; -webkit-transition: all .6s; -o-transition: all .6s; }
.content .registration.step .btn.btn-remove { float: right; }
.content .registration.step .btn:hover { background: #121212; color: #fff; }
.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: 30px; }
.question-multiple .question-group + .question-group { padding-top: 30px; border-top: 1px solid #e9ecef; }
.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; }

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; }
.question label { position: absolute; top: 0; display: none; width: 100%; opacity: 0; font-size: 16px; color: #8894a4; font-weight: 500; -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 { position: relative; width: 100%; background: #f8f9fa; font-family: 'Barlow', sans-serif; font-size: 20px; letter-spacing: .02rem; color: #13294b; padding: 15px 15px; border: none; border: 1px solid #e9ecef; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-transition: all 0.3s ease-out; transition: all 0.2s ease-out; }
.question input[type="text"].alt { background: #ecf3ff; }

.question .select-wrap { position: relative; display: block; background: #f8f9fa; border: 1px solid #e9ecef; }
.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: #13294b; 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 { border-color: #fbdd7a; outline: none; }
.question .input-error input[type="text"], .question .input-error input[type="email"], .question .input-error input[type="password"], .question .select-wrap.required.error { border-color: #cc0000; outline: none; }

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

.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.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-split .question { width: 50%; float: left; padding: 0 0 0 20px; }
.question-split .question.question-half { float:none; }
.question-split.thirds .question { width: 33.3333%; }
.question-split.fourths .question { width: 25%; }
.question-split .question.show-full { width: 100%; }

.question-split.cc-meta .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 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: #343a40; }

.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.radio.inline .radio-btn .error { display: none !important; }

.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.previous-school, .question.kindergarten-class, .registration.new-families, .registration.paw, .registration.paw .two-payment, .church-name-other, .registration.lump, .registration.ccep, .registration.mission, .registration.partnership, .registration.new-instructions, .registration.exsisting-instructions, .registration.step, .payment-method, .payment-credit-card, .terms-conditions, .registration.registration-fees-note, .registration.submit-box { display: none; }

.hide-other { position: absolute; top: 0; right: 0; width: 1px; opacity: 0; overflow: hidden; }


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

.content .buttons { position: relative; display: block; padding: 30px 0 0; }
.admin h2 span { font-size: 28px; color: #13294b; font-weight: 700; }
.admin .content { padding: 60px 20px 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"] {
	min-width: 300px;
	max-width: none;
	width: auto;
	margin-bottom: 20px;
}

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

.question input[type="submit"], input[type="button"] {
	width: 100%;
	max-width: 600px;
	color: #FFF;
	font-size: 20px;
	padding: 18px 15px 15px;
	text-align: center;
	outline: 0;
	border: none;
	background: #13294b;
	font-weight: 600;
	transition: all .6s;
	-moz-transition: all .6s;
	-webkit-transition: all .6s;
	-o-transition: all .6s;
	border-radius: 6px;
	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; }
input[type="button"].reverse, input[type="button"].btn-remove {
	background: #fff;
	color: #13294b;
	border: 1px solid #adb5bd;
}
.question input[type="submit"]:hover, input[type="button"]:hover { background: #a6192e; color: #fff; }
input[type="button"].reverse:hover, input[type="button"].btn-remove:hover { background: #fef5d7; color: #13294b; }
.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; }

dialog .dialogButtons {
	display: grid;
	grid-template-columns: repeat(2, 160px);
	justify-content: space-between;
	border-top: 1px solid #ccc;
	margin-top: 40px;
	padding-top: 20px;
}
dialog.clearInProgress .dialogButtons {
	grid-template-columns: 1fr;
}
dialog .dialogButtons input[type='button'] {
	min-width: auto;
}
dialog.clearInProgress .dialogButtons input[type='button'] {
	display: none;
}
dialog .dialogButtons .spinner {
	display: none;
}
dialog .dialogButtons .spinner img {
	display: inline;
}
dialog.clearInProgress .dialogButtons .spinner {
	display: block;
	text-align: center;
}

.parents .question-multiple .question-group input[type="button"].btn-remove { background: #a6192e; color: #fff; }
.parents .question-multiple .question-group input[type="button"].btn-remove:hover { background: #fef5d7; color: #13294b; }
.parents .question-multiple .question-group:first-of-type input[type="button"].btn-remove { background: #fff; color: #13294b; }
.parents .question-multiple .question-group:first-of-type input[type="button"].btn-remove:hover { background: #fef5d7; color: #13294b; }

.parents .question-multiple .question-group + .question-group .row-3, .parents .question-multiple .question-group + .question-group .row-4 { height: 1px; overflow: hidden; opacity: 0; margin: 0; }
.parents .question-multiple .question-group:first-child .parent-add-information { height: 1px; overflow: hidden; opacity: 0; margin: 0; }

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


.content .registration input[type="button"].btn.disabled, .content .registration input[type="button"].btn.disabled:hover, .content .registration input[type="button"].btn.disabled:active { color: #FFF; background: #13294b; opacity: .2; }


.form-total { position: fixed; bottom: 0; left: 0; display: none; width: 100%; padding: 15px 10px; border-top: 2px solid #13294b; background: #a6192e; color: #fff; font-weight: bold; text-align: center; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 999; }
.form-total p { padding-bottom: 0; font-size: 16px; display: inline-block; margin: 0 15px; }
.form-total p label { display: inline-block; }
.form-total p span { display: inline-block; }

.table-filter {
	display: grid;
    grid-template-columns: 300px 1fr;
}
.table-page-selector {
    text-align: right;
}
.table-page-selector a {
    margin-right: 10px;
}
.registration-spinner td img {
	margin: 0 auto;
}

.table-wrap { position: relative; display: block; }
.table-wrap + .table-wrap { margin-top: 30px; }
table.fee-schedule { width: 100%; border: none; margin: 0 0 10px; border: 2px solid #a6192e; }
table.fee-schedule th { font-weight: 700; }
table.fee-schedule th span { font-weight: 400; font-size: 16px; }
table.fee-schedule th, table.fee-schedule td { padding: 10px 15px; background: #f8f9fa; border-top: 1px solid #e9ecef; border-bottom: 1px solid #e9ecef; }
table.fee-schedule .header th { background: #a6192e; color: #fff; text-align: left; }
table.fee-schedule tr:nth-child(2n) td, table.fee-schedule tr:nth-child(2n) th { background: #fff; border: none; }
table.fee-schedule td { text-align: left; }
table.fee-schedule td.label { text-align: left; padding-left: 25px; }
table.fee-schedule td.asterix, .asterix { font-size: 18px; }
table.fee-schedule td a { color: #a6192e; text-decoration: none; }
table.fee-schedule td a:hover { color: #13294b; text-decoration: none; }

table.alternate.fee-schedule { border-color: #13294b; }
table.alternate.fee-schedule .header th { background: #13294b; }

table.sponsorship {
	width: 100%; margin: 0 0 10px; border: 2px solid #13294b;
}
table.sponsorship .header th { background: #13294b; color: #fff; text-align: left; }
table.sponsorship th { font-weight: 700; }
table.sponsorship th, table.sponsorship td { padding: 4px 10px; background: #f8f9fa; border-top: 1px solid #e9ecef; border-bottom: 1px solid #e9ecef; }

.email-validation-icon {
	margin-left: 10px;
}
.email-validation-icon.icon-cancel {
	color: #cc0000;
}
.email-validation-icon.icon-ok {
	color: green;
}
.email-error {
	color: #cc0000;
	text-align: left;
}

.noa-upload .icon-ok-circled, .noa-upload .filename {
	display: none;
}

#teacher-info, #assistance-info, .financial-responsibility-contact {
	display: none;
	padding-left: 2rem;
}

.banking-info, .payment-box.other { display: none; }

.ajax-loader { display: inline-block; width: 18px; margin: 0 0 0 10px; opacity: 0; }
.response-output { position: fixed; top: 0; left: 0; display: none; width: 100%; 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; }
.response-output.error { background: #cc0000; color: #fff; }

a.logout { position: absolute; top: 0; right: 0; font-size: 16px; padding: 15px 15px 15px; outline: 0; border: none; background: #fef5d7; color: #13294b; font-weight: 600; transition: all .6s; -moz-transition: all .6s; -webkit-transition: all .6s; -o-transition: all .6s; border-radius: 6px; border-radius: 6px; text-decoration: none; }
a.logout:hover { background: #fbdd7a; color: #13294b; text-decoration: none; }


.ui-datepicker { z-index: 20 !important; }

.content .box { background: #13294b; margin-top: 40px !important; color: #fbdd7a; }



.footer-wrapper { position: relative; display: block; background: #13294b; padding: 60px 20px; box-sizing: border-box; -moz-box-sizing: border-box; }
#footer { position: relative; display: block; width: 100%; max-width: 1220px; margin: 0 auto; color: #fef5d7; }
#footer a { color: #fff; }
#footer a:hover { color: #fbdd7a; }
#footer a.tel, #footer a.tel:hover { color: #fef5d7; text-decoration: none; }
#footer .logo { position: relative; display: block; width: 240px; margin: 0; padding: 0; z-index: 100; float: left; }
#footer .logo img { position: relative; display: block; }
#footer .logo h2 { text-indent: -9999px; overflow: hidden; font-size: 1px; border: none; line-height: 1; height: auto; margin: 0; padding: 0; }

#footer .grid { grid-template-columns: auto 1fr 1fr; grid-template-areas: "col-1 col-2 col-3"; gap: 0 80px; margin-bottom: 25px; }
#footer .grid .col { text-align: left; }

#footer .row.copyright { border-top: 1px solid #42546f; font-size: 16px; color: #8894a4; }

#footer a.button { display: inline-block; color: #13294b; font-size: 20px; padding: 18px 15px 15px; text-align: center; outline: 0; border: none; background: #fff; font-weight: 600; transition: all .6s; -moz-transition: all .6s; -webkit-transition: all .6s; -o-transition: all .6s; border-radius: 6px; box-sizing: border-box; -moz-box-sizing: border-box; text-decoration: none; min-width: 230px; margin-left: 40px; }
#footer a.button:hover { background: #f7efd5; color: #13294b; text-decoration: none; }

.admin form { max-width: 500px; margin: 0 auto; }

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

@viewport { width: auto; }

@media only screen and (max-width: 800px) {
  
  #footer .grid { grid-template-columns: 1fr 1fr; grid-template-areas: "col-1 col-1" "col-2 col-3"; gap: 30px 80px; margin-bottom: 0px; grid-template-rows: auto auto; box-sizing: border-box; -moz-box-sizing: border-box; }
  #footer .logo { margin: 0 auto; width: 220px; float: none; box-sizing: border-box; -moz-box-sizing: border-box; }
  
  #footer a.button { display: block; max-width: 500px; margin: 20px auto 0; }
  
}

@media only screen and (max-width: 600px) {
	
  BODY { font-size: 18px; }
  
	#header .logo { width: 180px; }
		
	h1 { font-size: 36px; }
	h2 { font-size: 26px; }
  h3 { font-size: 22px; }
  
  .site-wrapper { padding: 50px 20px 30px; }
  
  .content p.small { font-size: 14px; }
	
	.question-split .question, .question-split.thirds .question, .question-split.thirds.cc .question, .question-split.thirds.cc .question:first-of-type { 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; }
  .question label { font-size: 14px; }
  .question input[type="text"], .question input[type="email"], .question input[type="password"], .question select, .question input[type="submit"], input[type="button"], .question.radio .radio-btn label, .question.checkbox label { font-size: 18px; }
  .question.icons img { width: 70px !important; }
	
	.table-wrap { width: 100%; overflow: auto; }
	
	.form-total { padding: 10px; }
	.form-total p { font-size: 18px; }
	.response-output { padding: 10px; font-size: 18px; }

	.admin .question input[type="submit"], .admin input[type="button"] {
		min-width: 0;
		max-width: 100%;
		width: 100%;
		font-size: 16px;
		text-overflow: ellipsis;
	}
}

@media only screen and (max-width: 480px) {
	
  #header .logo { width: 160px; }
	
	h1 { font-size: 30px; }
	h2 { font-size: 24px; }
  h3 { font-size: 20px; }
  
  .site-wrapper { padding: 30px 20px 10px; }
	
	table.fee-schedule th, table.fee-schedule td { font-size: 15px; }
	.content .registration.step .btn { font-size: 14px; }
  table.fee-schedule th span { font-size: 13px; }
  table.fee-schedule td.asterix, .asterix { font-size: 16px; }
	.form-total p { margin: 0 5px; font-size: 16px; }
  
  #footer .grid { grid-template-columns: 1fr; grid-template-areas: "col-1" "col-2" "col-3"; gap: 30px 0; margin-bottom: 0px; grid-template-rows: auto auto auto; }
  #footer .grid .col { text-align: center; }
  #footer .logo { margin: 0 auto; width: 200px; float: none; }
	
}

@media only screen and (max-width: 420px) {
  
  h1 { font-size: 26px; }
	h2 { font-size: 22px; }
  h3 { font-size: 19px; }

}