/*
Theme Name: ICT WordPress Theme
Author: Gragg Advertising
Version: 1
*/

/*! 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}

:root {
	--primary: #284d7a;
	--primary2: #36bfbe;
	--secondary: #b1e9f8;
	--secondary2: #bfdced;
	--neutral: #f5f5f5;
	--neutral2: #282828;
	--neutral3: #ffffff;
	--hex1: #8fa1b9;
	--hex2: #d3f0f8;
	--hex3: #dae8f1;
	--hex4: #96dad9;
}

/* basic */
html {background-color: var(--neutral); height: 100%; scroll-behavior: smooth}
body {align-items: stretch; background-color: var(--neutral); color: var(--neutral2); display: flex; flex-direction: column; font-family: sans-serif; overflow-x: hidden; min-height: 100%; margin: 0 auto; position: relative; width: 100%}
h1, h2, h3, h4, h5, h6, p, li {margin: 1rem 0}
h1, h2, h3, h4, h5, h6 {color: var(--primary); line-height: 1}
h2 {font-size: 2.5em}
h3 {font-size: 2em}
a {color: inherit}
img {height: auto; object-fit: contain; max-width: 100%}
pre {text-align: left !important; white-space: pre-wrap}
hr {border-color: var(--primary)}
main {flex-grow: 1}

/* general */
#nojs_warning {background-color: red; border: 3px double white; color: white; display: block; font-weight: bold; padding: 1rem; text-align: center}
.container {padding: 0 1em; position: relative; z-index: 0}
.social-links li a img, .social-links li a span {display: inline-block; vertical-align: middle}
.buttonholder {text-align: center}
.button {background-color: var(--primary2); color: var(--neutral3); display: inline-block; min-width: 6rem; padding: 0.5rem 1rem; text-align: center; text-decoration: none}
.overlay {position: relative}
.overlay::before {background-color: rgba(0,0,0,0.3333); content: ''; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 0}
.overlay > * {position: relative; z-index: 1}
.arrowlink::after {content: ' >'}
.bigcopy {font-size: 1.25rem; font-weight: bold}
.accordion {box-shadow: 0 2px 0 var(--neutral2), 0 -2px 0 var(--neutral2); margin: 2px 0; padding: 0.5rem 0}
.accordion_toggle {cursor: pointer; margin: 0; padding: 0.5rem 2rem 0.5rem 0; position: relative}
.accordion_toggle::after {content: '+'; font-size: 3rem; font-weight: lighter; color: var(--neutral2); line-height: 1; position: absolute; right: 0; top: -0.25rem}
.accordion_toggle[aria-expanded='true']::after {content: '-'; top: -0.5rem}
body.js .accordion_content{display: none}
.mapholder {position: relative; height: 0; padding-bottom: 34%}
.videowrapper {margin: 1rem auto}
.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%}
span.preheading {display: block; font-size: 1rem; margin: 0 0 0.5rem 0}

/* hexagons */
.hexagon {aspect-ratio: 1.155; clip-path: polygon(0% 50%, 25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%)}
.hex_border {background-color: var(--primary2); padding: 0.866rem 1rem}
.hex_border > .hexagon {background-color: var(--neutral3)}
.hex_copy .copyholder {box-sizing: border-box; display: flex; height: 100%; margin: 0 auto; padding: 0 19%; align-items: center}
.hex_copy .copy {box-sizing: border-box; height: auto; overflow: auto; max-height: 100%; padding: 1rem 0; scrollbar-width: thin; width: 100%}
.hex_shadow {background-image: url('img/hex_shadow.png'); background-position: center; background-size: cover}
.hexagon.hex_vertical, .hex_vertical .hexagon {aspect-ratio: 0.866; clip-path: polygon(50% 0%, 0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%)}
.hex_border.hex_vertical {padding: 1rem 0.866rem}
.hex_vertical.hex_copy .copyholder {padding: 0 1rem}
.hex_vertical.hex_copy .copy {padding: 25% 0}
.bg_hexagons {bottom: 0; left: 0; position: absolute; right: 0; top: 0}
.bg_hexagons > .hexagon {display: block; position: absolute}
.subhead{font-size: 1.2rem; line-height: 1.25}

/* form */
.theme-form ::-ms-input-placeholder {color: var(--primary); opacity: 1}
.theme-form ::-webkit-input-placeholder {color: var(--primary)}
.theme-form ::placeholder {color: var(--primary); opacity: 1}
.theme-form select:invalid{color: var(--primary)}
.theme-form fieldset {border: none; margin: 0; padding: 0}
.theme-form fieldset.border {border-bottom: 1px solid var(--primary); border-top: 1px solid var(--primary)}
.theme-form .field {margin: 1rem 0}
.theme-form input, .theme-form select, .theme-form textarea {background-color: var(--neutral3); border: 1px solid var(--primary); box-sizing: border-box; color: var(--neutral2); height: 2.25rem; padding: 0.5rem 1rem; text-align: left; width: 100%}
.theme-form textarea {min-height: 2.25rem; max-height: 8rem; resize: vertical}
.theme-form input[type='submit'] {background-color: var(--primary2); border: none; color: var(--neutral3); cursor: pointer; text-align: center}
.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}
#page_top input[type="submit"] {background-color: var(--primary)}
.theme-form .form_disclaimer {font-size: 85%; line-height: 1}

/* header */
#header {background-color: var(--neutral); position: sticky; top: 0; z-index: 5}
#header .container {padding: 0}
#button_bar, #logomenu_bar {display: table; width: 100%}
#logomenu_bar {table-layout: fixed}
#button_bar {position: relative; z-index: 0}
#button_bar > a {display: table-cell; padding: 0.5rem; text-align: center; text-decoration: none; vertical-align: middle}
#top_phone {background-color: var(--primary); color: var(--neutral3)}
#top_reqinfo {background-color: var(--primary2); color: var(--neutral3)}
#top_logo, #top_menu_wrap {display: table-cell; padding: 0.5rem; vertical-align: middle}
#top_menu_wrap {text-align: right; width: 4rem}
.header_logo {display: block; height: auto; max-height: 5rem; max-width: 500px; width: auto}

/*menu*/
#top_menu_open {background: transparent; border: none; color: var(--primary); cursor: pointer; display: none; font-size: 5rem; line-height: 0.8; margin: 0 0 0 auto; padding: 0; width: 4rem}
#top_menu_close {background-color: var(--primary2); border: none; color: var(--neutral3); cursor: pointer; display: none; padding: 0.5rem 1rem; position: sticky; text-align: right; top: 0; width: auto; z-index: 1}
#top_menu .menu, #top_menu .sub-menu {list-style: none; padding: 0}
#top_menu .menu-item {margin: 0}
#top_menu .menu-item a {padding: 0.5rem 1rem; display: block; text-decoration: none}
#top_menu .menu > li.menu-item > a {font-weight: bold}
#top_menu .sub-menu {padding-left: 1rem}
#top_menu .menu-item-has-children > a .submenu_toggle {box-sizing: border-box; font-size: 1.5rem; font-weight: normal; height: 100%; line-height: 100%; padding: 0.25rem 1rem 0 2rem; position: absolute; right: 0; top: 0}
#top_menu .menu-item-has-children > a .submenu_toggle::after {content: '+'}
#top_menu .menu-item-has-children > a .submenu_toggle.open::after {content: '-'}
#top_menu .menu-item-has-children > a {padding-right: 2rem; position: relative}

body.js #top_menu_open, body.js #top_menu_close {display: block}
body.js #top_menu {text-align: left}
body.js #top_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 #top_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 #top_menu_overlay {background-color: rgba(0,0,0,0.5); bottom: 0; left: 0; overflow-y: auto; position: fixed; right: 0; top: 0}

/* footer */
#footer {background-color: var(--primary); color: var(--neutral3); padding: 1rem 0}
#copyright {padding: 1rem 0 3rem 0}
.footer_logo {display: block; max-width: 360px; width: 100%}
#footer h2 {color: var(--primary2); font-size: 1.5rem; margin-top: 2rem}
#footer h2::after {border-bottom: 3px solid var(--neutral3); content: ''; display: block; margin: 1rem 0; width: 2rem}
#footer ul, #copyright ul {list-style: none; padding: 0}
#footer a, #copyright a {text-decoration: none}
#footer ul a, #copyright ul a {font-weight: bold}
#footer_menu .menu li, #footer_social .social-links li {display: inline-block; margin: 0 2rem 0.5rem 0}
#copyright .copyright {margin-bottom: 2rem}

/* hero */
#page_top {background-color: var(--primary); background-size: cover; color: var(--neutral3); overflow: hidden; padding: 5rem 0 3rem}
#top_hero_left {position: relative; text-shadow: 0px 3px 6px var(--neutral2); z-index: 1}
#breadcrumbs {font-weight: bold}
#breadcrumbs a {color: inherit; text-decoration: none}
#top_hero h1 {color: inherit; font-size: 3rem}
#top_hero_right {margin-top: 25%; position: relative}
#top_hero_right_bg_hex {background-color: var(--primary2); left: -235%; opacity: 0.75; position: absolute; top: 0%; transform: rotate(45deg); transform-origin: center; width: 500%; z-index: 0}
#topform_wrap {background-color: transparent; border: 2px solid var(--neutral3); padding: 1rem; position: relative; z-index: 1}
#topform_toggle {color: inherit; cursor: pointer; font-size: 1.5rem; margin: 0; text-align: center}
#topform_toggle::after {content: '\27E9'; display: inline-block; transform: rotate(90deg); width: 2rem}
#topform_toggle[aria-expanded='true']:after {transform: rotate(-90deg)}

/* home */
#home_hero_left {position: relative; z-index: 1}
#home_hero h1 {font-size: 2.5rem}
#home_hero #topform_wrap {background-color: var(--neutral3); border-color: var(--neutral2)}
#home_hero_right {padding-top: 30%; position: relative}
.home_top_hex {position: relative; width: 75%}
#home_top_hex_1 {margin: 0 0 0 auto}
#home_top_hex_2 .hex_border {background-color: var(--primary)}
.home_top_hexbg {bottom: 1rem; clip-path: polygon(0 -50%, 0% 75%, 50% 100%, 100% 75%, 110% 75%, 110% -50%); left: 0.866rem; position: absolute; right: 0.866rem; top: 1rem; z-index: 1}
.home_top_hexbg .img {background-position: bottom left; background-repeat: no-repeat; background-size: contain; bottom: 0; height: 135%; left: 0; position: absolute; width: 110%}
#home_hero_right .hex_1 {background-color: var(--hex1); left: -12%; top: -7%; width: 55%}
#home_hero_right .hex_2 {background-color: var(--hex2); left: -10%; top: 27%; width: 30%}
#home_hero_right .hex_3 {background-color: var(--hex3); left: 85%; top: 4%; width: 30%}
#home_hero_right .hex_4 {background-color: var(--hex4); left: 80%; top: 48%; width: 55%}
#home_hero_right .hex_5, #home_hero_right .hex_6, #home_hero_right .hex_7, #home_hero_right .hex_8, #home_hero_right .hex_9 {display: none}

/* sections */
#main {line-height: 1.55; overflow-x: hidden}
.section {margin: 3rem 0}
.section.altcol, .section.hasBG {margin: 0; padding: 1rem 0}
.section.altcol {background-color: var(--primary2)}
.section.halfbg {background: linear-gradient(to bottom, transparent 0%, transparent 50%, var(--primary2) 50%, var(--primary2) 100%); margin-bottom: 0; padding-bottom: 1rem}
.section.hasBG {background-size: cover}
.section.no-margin-bottom {margin-bottom: 0}
.section.no-margin-top {margin-top: 0}
.bg_contain, .section.bg_contain {background-repeat: no-repeat; background-size: contain}
#page_heading + .section {margin-top: 0}
.section a {color: var(--primary)}
.section a.button, .section a.box {color: var(--neutral3)}

.sub_section {margin: 2rem 0}

.sub_section_plain.layout_center, .sub_section_plain.layout_narrow_center {text-align: center}

.sub_section_2col_accred .midcol {text-align: center}

.bluebox {background-color: var(--primary); color: var(--neutral3); padding: 1rem 2rem}
.bluebox h2, .bluebox h3, .bluebox h4, .bluebox h5, .bluebox h6, .bluebox a {color: inherit}

.box {background-clip: padding-box; background-color: var(--primary); color: var(--neutral3); display: block; margin: 1rem 0; padding: 0.5rem 1rem; text-align: center; text-decoration: none}
.box .icon {aspect-ratio: 1; background-position: center; background-repeat: no-repeat; background-size: contain; height: auto; margin: 1rem auto; max-width: 96px; width: 100%}
.box .icon.noicon {display: none}
.box .heading {color: inherit; font-size: 1.125rem}
.box a {color: inherit}
.boxes.hasButtons .box {padding-bottom: 6rem; position: relative}
.box .buttonholder {bottom: 2rem; left: 1rem; margin: 0; position: absolute; right: 1rem}

.imgholder .img {background-size: cover}

.sub_section_testimonials h2 {text-align: center}
.testimonials {padding-bottom: 2rem}
.testimonial .img.noimg {background-color: var(--neutral3); background-image: url('img/person.png'); background-position: center}
.testimonial .desc {color: var(--primary); font-weight: bold; margin-top: -0.5rem}
.testimonial .copy {font-style: italic; margin-top: 1.5rem}
.testimonial .copy p:first-child::before {content: '\201c'}
.testimonial .copy p:last-child::after {content: '\201d'}

.hexbox {background-color: var(--neutral3); margin: 1rem 0; text-align: center}
.hexbox_cta {background-color: var(--primary); color: var(--primary2)}
.hexbox_cta h2 {color: inherit}
.hexbox .heading {font-size: 1.25rem}

.hexlink {background-color: var(--primary); background-size: cover; color: var(--neutral3); margin: 5% 0}
.hexlink .copy {text-align: center}
.hexlink h2 {color: inherit; font-size: 1.75rem}
.sub_section_hexlinks {margin: 0; padding: 30% 0 45% 0}
.sub_section_hexlinks + .sub_section_hexlinks {margin-top: -17%}
.sub_section_hexlinks .bg_hexagons {left: -1rem; right: -1rem}
.sub_section_hexlinks .hex_1 {background-color: var(--hex2); left: -13%; top: -11%; width: 35%}
.sub_section_hexlinks .hex_2 {background-color: var(--hex4); left: 41%; top: -12%; width: 18%}
.sub_section_hexlinks .hex_3 {background-color: var(--hex1); left: 78%; top: -11%; width: 35%}
.sub_section_hexlinks .hex_4 {background-color: var(--hex3); left: -14%; top: 40%; width: 37%}
.sub_section_hexlinks .hex_5 {background-color: var(--hex2); left: 77%; top: 40%; width: 37%}
.sub_section_hexlinks .hex_6 {background-color: var(--hex1); left: -8%; top: 90%; width: 13%}
.sub_section_hexlinks .hex_7 {background-color: var(--hex4); left: 12%; top: 98%; width: 37%}
.sub_section_hexlinks .hex_8 {background-color: var(--hex3); left: 57%; top: 108%; width: 15%}
.sub_section_hexlinks .hex_9 {background-color: var(--hex3); left: 77%; top: 91%; width: 37%}
.sub_section_hexlinks .hex_10, .sub_section_hexlinks .hex_11, .sub_section_hexlinks .hex_12, .sub_section_hexlinks .hex_13, .sub_section_hexlinks .hex_14 {display: none}

.factoid {margin: 2rem 0}
.factoid .heading {color: inherit; font-size: 1.25rem}
.factoid .heading img {display: inline-block; margin-right: 1rem; vertical-align: middle}

.leakyimg_row {background-color: var(--primary2)}
.leakyimg_row .copyholder {padding: 1rem}
.leakyimg_row img {display: block; margin: 0 -1rem; max-width: none; width: calc(100% + 2rem)}

.statrow .stat:nth-child(1) {background-color: var(--primary2)}
.statrow .stat {background-color: var(--primary); color: var(--neutral3); line-height: 1; text-align: center; width: 66%}
.statrow .stat .number {font-size: 4rem;	font-weight: bold}
.statrow .stat:nth-child(2) {background-color: var(--hex4)}
.statrow .stat, .statrow:nth-child(2n) .stat:nth-child(2n) {margin: 0 auto 0 0}
.statrow .stat:nth-child(2n), .statrow:nth-child(2n) .stat:nth-child(2n+1) {margin: -12% 0 -12% auto}
.statrow:last-child .stat:last-child {margin-bottom: 0 !important}
.statrow .stat .copy p {margin: 0.25rem 0}
.statrow .stat .copy > :first-child {margin-top: 0}
.statrow .stat .copy > :last-child {margin-bottom: 0}

.sub_section_video_carousel .vidholder, .sub_section_video_carousel .carouselholder {margin: 1rem 0}
.sub_section_video_carousel .carouselholder {background-color: var(--neutral3); padding: 1rem}

.info-carousel {position: relative}
.info-carousel .swiper-nav {position: absolute; right: 0; top: 0; z-index: 4}
.info-carousel .swiper-button-next, .info-carousel .swiper-button-prev {display: inline-block; height: 1.5rem; margin: 0 0.25rem; position: static; width: 1rem}
.info-carousel .swiper-button-next::after, .info-carousel .swiper-button-prev::after {font-size: 1.5rem}
.info-carousel_slide > :last-child {margin-bottom: 0}
.info-carousel_slide_heading_icon, .info-carousel_slide_heading_heading {display: table-cell}
.info-carousel_slide_heading {display: table; margin-right: 3rem}
.info-carousel_slide_heading_heading {font-size: 2rem; margin-top: 0; vertical-align: middle}
.info-carousel_slide_heading_icon {padding-right: 1rem; vertical-align: top; width: 4rem}
.info-carousel_slide_heading_icon img {display: block; height: auto; margin: 0 auto; max-height: 100%; max-width: 100%; width: auto}

/* filters */
#filter_bar {margin: 1rem 0}
#filter_bar_left h2 {font-size: 1.75rem; margin: 0}
#filter_totals {display: block; margin: 0.5rem 0}
.filter_cb .field {margin: 0.5rem 0}
#filter_filters {margin: -0.25rem}
#filter_filters .filter {border: 2px solid var(--primary); display: inline-block; margin: 0.25rem; padding: 0}
#filter_filters .filter span, #filter_filters .filter .filter_remove {display: inline-block; padding: 0.25rem; vertical-align: top}
.filter_remove {background-color: transparent; border: none; cursor: pointer; padding: 0 0.25rem}
#searchcols h3 {font-size: 1.5rem}
#searchcol_content .program {background-color: var(--primary); background-size: cover; color: var(--neutral3); padding: 1rem 2rem; margin: 1rem 0}
#searchcol_content .program .name {color: inherit; font-size: 1.25rem; font-weight: bold; line-height: 1.1}
#searchcol_content .program .locations p {line-height: 1rem; margin: 0.25rem 0}

/* blog */
#post_search input[type=search], #post_search select {color: var(--primary)}
#post_search .button {display: block}
#posts .post {margin: 2rem 0}
#posts .post a {text-decoration: none}
#posts .post .post_img {background-size: cover; display: block; height: auto; width: 100%}
#posts .post .post_img.noImg {background-color: var(--secondary2); background-size: 66%; background-repeat: no-repeat; display: block; margin: 0 auto}
#posts .post .post_title {margin-bottom: 0}
#posts .post .post_date {font-size: 0.8rem; margin-top: 0}
#posts .post .arrowlink {font-weight: bold}
.paginationwrap {text-align: center}
.pagination .page-numbers {display: inline-block; font-size: 1.5rem; padding: 1rem}
.pagination .page-numbers.current {font-weight: bold}
.pagination .page-numbers.prev, .pagination .page-numbers.next {display: block}

/* locations */
#campus-programs h2 {text-align: center}

/* search */
.searchform #searchsubmit {width: auto}
.search-result {padding: 0 1rem}
.search-result:nth-child(2n+1) {background-color: var(--neutral3); padding: 1px 1rem}

/* weglot fix */
#weglot_wrap {background-color: #ffffff; display: table-cell; vertical-align: middle; width: 0}
.country-selector {display: block}
.country-selector.weglot-dropdown .wgcurrent {border: none}
.country-selector.weglot-dropdown > ul {max-height: calc(100vh - 2.5rem); overflow-y: auto; scrollbar-width: thin}
.country-selector.weglot-dropdown .wgcurrent::after {top: calc(50% - 3px)}
.country-selector.weglot-dropdown .wgcurrent span {height: auto; padding-right: 30px; line-height: 1.2}

/* adminbar fixes */
body.admin-bar.menu_open #top_menu_overlay {top: 32px}
@media screen and (max-width: 782px) {
	body.admin-bar.menu_open #top_menu_overlay {top: 46px}
}
@media screen and (max-width: 600px) { 
	body.admin-bar.menu_open #top_menu_overlay {top: 92px}
}

/** {outline: 1px dotted red}*/