/*
Theme Name: IMBC 2025
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, .m-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: #2c713c; display: inline-block; color: #fff; left: 0; padding: 0.5em 1em; position: absolute; text-decoration: none; top: 0; z-index: 10}

/* vars */
:root {
	--bg: #ffffff;
	--bg2: #106eab;
	--bg2lt: #87b6d5;
	--bg3: #133155;
	--bg3lt: #8998aa;
	--bg4: #ed2227;
	--bg4lt: #f69093;
	--bg5: #303336;
	--menu: #d8d8d8;
	--txt: #111921;
	--txt2: #ffffff;
	--h1: 4rem;
	--h2: 3rem;
	--h3: 2.25rem;
	--h4: 2rem;
	--h5: 1.5rem;
	--h6: 1.25rem;
	--h7: 1.125rem;
}

/* basic */
html {height: 100%; scroll-behavior: smooth}
body {background-color: var(--txt2); color: var(--txt); display: flex; flex-direction: column; font-family: sans-serif; min-height: 100%}
main {flex-grow: 1}
img {height: auto; max-width: 100%}
img.alignleft, img.alignright, img.aligncenter {display: block; margin: 1rem auto}
h1, h2, h3, h4, h5, h6, p, ol, ul {margin: 1rem 0}
li {margin: 0.5rem 0}
h1, h2, h3, h4, h5, h6 {line-height: 1}
h1 {font-size: var(--h3)}
h2 {font-size: var(--h4)}
h3 {font-size: var(--h5)}
h4 {font-size: var(--h6)}
h5 {font-size: var(--h7)}
h6 {font-size: var(--h7)}
p {line-height: 1.3}
a {color: inherit; text-decoration: none;}
table {border-spacing: 1rem 0.5rem; margin: 1rem 0}
[id] {scroll-margin-top: 10rem}
.container {padding: 0 1rem}
.videoholder {margin: 1rem auto; max-width: 720px}
.mapwrapper:has(iframe), .videowrapper:has(iframe) {height: 0; padding-bottom: 56.25%; position: relative}
.mapwrapper:has(iframe) {padding-bottom: 60%}
.videowrapper:has(iframe) {padding-bottom: 56.25%}
.mapwrapper iframe, .videowrapper iframe {height: 100%; left: 0; position: absolute; top: 0; width: 100%}
.videowrapper video {display: block; height: auto; object-fit: cover; width: 100%}
.social_links a {display: inline-block; margin: 0 0.5rem 0.5rem 0}
.social_links a img {background-color: var(--txt2); display: inline-block; height: 2rem; object-fit: contain; padding: 0.5rem; width: 2rem}
.button {background-color: var(--bg4); color: var(--txt2); display: inline-block; margin: 0 1rem 1rem 0; padding: 0.5rem 1rem}
.button:focus, .button:hover {background-color: var(--bg4lt); text-decoration: none}

/* Forms */
.searchfield {display: flex}
.searchfield input {border: none; padding: 0 0.5rem}
.searchfield input[type="text"] {background-color: var(--bg)}
.searchfield input[type="submit"] {background-color: var(--bg2); color: var(--txt2); font-size: 2rem}
.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 .field {margin: 1rem 0}
.theme-form input, .theme-form select, .theme-form textarea {background-color: transparent; border: none; border-bottom: 2px solid; border-radius: 0; box-sizing: border-box; color: inherit; height: 2.25rem; padding: 0.5rem; text-align: left; width: 100%}
.theme-form select {background-color: var(--bg); color: var(--txt)}
.theme-form select:invalid{color: var(--txt)}
.theme-form textarea {min-height: 2.25rem; max-height: 8rem; resize: vertical}
.theme-form textarea.comments {display:none}
.theme-form input[type='submit'] {background-color: var(--bg4); border: none; color: var(--txt2); cursor: pointer; display: block; font-weight: bold; margin: 0; min-width: 50%; padding: 0.5rem 2rem; text-align: center; width: auto}
.theme-form .field.cb {display: table}
.theme-form .field.cb input, .theme-form .field.cb label {display: table-cell; line-height: 1; vertical-align: top}
.theme-form .field.cb input {height: auto; padding: 0; width: auto}
.theme-form .field.cb label {padding-left: 0.5rem}
.theme-form .form_disclaimer {font-size: 85%; line-height: 1}
#home_hero_form .theme-form select, #hero_form .theme-form select, .section.altcol3 .theme-form select {background-color: var(--bg3); color: var(--txt2)}
#home_hero_form .theme-form select:invalid, #hero_form .theme-form select:invalid, .section.altcol2 .theme-form select .section.altcol3 .theme-form select:invalid{color: var(--txt2)}
.section.altcol2 .theme-form select {background-color: var(--bg2); color: var(--txt2)}

/* Header */
#header {background-color: var(--txt2); box-shadow: 0 0.25rem 0.25rem -0.25rem var(--bg5); position: sticky; top: 0; z-index: 10}
#top_buttons {display: table; table-layout: fixed; width: 100%}
#top_buttons .link {background-color: var(--bg2); color: var(--txt2); display: table-cell; font-weight: bold; padding: 0.5rem; text-align: center; text-decoration: none; vertical-align: middle}
#top_buttons .link:nth-child(2n) {background-color: var(--bg4)}
#top_buttons .link:hover {text-decoration: none}
#header_logo_menu_bar {align-items: center; display: flex; gap: 1rem; margin: 1rem 0}
#header_logo {flex: 1 1 200px}
/*menu*/
#main_menu_open {background: transparent; border: none; color: var(--bg4); cursor: pointer; display: block; font-size: 5rem; line-height: 0.8; margin: 0 0 0 auto; padding: 0; width: 4rem}
#main_menu_search_close {display: table; width: 100%}
#main_menu_search {display: table-cell; padding-left: 1rem; vertical-align: middle}
#main_menu_close {color: var(--txt); cursor: pointer; display: none; height: 2rem; line-height: 2rem; padding: 0 1rem; font-size: 2.5rem; text-align: right; vertical-align: middle}
#main_menu .menu, #main_menu .sub-menu {list-style: none; margin: 0; padding: 0}
#main_menu .menu-item {margin: 0}
#main_menu .menu-item a {padding: 0.5rem 1rem; display: block; text-decoration: none}
#main_menu .menu > .menu-item > a {font-size: var(--h6); font-weight: bold}
#main_menu .menu > .menu-item.menu-item-has-children > a:after {content: ' \25be'; white-space: nowrap}
#main_menu .sub-menu {margin: 0}
#main_menu .menu > .menu-item > .sub-menu > .menu-item > a {font-weight: bold}
#main_menu_links ul {align-items: flex-end; display: flex; font-size: 0.95rem; font-weight: bold; gap: 1rem; justify-content: space-between; list-style: none; margin: 0; padding: 0.5rem 1rem}
body.js #main_menu_open {display: block}
body.js #main_menu_close {display: table-cell}
body.js #main_menu {text-align: left}
body.js #main_menu_inner {border:0; clip:rect(0, 0, 0, 0); height:1px; padding:0; position:absolute; white-space:nowrap; width:1px}
body.menu_open #main_menu_inner {background-color: var(--menu); clip:auto; color: var(--txt); height: auto; margin: 0 0 0 auto; max-width: 360px; min-height:100%; position:static; white-space:normal; width:auto}
body.menu_open {overflow: hidden}
body.menu_open #main_menu_overlay {background-color: rgba(0,0,0,0.5); bottom: 0; left: 0; overflow-y: auto; position: fixed; right: 0; top: 0}

/* Hero */
#hero_copy, #hero_form {background-color: var(--bg3); color: var(--txt2)} 
#hero_copy {background-size: cover; padding: 9rem 1rem 1rem}
#breadcrumbs {background-color: var(--bg2); color: var(--txt2); padding: 0.5rem 1rem; width: fit-content}
#hero_copy h1, #hero_copy .subhead {text-shadow: 0 0 0.25rem var(--txt), 0 0 0.5rem var(--txt), 1px 1px 0 var(--txt), 1px -1px 0 var(--txt), -1px 1px 0 var(--txt), -1px -1px 0 var(--txt), 0 0 1px var(--txt)}
#hero .subhead, #hero_noimg .subhead {font-size: var(--h6); font-weight: bold; line-height: 1}
#hero_form {padding: 1rem} 
#home_hero {background-color: var(--bg2)}
#home_hero .container {padding: 0}
#home_hero_copy, #home_hero_form {background-color: var(--bg3)}
#home_hero_copy {background-size: cover; margin: 0 0 0 3rem; padding: 12rem 0 2rem 2rem}
#home_hero_copy h1 {background-color: var(--bg); box-decoration-break: clone; color: var(--txt); display: inline; padding-inline: 0.5rem}
#home_hero_form {color: var(--txt2); padding: 1rem}
.hero_form .theme-form input, .hero_form .theme-form select, .hero_form .theme-form textarea {padding: 0.5rem 0}

/* Sections */
section.section {margin: 4rem auto}
.copy a:not([class]) {text-decoration: underline}
.section.altcol, .section.hasBG {margin: 0 auto; padding: 2rem 0}
.section.altcol {background-color: var(--bg5); color: var(--txt2)}
.section.altcol2 {background-color: var(--bg2)}
.section.altcol3 {background-color: var(--bg3)}
.section.hasBG {background-size: cover}
.sub_section {margin: 2rem auto}
.mb_align_center {text-align: center}
.width_narrow {max-width: calc(var(--container-width) * 0.6)}
/*common-elements*/
.bg_heading, .bg_alt {background-color: var(--bg2); color: var(--txt2)}
.bg_heading {box-decoration-break: clone; display: inline; line-height: 1.25; padding: 0.25rem 0.5rem}
.section.altcol .bg_heading {background-color: var(--bg); color: var(--txt)}
.multicta_cta .linkholder a span, .image_info_block_copy a.link span {display: inline-block; vertical-align: middle}
.multicta_cta .linkholder a::after, .image_info_block_copy a.link::after {color: var(--bg2); content: '\2192'; display: inline-block; font-weight: bold; margin-left: 0.5rem; vertical-align: middle}
.ux_nav_heading, .ux_nav_links {margin: 0}
.ux_nav_links {border: 1px solid var(--bg4); list-style: none; padding: 0}
.ux_nav_links li {margin: 0}
.ux_nav_links a {border-bottom: 1px solid var(--bg4); display: block; font-weight: bold; padding: 1rem; text-decoration: none}
.ux_nav_links a:focus, .ux_nav_links a:hover, .ux_nav_links a.active, .ux_nav_links a[aria-selected="true"] {background-color: var(--bg4); color: var(--txt2)}
.ux_nav_links li:last-child > a {border: none}
.faq .question {font-weight: bold}
/*cta*/
.section.hasBG .sub_section:first-child .cta:not(:has(imgholder)) {margin: 50% 0 0 auto}
.cta .heading {background-color: var(--bg3); color: var(--txt2); margin: 0 6rem 0 0; max-width: calc(100% - 10rem); padding: 1rem 2rem; width: max-content}
.cta .copy {padding: 1rem 2rem 2rem}
.cta .buttonholder {margin: -1rem 2rem 1rem 0; text-align: right}
.cta .buttonholder .button {margin: 0 0 1rem 1rem}
.cta .imgholder {background-size: cover; padding-bottom: 130%}
.cta .imgholder:has(.filler) {padding: 0}
.sub_section_cta .cta .copy {font-size: var(--h7)}
.sub_section_cta .cta .copy p {line-height: 1.5}
/*map cta*/
.sub_section_cta.sub_type_map .cta .heading {font-size: var(--h5)}
.sub_section_cta.sub_type_map .cta .copy h2 {font-size: var(--h4)}
.sub_section_cta.sub_type_map .cta .copy h3 {font-size: var(--h5)}
.sub_section_cta.sub_type_map .cta .copy h4 {font-size: var(--h6)}
.sub_section_cta.sub_type_map .cta .copy h5, .sub_section_cta.sub_type_map .cta .copy h6 {font-size: var(--h7)}
.sub_section_cta.sub_type_map .cta .copy {font-size: 1rem}
.sub_section_cta.sub_type_map .mapholder {margin: -2rem 2rem 0}
.sub_section_cta.sub_type_map .mapwrapper {padding-bottom: 33.3333%}
/*double cta*/
.sub_section_cta_double .cta {margin: 2rem 0}
/*gallery*/
.img_gallery img {display: block; margin: 1rem auto}
/*form*/
.form_disclaimer {font-size: 90%}
.form_disclaimer p, p.form_disclaimer {line-height: 1}
/*image blocks cta*/
.imgblock {aspect-ratio: 1; background-color: var(--bg3lt); background-size: cover; display: flex; flex-direction: column; justify-content: flex-end; margin: 1rem 0; padding: 1rem}
.imgblock .heading {background-color: var(--bg2); color: var(--txt2); display: inline-block; font-size: var(--h4); margin: 0; max-width: calc(100% - 2rem); padding: 1rem; width: max-content}
.imgblock .button {margin: 0}
/*image info block*/
.image_info_block_copy {margin: 1rem 0 2rem}
.image_info_block_linkholder {margin: 2rem 0 0}
.image_info_block_copy a.link {font-weight: bold}
.image_info_block_copy a.link::after {color: var(--bg4)}
.image_info_block_text {aspect-ratio: 1; background-color: var(--bg2); box-sizing: border-box; color: var(--txt2); display: flex; flex-direction: column; justify-content: center; padding: 1rem}
.image_info_block_text.count_1 {background-color: var(--bg3)}
.image_info_block_text.count_2 {background-color: var(--bg4)}
.image_info_block_text .heading {font-size: var(--h5); margin: 0}
.image_info_block_text .subheading {font-size: var(--h7); margin: 0}
.image_info_block_text >:last-child {margin-bottom: 0}
.image_info_block_image {aspect-ratio: 1; background-size: cover}
.image_info_block_image:last-child {aspect-ratio: 0.75}
/*image/video info*/
.sub_section_img_vid_info .copyholder {padding: 1rem 2rem}
.sub_section_img_vid_info .copyholder, .sub_section_imageblock_cta .imgholder {margin: 1rem 0}
.sub_section_img_vid_info .imgholder:not(:has(.videowrapper)) {background-size: cover; height: 0; padding-bottom: 50%}
/*multi-cta*/
.sub_section_multicta .heading {text-align: center; margin: 2rem auto}
.sub_section_multicta .heading h2, .sub_section_multicta .heading h3, .sub_section_multicta .heading h4 {font-size: var(--h4)}
.multicta .imgholder:not(:has(.videowrapper)) {height: 0; padding-bottom: 56.25%}
.multicta .copyholder {margin: 2rem 0}
.multicta_cta {border-top: 4px solid var(--bg2)}
.multicta_cta:nth-child(3n+2) {border-color: var(--bg4)}
.multicta_cta:nth-child(3n) {border-color: var(--bg3)}
.multicta_cta_heading {font-size: var(--h4)}
.multicta_cta:nth-child(3n+2) .linkholder a::after {color: var(--bg4)}
.multicta_cta:nth-child(3n) .linkholder a::after {color: var(--bg3)}
/*row*/
.row .img {aspect-ratio: 0.75; background-size: cover}
/*tabs*/
.tabs {margin: 2rem 0}
.tab_section {margin: 2rem 0}
.tab_section:first-child, .tab_section:first-child > :first-child {margin-top: 0}
.tab_section:last-child, .tab_section:last-child > :last-child {margin-bottom: 0}
.tab_nav_top .tab_nav_links {border: 1px solid; list-style: none; padding: 0}
.tab_nav_top .tab_nav_links li {border: 1px solid; margin: 0}
.tab_nav_top .tab_nav_links a {display: block; font-weight: bold; padding: 0.5rem 1rem; text-decoration: none}
.tab_nav_top .tab_nav_links a:hover, .tab_nav_top .tab_nav_links a[aria-selected="true"] {background-color: var(--bg); color: var(--txt)}
/*testimonial carousel*/
.testimonial-carousel_slide_wrap .imgholder {background-size: cover; height: auto; padding-bottom: 115%}
.sub_section_testimonials .swiper-nav {display: flex; gap: 1rem; margin: 1rem 0}
.sub_section_testimonials .swiper-nav .swiper-nav-button {background-color: var(--bg3); color: var(--txt2); cursor: pointer; display: block; font-size: 3rem; height: 2rem; line-height: 1.3rem; padding: 1rem; text-align: center; user-select: none; width: 2rem}
.section.altcol .sub_section_testimonials .swiper-nav .swiper-nav-button {background-color: var(--bg); color: var(--txt)}
.sub_section_testimonials .swiper-nav .swiper-nav-button.swiper-button-disabled {opacity: 0.5}
.testimonial-carousel_slide_wrap hr {background-color: var(--bg5); border: none; height: 0.25rem; margin: 1rem 0}
.testimonial_name {font-size: var(--h5)}
.section.altcol .testimonial-carousel_slide_wrap hr {background-color: var(--bg)}
.sub_section_testimonials .buttonholder {margin: 0}
.sub_section_testimonials .buttonholder .button {display: block; margin: 0; max-width: 480px}
.sub_section_testimonials .buttonholder .button:nth-child(3n) {background-color: var(--bg3)}
.sub_section_testimonials .buttonholder .button:nth-child(3n+1) {background-color: var(--bg2)}
.altcol2 .sub_section_testimonials .buttonholder .button:nth-child(3n+1) {background-color: var(--bg5)}
/*two-column*/
.cols .col > :first-child {margin-top: 0}
.cols .col > :last-child {margin-bottom: 0}
.cols .heading_col .buttonholder {display: flex; flex-direction: column; margin: 0 auto 0 0; width: max-content}
.cols .heading_col .button {display: block; margin: 0}
.cols .heading_col .button:nth-child(3n+1) {background-color: var(--bg5)}
.altcol1 .cols .heading_col .button:nth-child(3n+1) {background-color: var(--bg2)}
.cols .heading_col .button:nth-child(3n+3) {background-color: var(--bg3)}

/* Page Templates */
/*all-programs*/
.programs_program {box-shadow: 0 0.25rem 0.5rem var(--bg5); margin: 2rem 0}
.program_program_img.imgblock {margin: 0}
.programs_program .copyholder {padding: 2rem 1rem}
/*blog*/
.post {box-shadow: 0 0.25rem 0.5rem var(--bg5); margin: 2rem 0}
.post_img {background-size: cover; height: 0; padding-bottom: 55%}
.post_title, .post_copy {padding: 1rem}
.post_title {background-color: var(--bg2); color: var(--txt2); font-size: var(--h5); margin: 0}
.post_link {margin: 1rem 0 0}
.post_link .link:after {color: var(--bg4); content: '\2192'; display: inline-block; font-weight: bold; margin-left: 0.5rem; vertical-align: middle}
.paginationwrap {margin: 2rem 0; text-align: center}
.paginationwrap .page-numbers {display: inline-block; font-size: 2rem; padding: 0.5rem}
.paginationwrap .page-numbers.current {font-weight: bold}
/*search*/
#search-form {margin: 2rem auto}
#search-form .searchform {margin: 0 auto; width: max-content}
#search-form [name="s"] {border: 2px solid var(--bg2)}
.search-result h2 {font-size: var(--h4)}
.search-result .link:after {color: var(--bg4); content: '\2192'; display: inline-block; font-weight: bold; margin-left: 0.5rem; vertical-align: middle}
/*single*/
.singlepost_img {display: block; margin: 2rem auto; max-width: 720px}

/* Footer */
#footer {background-color: var(--bg2); color: var(--txt2); padding: 3rem 0 1rem}
#footer_logo_logo {max-width: 200px}
.footer_col h2 {font-size: var(--h6); margin-top: 0}
.footer_col .menu {list-style: none; padding: 0}
.footer_col .social_links {margin: 2rem 0 0 0}
#sub_footer {border-top: 2px solid var(--bg2lt); margin-top: 3rem; text-align: center}
#sub_footer p {display: inline-block; margin: 1rem 1rem 0}
