/*
Theme Name: Pratt Custom WordPress Theme
Author: Gragg Advertising
Version: 0
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checklist"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* screenreader */
.sr-only {border:0; clip:rect(0, 0, 0, 0); height:1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px}
.sr-only-focusable:active,.sr-only-focusable:focus {clip:auto; height:auto; overflow:visible; position:static; white-space:normal; width:auto}
#skipnav {background-color: #0e3a67; display: inline-block; color: #fff; left: 0; padding: 0.5em 1em; position: absolute; text-decoration: none; top: 0; z-index: 10}

/* vars */
:root {
	--primary: #0e3a67;
	--secondary: #e5f0f8;
	--neutral: #ffffff;
	--neutral_dark: #000000;
	--border: #a4cd39;
	--border2: #8c8e90;
	--h1: 3.5em;
	--h2: 2.25em;
	--h3: 1.625em;
	--h4: 1.3125em;
	--h5: 1.25em;
	--h6: 1.125em;
}

/* basic */
html {background-color: var(--neutral); height: 100%; scroll-behavior: smooth; width: 100%}
body {align-items: stretch; background-color: var(--neutral); color: var(--neutral_dark); display: flex; flex-direction: column; font-family: sans-serif; overflow-x: clip; min-height: 100%; margin: 0 auto; position: relative}
h1, h2, h3, h4, h5, h6, p {margin: 1rem 0}
li {margin: 0.5rem 0}
p {line-height: 1.2}
h1, h2, h3, h4, h5, h6, li {line-height: 1}
h1, h2 {font-family: "futura-pt-bold", sans-serif; font-style: normal; font-weight: 700}
h1 {font-size: var(--h2)}
h2 {font-size: var(--h3)}
h3 {font-size: var(--h4)}
h4, h5 {font-size: var(--h5)}
h6 {font-size: var(--h6)}
a {color: inherit; text-decoration-color: var(--border)}
img {height: auto; object-fit: contain; max-width: 100%}
pre {text-align: left !important; white-space: pre-wrap}
hr {border-color: var(--primary)}
[id] {scroll-margin-top: 7rem}

/* general */
.container {padding: 0 1em; position: relative; z-index: 0}
.container .container {padding: 0}
.d-only {display: none}
.social {list-style: none; margin: 1rem -0.5rem; padding: 0}
.social li {display: inline-block; margin: 0 0.5rem}
.link {border-bottom: 2px solid var(--border); display: inline-block; margin: 0 0.5rem 0.25rem 0; padding: 0 1.5em 0 0; position: relative; text-decoration: none}
.altcol2 .link, section:not(.altcol2) .box_link .link {border-bottom: 2px solid var(--neutral)}
.button {background-color: transparent; border: 2px solid var(--border); color: var(--primary); display: inline-block; margin: 0; padding: 0.5rem 1rem; text-align:center; text-decoration: none; text-shadow:none}
.button::after, .link::after {color: var(--border); content: '\2192'}
.button::after {margin-left: 0.5rem}
.link::after {position: absolute; right: 0; top: 50%; transform: translateY(-50%)}
.link .sublabel {display: block; font-size: .8rem; font-weight: normal}
.button span, .button::after {display: inline-block; vertical-align: middle}
.hasBG .button {background-color: var(--neutral)}
.button:hover {background-color: var(--primary); color: var(--neutral)}
.altcol2 .button {color: var(--neutral)}
.altcol2 .button:hover {background-color: var(--neutral); color: var(--primary)}
.buttonholder .button {margin: 0 0.5rem 0.5rem 0} 
span.highlight {background-color: var(--primary); box-decoration-break: clone; color: var(--neutral); line-height: 1.5; padding: 0.125rem 0.5rem} 
.section.altcol2 span.highlight {background-color: var(--secondary); color: var(--primary)}
.videoholder {height: 0; padding-bottom: 56.25%; position: relative}
.videoholder iframe, .mapholder iframe {border: none; height: 100%; left: 0; position: absolute; top: 0; width: 100%}
body.js .accordion_toggle {cursor: pointer; padding-right: 2rem; position: relative; user-select: none}
body.js .accordion_toggle:after {color: var(--primary); content: '\203A'; font-size:var(--h4); position: absolute; right: 0; top: 0; transform: rotate(90deg)}
body.js .accordion_toggle[aria-expanded='true']:after {transform: rotate(90deg) scaleX(-1)}
.js-only {display:none}
body.js .js-only {display:initial}
img.pdf {height: 1.5rem; width: auto}

/* form */
.theme-form ::-ms-input-placeholder {color: inherit; opacity: 1}
.theme-form ::-webkit-input-placeholder {color: inherit}
.theme-form ::placeholder {color: inherit; opacity: 1}
.theme-form select:invalid{color: inherit}
.theme-form fieldset {border: none; margin: 0; padding: 0}
.theme-form .field {margin: 1rem 0}
.theme-form label:not(.sr-only), .theme-form legend {display: block; font-weight: bold; margin: 1rem 0}
.theme-form .flex_cb legend {margin-bottom: 0.5rem}
.theme-form .field.cb label {display: inline-block; font-weight: normal; margin: 0}
.theme-form input, .theme-form select, .theme-form textarea {background-color: var(--secondary); border: none; box-sizing: border-box; color: var(--neutral_dark); height: 2.25rem; padding: 0.5rem 1rem; text-align: left; width: 100%}
.field.auto input, .field.auto select, .field.auto textarea {width: auto}
.theme-form textarea {min-height: 4rem; max-height: 12rem; resize: vertical}
.theme-form input[type='submit'] {background-color: var(--primary); color: var(--neutral); cursor: pointer; text-align: center}
.theme-form .field.cb {align-items: baseline; display: flex; gap: 0.5rem; margin: 0.5rem 0}
.theme-form .field.cb input {height: auto; padding: 0; width: auto}
.section.altcol .theme-form input, .section.altcol2 .theme-form input, .section.altcol .theme-form select, .section.altcol2 .theme-form select, .section.altcol2 .theme-form textarea, .section.altcol .theme-form textarea {background-color: var(--neutral)}
.section.altcol .theme-form input[type='submit'] {background-color: var(--primary)}
.section.altcol2 .theme-form input[type='submit'] {background-color: var(--secondary); color: var(--neutral_dark)}
.field.nospace {display: flex}
.field.nospace input {flex-grow: 1; width: auto}
.field.nospace input[type=submit] {flex-grow: 0; flex-shrink: 0}
/*blogsearch*/
.theme-form .postsearch_form_form .field.nospace {text-align: left}
.theme-form .postsearch_form input, .theme-form .postsearch_form select, .theme-form .postsearch_form textarea {background-color: transparent !important; border-bottom: 1px solid; color: inherit !important}
.theme-form .postsearch_form option {color: var(--neutral_dark)}
/*search*/
.theme-form.search-form {margin: 0 auto; max-width: 720px}
.theme-form.search-form input[type="submit"] {padding: 0.5rem 3rem}
/*newsletter*/
.theme-form.newsletter-form {margin: 0 auto; max-width: 360px}
/*tour*/
.fs_prehead, .tbl_cb legend {font-size: var(--h5); margin-bottom: 0}
.tbl_cb_colheadings {display: none}
.theme-form fieldset.tbl_cb {margin: 1rem 0}
.theme-form fieldset.tbl_cb [role="group"] {margin: 1rem 0}
.tbl_cb_rowheading {font-weight: bold}


/* header */
#header {background-color: var(--secondary); height: 4.5rem; margin-bottom: -6.5rem; max-width: 1920px; padding: 1rem 0; position: sticky; z-index: 10}
body.js #header {background-color: transparent; transition: background-color 500ms}
body.js.solidHeader #header {background-color: var(--primary)}
#header_wrap {display: table; height: 1px; width: 100%}
.header_obj {display: table-cell; height: 100%; vertical-align: middle}
#header_logo, #side_menu_wrap {background-color: var(--primary); box-sizing: border-box; color: var(--neutral); display: inline-block; height: 100%; padding: 0.5rem; height: 100%}
#header_logo img {display: block; width: 120px}
#side_menu_wrap {align-items: center; display: flex; margin: 0 0 0 auto; padding: 0; width: 5rem}
body.js.solidHeader #side_menu_wrap {background-color: var(--neutral); color: var(--primary)}
#side_menu_open {height: 100%; font-size: 4rem; line-height: 1; margin: 0; text-align: center; text-decoration: none; width: 100%}
/*side-menu*/
#side_menu_close {background-color: var(--border); border: none; color: var(--neutral_dark); font-weight:bold; cursor: pointer; display: none; padding: 0.5rem 1rem; position: sticky; text-align: right; text-decoration:none; top: 0; width: auto; z-index: 1}
#side_menu .menu, #side_menu .sub-menu {list-style: none; margin:0; padding: 0}
#side_menu .menu-item {margin: 0}
#side_menu .menu-item a {padding: 0.95rem 1rem; border-bottom: 1px solid var(--border2); color: var(--neutral); display: block; text-decoration: none}
#side_menu .menu > li.menu-item > a {font-weight: bold}
#side_menu .sub-menu {padding-left: 1rem}
#side_menu .menu-item-has-children > a .submenu_toggle {display: flex; flex-direction: column; font-size: 1.5rem; font-weight: normal; height: 100%; justify-content: center; padding: 0 0 0 1em; position: absolute; right: 0; text-align: center; top: 0; width: 2rem}
#side_menu .menu-item-has-children > a .submenu_toggle::after {content: '+'}
#side_menu .menu-item-has-children > a .submenu_toggle.open::after {content: '-'}
#side_menu .menu-item-has-children > a {padding-right: 2rem; position: relative}
body.js #side_menu_open, body.js #side_menu_close {display: block}
body.js #side_menu {text-align: left}
body.js #side_menu_inner {border:0; clip:rect(0, 0, 0, 0); height:1px; padding:0; position:absolute; white-space:nowrap; width:1px}
body.js.menu_open #side_menu_inner {background-color: var(--primary); border: 2px solid var(--neutral2); border-right: none; border-top: none; clip:auto; color: var(--neutral3); height:auto; margin: 0 0 0 auto; max-width: 360px; position:static; white-space:normal; width:auto}
body.menu_open {overflow: hidden}
body.menu_open #side_menu_overlay {background-color: rgba(0,0,0,0.5); bottom: 0; left: 0; overflow-y: auto; position: fixed; right: 0; top: 0}

/* main */
#main {flex-grow: 1}

/* hero */
#hero {padding: 5rem 0 0 0}
#hero.has_BG {background-color: var(--primary); background-size: cover; color: var(--neutral); padding: 10rem 0 2rem 0}
#hero.has_BG #hero_copy {text-shadow: 1px 1px 0 var(--neutral_dark), 1px -1px 0 var(--neutral_dark), -1px 1px 0 var(--neutral_dark), -1px -1px 0 var(--neutral_dark), 2px 2px 4px var(--neutral_dark)}
#hero.has_BG.home {height: 1px; min-height: 28rem; padding: 7rem 0 1rem 0}
#hero.has_BG.home .container {display: flex; flex-direction: column; height: 100%; justify-content: end}
#hero.has_BG.home #hero_copy {background-color: var(--neutral); color: var(--primary); margin: 1rem; padding: 1rem 2rem; text-shadow: none}
#hero video {display: none}
#breadcrumbs a {text-decoration: none}
#breadcrumbs .current_page {font-weight: bold}

/* posts */
#post_hero_img {background-size: cover;}
.paginationwrap {margin: 2rem 0; text-align: center}
.page-numbers {font-size: var(--h3); padding: 0 0.5rem}

/* sections */
/*general*/
.section, .sub_section {margin: 4rem 0}
.section.altcol, .section.altcol2, .section.hasBG {margin: 0; padding: 4rem 0}
.section.nomargin {margin: 0; overflow: hidden; padding: 0}
.section.hasBG {background-size: cover; text-shadow: 1px 1px 0 var(--neutral), 1px -1px 0 var(--neutral), -1px 1px 0 var(--neutral), -1px -1px 0 var(--neutral), 0 0 1px var(--neutral)}
.section.altcol {background-color: var(--secondary)}
.section.altcol2 {background-color: var(--primary); border-top:solid 3px var(--border); color: var(--neutral)}
.section.altcol2.hasBG {color: var(--neutral); text-shadow: 1px 1px 0 var(--neutral_dark), 1px -1px 0 var(--neutral_dark), -1px 1px 0 var(--neutral_dark), -1px -1px 0 var(--neutral_dark), 0 0 1px var(--neutral_dark)}
.section .sub_section:first-child {margin-top: 0}
.section .sub_section:last-child {margin-bottom: 0}
.tabsnav {border:0; clip:rect(0, 0, 0, 0); height:1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px}
.sub_section .tabsnav_select {display:none}
.sub_section .tabsnav_select option {color: var(--neutral_dark)}
body.js .sub_section .tabsnav_select {background-color: transparent; border: 2px solid var(--border); border-radius: 0; box-sizing: border-box; color: var(--primary); display: block; padding: 1rem; width: 100%}
body.js .section.altcol2 .sub_section .tabsnav_select {color: var(--neutral)}
.sub_section .staff_img {background-size: cover}
.sub_section .staff_img.empty {background-repeat: no-repeat; background-size: contain}
.sub_section .staff_infogroup {margin: 1rem 0}
.sub_section .staff_name, .staff_title, .staff_email, .staff_phone {margin: 0.5rem 0}
.sub_section .staff_name {font-size: var(--h4); font-weight: bold}
.sub_section .staff_title {font-size: var(--h6); font-weight: bold}
.sub_section .post_title {font-size: var(--h3)}
.sub_section .post_title a {text-decoration: none}
.sub_section .post_date {font-weight: bold}
.sub_section .post_excerpt {margin: 1rem 0}

.board_agenda {border-collapse: collapse; border-style: hidden; margin: 2rem 0}
.board_agenda td, .board_agenda th {border: 1rem solid transparent; text-align: center; vertical-align: bottom}
.board_agenda td.title, .board_agenda th.title {text-align: left}

/*boxes*/
.sub_section_boxes .box {background-color: var(--secondary); color: var(--neutral_dark); margin: 1rem auto; padding: 2rem; text-align: center}
.section.altcol .sub_section_boxes .box, .section.altcol2 .sub_section_boxes .box {background-color: var(--neutral)}
.sub_section_boxes.color_dark .box, .section.altcol .sub_section_boxes.color_dark .box {background-color: var(--primary); color: var(--neutral)}
.section.altcol2 .sub_section_boxes.color_dark .box {background-color: var(--secondary); color: var(--neutral_dark)}
.sub_section_boxes.color_light.layout_columns .box {padding: 1rem}
.sub_section_boxes .box > :first-child {margin-top: 0}
.sub_section_boxes .box > :last-child {margin-bottom: 0}
.sub_section_boxes .box_heading {font-size: var(--h5)}
.sub_section_boxes .box_icon {display: block; height: 96px; margin: 1rem auto; width: auto}
.sub_section_boxes .box.hasLink {padding-bottom: 4rem; position: relative}
.sub_section_boxes .box_link {bottom: 2rem; left: 0; position: absolute; right: 0}
.sub_section_boxes.layout_block .box.hasLink {padding-bottom: 8rem}
.sub_section_boxes.layout_block .box_link {bottom: 4rem}
.sub_section_boxes.layout_block .box .button, .section.altcol2 .sub_section_boxes.color_dark.layout_block .box .button {border-color: var(--primary); background-color: var(--primary); color: var(--neutral)}
.sub_section_boxes.layout_block .box .button, .section.altcol2 .sub_section_boxes.color_dark.layout_block .box .button:hover {background-color: var(--neutral); color: var(--primary)}
.sub_section_boxes.color_dark.layout_block .box .button {background-color: var(--neutral); border-color: var(--neutral); color: var(--primary)}
.sub_section_boxes.color_dark.layout_block .box .button:hover {background-color: var(--neutral); color: var(--primary)}

/*calendar*/
.sub_section_events .event {border-bottom: 2px solid var(--primary); margin: 1rem 0; padding-bottom: 1rem}
.sub_section_events .event_tbl {display: table; table-layout: fixed; width: 100%}
.sub_section_events .event_datebox, .event_desc {display: table-cell}
.sub_section_events .event_datebox {vertical-align: top; width: 8rem}
.sub_section_events .event_datebox_inner {aspect-ratio: 1; background-color: var(--primary); color: var(--neutral); line-height: 1;	padding: 1rem; text-align: center}
.sub_section_events .event_datebox .datemonth {display: block; font-size: var(--h1); font-weight: bold}
.sub_section_events .event_desc {padding-left:1rem; vertical-align: middle}
.sub_section_events .event_desc >:first-child {margin-top: 0}
.sub_section_events .event_desc >:last-child {margin-bottom: 0}
.sub_section_events .event_name {font-size: var(--h4)}
.sub_section_events .event_name a {text-decoration: none}
.section.altcol2 .sub_section_events .event {border-color: var(--secondary)}
.section.altcol2 .sub_section_events .event_datebox_inner {background-color: var(--secondary); color: var(--neutral_dark)}

/*carousel*/
.sub_section_carousel .heading {text-align: center}
.sub_section_carousel .carousel_wrap {margin: 0 auto; max-width: 640px}
.sub_section_carousel .carousel .swiper-wrapper {align-items: center; max-width: 640px}
.sub_section_carousel .carousel_slide img {display: block; margin: 0 auto; max-width: 100%}
.sub_section_carousel .swiper-nav {color: var(--primary); font-size: var(--h1); font-weight: bold; text-align: center}
.sub_section_carousel .swiper-button {cursor: pointer; display: inline-block; margin: 0 1rem; padding: 1rem; user-select: none}
.sub_section_carousel .swiper-button-disabled {opacity: 0.5}

/*cta*/
.sub_section_cta.layout_center .cta {text-align: center}
.section.hasBG .sub_section_cta .cta {background-color: var(--neutral); color: var(--neutral_dark); margin: 6rem 2rem 0 2rem; padding: 1rem 2rem; text-shadow: none}
.section.hasBG .sub_section_cta .button {color: var(--primary)}
.section.hasBG .sub_section_cta .button:hover {background-color: var(--primary); color: var(--neutral)}

/*featured post*/
.sub_section_featuredpost .post_img {aspect-ratio: 1; background-size: cover}
.sub_section_featuredpost .post_img.empty {background-repeat: no-repeat; background-size: contain}

/*info-links*/
.sub_section_infolinks .linkgroup .heading {font-size: var(--h3)}
.sub_section_infolinks .linkgroup.layout_link .linkholder, .linkgroup.layout_largelink .linkholder {font-weight: bold}
.sub_section_infolinks .linkgroup.layout_link .linkholder {font-size: var(--h6); margin: 0.5rem 0}
.sub_section_infolinks .linkgroup.layout_largelink .linkholder {font-size: var(--h4)}
.sub_section_infolinks .linkgroup.select select {background-color: transparent; border: 2px solid var(--primary); color: var(--primary); display: inline-block; margin: 0; padding: 0.5rem 1rem}

/*info-list*/
.sub_section_infolist .infolist_img {aspect-ratio: 1; background-size: cover}

/*linkbar*/
.sub_section_linkbar .linkbar {text-align: center}
.sub_section_linkbar .linkbar .buttonholder {margin: 0.5rem 0}
.sub_section_linkbar .linkbar .link {margin: 0.5rem}

/*link + links*/
.sub_section_link_links .link_link {color: var(--primary); display: block; margin: 1rem 0}

/*news-events*/
.sub_section_newsevents .newsevents_post {margin: 2rem 0}
.sub_section_newsevents .newsevents_date, .newsevents_title {font-size: var(--h4); font-weight: bold}
.sub_section_newsevents .newsevents_date {border-bottom: 2px solid var(--primary)}
.sub_section_newsevents .newsevents_title a {text-decoration: none}

/*posts*/
.sub_section_posts .post {margin: 2rem 0}
.sub_section_posts .post_img {aspect-ratio: 1; background-size: cover}
.sub_section_posts .post_img.empty {background-repeat: no-repeat; background-size: contain}

/*row*/
.sub_section_row .imgholder {aspect-ratio: 1; background-size: cover}

/*staff*/
.sub_section_staff .staff_toptitle {font-size: var(--h2)}
.sub_section_staff .staff_img {aspect-ratio: 1}

/*tab boxes*/
.sub_section_tab_boxes .box {margin: 2rem 0}
.sub_section_tab_boxes .box .link {display: inline-block; margin: 1rem 0 0 0}
.sub_section_tab_boxes .boximg {aspect-ratio: 1; background-size: cover}

/*testimonials*/
.sub_section_testimonials .testimonials_wrapper .imgvidholder {aspect-ratio: 1.61803; background-position: center; background-size: cover}
.sub_section_testimonials .testimonial_carousel {background-color: var(--secondary); padding-bottom: 2rem}
.sub_section_testimonials .testimonial {padding: 2rem 1rem 0 1rem}
.sub_section_testimonials .testimonial_img_name .imgholder .img {aspect-ratio: 1; background-position: center; background-size: cover}
.sub_section_testimonials .nameholder h2 {font-size: var(--h4)}
.sub_section_testimonials .testimonial_copy {margin: 2rem 0}
.sub_section_testimonials .linkholder {color: var(--primary); margin-bottom: 0; padding: 0 1rem}
.sub_section_testimonials .swiper-nav {bottom: 0; position: absolute; right: 0}
.sub_section_testimonials .swiper-button {background-color: var(--primary); color: var(--neutral); cursor: pointer; display: inline-block; font-size: 1.5rem; line-height: 1; padding: 0.5rem 1rem; user-select: none}
.sub_section_testimonials .swiper-button-disabled {opacity: 0.5}
.section.altcol .sub_section_testimonials .testimonial_carousel, .section.altcol2 .sub_section_testimonials .testimonial_carousel {background-color: var(--neutral)}

/* sidebar layout */
.sidebar {margin-bottom: 2rem}

/* program page */
.apply-buttonholder {margin-top: 2rem}

/* footer */
#footer {background-color: var(--primary); color: var(--neutral); padding: 2rem 0}
#footer_buttons, #footer_notice, .footer_col_right {margin: 4rem 0}
#footer_buttons .button {border-color: var(--neutral); display: block; text-align: center}
#footer_buttons .button:hover {text-decoration: none}
#footer .button {color: var(--neutral)}
#footer .button:hover {background-color: var(--neutral); color: var(--primary)}
.footer_col_heading {font-size: var(--h3)}
.footer_col_heading::after {background-color: var(--neutral); content: ''; display: block; height: 3px; margin: 0.5rem 0 1rem; width: 2rem}
.footer_links {list-style: none; padding: 0}
.footer_links li {margin: 1rem 0}
.footer_links.social li {margin: 0 0.5rem}
.footer_links a {text-decoration: none}
