/* =========================================================
   GLOBAL DESIGN SYSTEM
   Variables, base typography, heading scale, and utility classes.
   ========================================================= */

:root { 
/* Colors */
--color-iss-teal: #4faeaa; 
--color-iss-lime: #c3da4d; 
--color-iss-gradient-start: #4faeaa; 
--color-iss-gradient-end: #c3da4d; 
--color-lagoon: #13515e; 
--color-coral: #e76f51; 
--color-pebble: #6b7280; 
--color-slate: #1e2a2a; 
--color-mist: #e2e3e6; 
--color-air: #f7faf9; 
--color-teal-100: #ddf1f0; 
--color-teal-300: #8ccdc9; 
--color-teal-500: #4faeaa; 
--color-teal-700: #357a77; 
--color-teal-900: #214c4a; 
--color-lime-100: #f4f8d8; 
--color-lime-300: #e3ee8a; 
--color-lime-500: #c3db4d; 
--color-lime-700: #97ad3a; 
--color-lime-900: #5f6f22; 
--color-lagoon-100: #d7eaee; 
--color-lagoon-300: #7fb4be; 
--color-lagoon-500: #13515e; 
--color-lagoon-700: #0e3f49; 
--color-lagoon-900: #08262c; 
--color-coral-100: #fde4dd; 
--color-coral-300: #f4a28e; 
--color-coral-500: #e76f51; 
--color-coral-700: #c6533a; 
--color-coral-900: #7a2f1f; 

/* Fonts */
--font-heading: "Manrope", sans-serif; 
--font-body: "Roboto", sans-serif; 
--font-size-body: 1rem; 
--font-size-small: 0.875rem; 
--line-height-body: 1.6; 
--line-height-heading: 1.2; 

/* Border Radius */
--radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 16px;
--radius-xl: 24px;

/* Shadows */
--shadow-small: 0 2px 8px rgba(0,0,0,0.06);
--shadow-medium: 0 8px 24px rgba(0,0,0,0.08);
--shadow-large: 0 16px 40px rgba(0,0,0,0.10);

/* Spacing */
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 24px;
--space-xl: 32px;
--space-2xl: 48px;
--space-3xl: 64px;
--space-4xl: 96px;
--space-card: 24px;
--space-section: 64px;
--space-element-gap: 32px;
--space-heading-gap: 16px;
}

/* ================================
Base Styles
================================ */

html { color-scheme: light !important; }

body { margin: 0; background: var(--color-air); color: var(--color-slate); font-family: var(--font-body)!important; font-size: var(--font-size-body); line-height: var(--line-height-body); }

body:not(.et-fb):not(.et-bfb), body:not(.et-fb):not(.et-bfb) p { font-family: var(--font-body); font-size: var(--font-size-body); line-height: var(--line-height-body) !important; font-weight: 400; }

p { margin-top: 0; margin-bottom: 0; padding-bottom: 1rem; }

small, .small-text { font-size: var(--font-size-small); line-height: 1.5; }

/* ================================
List Columns
================================= */
/* ===== 2‑Column List ===== */
.two-column-list { columns:2; column-gap:30px; margin:0; padding-left:20px; }

/* ===== 3‑Column List ===== */
.three-column-list { columns:3; column-gap:30px; margin:0; padding-left:20px; }

/* ===== 4‑Column List ===== */
.four-column-list { columns:4; column-gap:30px; margin:0; padding-left:20px; }

/* ===== List Items ===== */
.two-column-list li,
.three-column-list li,
.four-column-list li { break-inside:avoid; margin-bottom:10px; }

/* ===== Tablet ===== */
@media (max-width:980px) {
  .three-column-list,
  .four-column-list { columns:2; }
}

/* ===== Mobile ===== */
@media (max-width:600px) {
  .two-column-list,
  .three-column-list,
  .four-column-list { columns:1; }
}

/* ================================
Heading Scale
================================ */

body:not(.et-fb):not(.et-bfb) h1, 
body:not(.et-fb):not(.et-bfb) h2, 
body:not(.et-fb):not(.et-bfb) h3, 
body:not(.et-fb):not(.et-bfb) h4, 
body:not(.et-fb):not(.et-bfb) h5, 
body:not(.et-fb):not(.et-bfb) h6 { margin-top: 0; margin-bottom: 0; color: var(--color-slate); font-family: var(--font-heading)!important; font-weight: 900; line-height: var(--line-height-heading); text-transform: none; padding-bottom: clamp(0.9375rem, -0.2344rem + 3.75vw, 1.875rem); }

body:not(.et-fb):not(.et-bfb) h1 { font-size: clamp(2.25rem, 4vw, 3rem)!important; }

body:not(.et-fb):not(.et-bfb) h2 { font-size: clamp(2rem, 4vw, 3rem); padding-bottom: clamp(0.9375rem, -0.2344rem + 3.75vw, 1.3rem); }

body:not(.et-fb):not(.et-bfb) h2.small { font-size: clamp(2rem, 3.25vw, 2.5rem); }

body:not(.et-fb):not(.et-bfb) h3 { font-size: clamp(1.625rem, 2.75vw, 2rem); }

body:not(.et-fb):not(.et-bfb) h4 { font-size: clamp(1.375rem, 2vw, 1.5rem); }

body:not(.et-fb):not(.et-bfb) h5 { font-size: clamp(1.125rem, 1.5vw, 1.25rem); }

body:not(.et-fb):not(.et-bfb) h6 { font-size: clamp(1rem, 1.25vw, 1.125rem); }

p.sub-header { margin-bottom: 0; text-transform: uppercase; font-size: 18px !important; font-weight: 700!important; letter-spacing: 3px; }

/* ================================
Utility Color Classes
================================ */

.text-teal { color: var(--color-iss-teal); }

.text-lime { color: var(--color-iss-lime); }

.text-lagoon { color: var(--color-lagoon); }

.text-coral { color: var(--color-coral); }

.text-pebble { color: var(--color-pebble); }

.text-slate { color: var(--color-slate); }

.bg-air { background-color: var(--color-air); }

.bg-mist { background-color: var(--color-mist); }

.bg-teal { background-color: var(--color-iss-teal); }

.bg-lime { background-color: var(--color-iss-lime); }

.bg-lagoon { background-color: var(--color-lagoon); }

.bg-coral { background-color: var(--color-coral); }

/* ================================
Gradient Utilities
PDF rule: use gradients only for text and outlines
================================ */

.gradient-text { background: linear-gradient(135deg, var(--color-iss-gradient-start) 40%, var(--color-iss-gradient-end) 75%); -webkit-background-clip: text; background-clip: text; color: transparent!important; width: fit-content!important; display: inline-block;  }

.gradient-text-center { background: linear-gradient(135deg, var(--color-iss-gradient-start) 40%, var(--color-iss-gradient-end) 75%); -webkit-background-clip: text; background-clip: text; color: transparent!important; width: fit-content!important; display: inline-block;margin-left: auto!important; margin-right: auto!important; }

.gradient-outline { border: 2px solid transparent; background: linear-gradient(var(--color-air), var(--color-air)) padding-box, linear-gradient(135deg, var(--color-iss-gradient-start), var(--color-iss-gradient-end)) border-box; }


/* =========================================================
   BREADCRUMBS, GLOBAL LINKS, AND FOOTER BASICS
   Basic legacy layout helpers plus footer text/link defaults.
   ========================================================= */

#bcContainer { font-weight: 300; text-align: right; padding-bottom: 0; position: relative; width: 80%; max-width: 1400px; margin: 30px auto 0 auto; display: none; }
p.breadcrumbs { font-size: 14px; }
a { font-weight: 400; }


/* =========================================================
   ERROR PAGE AND GENERAL CONTENT CALLOUTS
   One-off page/content styles from the original site.
   ========================================================= */

.et_right_sidebar #main-content .container #graphic::before { right: 0 !important; }
#main-content .container::before { background-color: #fff; }
#graphic img { width: 100%; }
.introtext p { font-size: 24px; line-height: 1.5em; margin-bottom: 10px; }
.calloutheading p { font-size: 22px; line-height: 1.4em; margin-bottom: 15px; }
.calloutbody p { font-size: 19px; line-height: 1.4em; }
.greenheading p { font-size: 23px; color: #222; }
.bluetext { color: #2b9993; }
.mediacredit { font-size: 11px; }

/* =========================================================
   BY-THE-NUMBERS / INFOGRAPHIC STYLES
   Bubble image and number text formatting.
   ========================================================= */

.info_bubble { width: 80px; padding-left: 0; margin-left: 0; margin-top: 20px; }
.info_text { font-size: 14px; line-height: 1em; }
.info_bold { line-height: 1em; font-size: 26px; font-weight: 500; color: #2b9993; }

/* =========================================================
   DIVI MODULE SPACING AND BLURB IMAGE FIXES
   Small layout fixes for Divi rows/modules.
   ========================================================= */

.et_pb_gutters1 .et_pb_column_4_4 .et_pb_module, .et_pb_gutters1.et_pb_row .et_pb_column_4_4 .et_pb_module { margin-right: 0 !important; }
#rowblurbs img.et-waypoint.et_pb_animation_off.lazy-loaded.lazyloaded.et-animated { max-width: 120px; }

/* =========================================================
   DEPARTMENT HOVER CARD STYLES
   Hover/tile overlay plugin styling.
   ========================================================= */

.n10s-block { margin: 0 10px; }
.n10s-block .n10s-overlay { padding: 10px !important; }
.n10s-berlin p { padding: 15px 10px !important; }
.n10s-block h2 { font-size: 14px; }
.n10s-overlay h2 { padding-top: 10px; padding-left: 10px; margin-top: 30px; padding-right: 10px; }
.n10s-berlin { background: #dbdbdb; }

/* =========================================================
   BOARD, SCHOOL DETAIL, AND ICON TEXT STYLES
   Older content module styles.
   ========================================================= */

#boardtiles .et_pb_toggle_content h4 { color: #000; font-weight: 300; font-family: "Roboto",Helvetica,Arial,Lucida,sans-serif; font-size: 18px; }
#boardtiles .et_pb_toggle_title { font-weight: 500; font-family: "Roboto",Helvetica,Arial,Lucida,sans-serif; font-size: 18px !important; color: #2b9993 !important; }
.icontext p { font-size: 16px; color: #000; }

/* =========================================================
   THE EVENTS CALENDAR - LEGACY PHOTO VIEW
   Original event listing/grid layout and hidden controls.
   ========================================================= */

.tribe-bar-disabled { display: none; }
.tribe-events-title-bar { display: none; }
.tribe-events-loop .tribe-events-content { padding: 0 0 0 0; }
.tribe-events-photo-event-wrap { height: 400px; text-align: center; }
.tribe-events-list .tribe-events-event-image img { max-height: 200px; width: auto; }
.tribe-event-schedule-details { font-size: 17px; font-weight: 300; margin-top: 10px; }
.tribe-events-list .tribe-events-loop .tribe-events-photo-event .tribe-events-event-image { padding-top: 15px; }
.tribe-events-nav-pagination { display: none; }
.tribe-events-widget-link { display: none; }
.tribe-events-photo-grid-sizer { width: 100%; }
#tribe-events-photo-events .tribe-events-photo-event { width: 31%; float: left; margin: auto 1% 20px 1%; }

/* =========================================================
   CUSTOM BLOG / CPT TILE STYLES
   Card borders, buttons, and image sizing.
   ========================================================= */

.et_cpt_container_column.et_pb_column { border: solid thin #dbdbdb; padding: 20px; min-height: 450px; }
.btn_blueoutline { color: #2b9993; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: 400; line-height: 1.5; text-align: center; white-space: nowrap; border: 1px solid #2b9993; border-radius: 4px; }
a.btn_blueoutline:hover { background-color: #2b9993; color: #fff; }
.et_pb_column img.attachment-medium { width: 100%; height: auto; max-width: 250px; margin-top: 20px; }

/* =========================================================
   LEADERSHIP / JOB POSTING TILES
   Admin and leadership posting cards.
   ========================================================= */

.openJobBox, .successBox { width: 29%; margin: 0 2% 10px 2%; padding: 10px; min-height: 530px !important; float: left; border: thin solid #dbdbdb; text-align: center; }
.completeRibbon { width: 100%; margin: 0; padding: 5px 10px; background-color: #e1f9f8; font-size: 16px; font-weight: 300; margin-bottom: 10px; }
img.jobPostingSchoolLogo { margin-top: 10px; margin-bottom: 10px; max-height: 120px; }
.jobPostTitle { font-weight: 400; font-size: 1.2em; color: #2b9993; }
.jobPostSchoolLocation { font-style: italic; }
.jobPostDesc, .jobPostDate { padding-top: 10px; line-height: 1em; font-size: 14px; }
.sortBy, .buttonarea { margin: 20px 0; }

/* =========================================================
   AP SCHOOL LIST STYLES
   Compact school/location text styles.
   ========================================================= */

.apschool { line-height: 17px; font-size: 14px; }
.apschool .schoolname { font-size: 14px; }
.apschool .schoollocation { font-size: 12px; font-style: italic; }

/* =========================================================
   NEWS TILE STYLES
   News tile text, dates, and related image sizing.
   ========================================================= */

#newsbottomtext p, #newsbottomtext { font-size: 14px; line-height: 1.5em; }
.newstile .et_pb_blurb_description, .newstile .et_pb_blurb_description p { font-size: 15px; }
p.newsdate { font-size: 14px; }
#bubblerow img { width: 140px; height: auto; }
.openJobBox { padding-top: 40px; }
.openJobBox p { font-size: 14px; line-height: 15px; }
p.jobSelectedCandidate, p.jobLink { font-size: 15px; }
.et_post_meta_wrapper { display: none; margin: 0 0; padding: 0; }
.et_pb_post .entry-content { padding-top: 0; }

/* =========================================================
   SMALLER SUCCESS BOX VARIANT
   Compact version of leadership/admin cards.
   ========================================================= */

.successBox.smaller { margin-bottom: 30px; font-size: 15px; line-height: 21px; min-height: 350px; }
.smaller .completeRibbon { margin: 10px auto; }
.smaller .jobPostTitle { font-size: 1.1em; line-height: 20px; margin-bottom: 20px; }
.smaller .jobPostDesc, .smaller .jobPostDate { font-size: 1em; }
.smaller img.jobPostingSchoolLogo { max-height: 70px; margin: 15px auto; }
.smaller a { color: gray; }

/* =========================================================
   LEADERSHIP FEATURE POST STYLES
   Featured leadership article layout and typography.
   ========================================================= */

.category-leadership-feature { width: 100%; margin-top: 0; padding-top: 0px; }
.leadershipFeatureNewPosition { font-size: 1em; color: #2b9993; }
.leadershipFeatureCurrentPosition { font-size: 1em; }
.leadershipDate { font-size: 0.9em; }
.leadershipIntro { line-height: 1.2em; font-style: italic; }
.leadershipImage { max-height: 200px; width: auto; float: left; padding-right: 20px; }
.leadershipLongDescription { line-height: 1.2em; }

/* =========================================================
   TEACHER FEATURE AND RELATED ARTICLE STYLES
   Teacher feature images and related articles grid.
   ========================================================= */

#teacherfeature .et_pb_blog_grid .et_pb_image_container img { max-height: 250px; max-width: 100%; }
#teacherfeature .intro { font-size: 1.2em; font-style: italic; }
#teacherfeature img { padding: auto 20px; }
#relatedarticlesrow .entry-title { text-align: center !important; }
#relatedarticlesrow .et_pb_blog_grid .et_pb_image_container img { width: auto; height: 200px; }
#relatedarticlesrow .et_pb_post { min-height: 500px; }
.jobSelectedCandidate { font-size: 16px; font-weight: 400; }
.ap-photo { width: 100%; max-width: 160px; height: auto; float: left; padding-right: 30px; margin: 0 0; }
.ap-title { margin-right: 15px; }

/* =========================================================
   DIVI MOBILE MENU
   Full-screen mobile menu, toggles, and nested submenu controls.
   ========================================================= */


/* =========================================================
   SEARCH FORM AND QUICKNEWS STYLES
   Search input sizing, Quicknews typography, and embedded content fixes.
   ========================================================= */

.et-search-form input { width: 72%; }
.quicknews { font-family: Montserrat; line-height: 20px; color: #000 !important; margin-left: 10px; }
.quicknews .maintext { padding-left: 0px !important; font-size: 16px; font-weight: 550 !important; }
.quicknews .headline { padding-left: 0px !important; font-size: 22px; font-weight: 550 !important; }
.quicknews .headlinetop { font-size: 24px; font-weight: 550 !important; }
section.linkAnnotation a, a.linkAnnotation, a.customLinkAnnotation, .customHtmlAnnotation, .customVideoAnnotation { opacity: 0; }
.applications { line-height: 15px; margin-top: 10px !important; margin-bottom: -20px !important; font-weight: bold !important; }
.starttwo { line-height: 15px; margin-top: 10px !important; margin-bottom: -35px !important; }

/* =========================================================
   EVENTS CALENDAR PRO - CURRENT OVERRIDES
   Newer photo grid spacing, buttons, hidden controls, and notices.
   ========================================================= */

.tribe-events-pro.tribe-events-pro-photo--grid .tribe-events-pro-photo__event .tribe-events-pro-photo__event-featured-image-link { padding-top: 0; }

/* =========================================================
   GENERAL CONTENT HELPERS
   List, privacy policy, shortcode, tweet, and miscellaneous content fixes.
   ========================================================= */

#privacy-policy ul, ol { font-size: 18px; margin-left: 30px; margin-top: auto; padding-top: 0; }
.trademark-symbol { font-size: 0.5em !important; vertical-align: super !important; }
.quicknews .et_pb_text_inner { padding-left: 8px; }
#fy21.eventshortlist .eventcat { display: none; }
#onlineblurb p.about { font-size: 1.1em; }
#onlineblurb p.credit { font-size: 0.8em; }
.n10s-overlay span { font-size: 13px; margin-top: 10px; display: block; }
.et_pb_post { min-height: 460px; }
.openJobBox p:empty { display: none; }
#logo { width: 300px; }
.resource_blurb, .resource_blurb_short { -webkit-box-shadow: 6px 6px 17px -5px rgba(0, 0, 0, 0.28); box-shadow: 6px 6px 17px -5px rgba(0, 0, 0, 0.28); }
.resource_blurb_short { height: 180px !important; padding-top: 5% !important; padding-bottom: 5% !important; }

/* =========================================================
   DIVI PRICING TABLES
   Pricing table widths, heading backgrounds, buttons, and checkmarks.
   ========================================================= */

.et_pb_pricing_table_wrap { width: 80%; margin: auto; }
.et_pb_pricing_table { border-radius: 6px; }
.et_pb_featured_table .et_pb_pricing_heading { background: linear-gradient(90deg, rgba(240, 248, 217, 1) 0%, rgba(239, 248, 219, 1) 18%, rgba(213, 249, 236, 1) 100%); }
.et_pb_pricing_heading { border-top-left-radius: 6px; border-top-right-radius: 6px; background-color: #f6f6f6; padding-top: 1.5em; padding-bottom: 1.5em; }
.et_pb_pricing_table_button { color: white; background-color: #46a39d; border-radius: 4px; padding: .2em .1em !important; min-width: 160px; }
.et_pb_pricing_content { text-align: left; }
.et_pb_pricing_title, .et_pb_best_value { color: #000 !important; }
.et_pb_pricing_title { font-weight: 600; font-size: 2em; }
.et_pb_best_value { font-weight: 400; }
.et_pb_pricing li { padding: 0 0 0.5em 0; list-style: none; }
.et_pb_pricing li:before { color: #46a39d; content: "✓    "; }
.et_pb_pricing_content_top { display: none; }
#hire-default { width: 28.33% !important; }
#hire-featured { width: 36.33% !important; }

/* =========================================================
   SECONDARY MENU SEARCH AND LOGIN CTA
   Top/search bar styling for the legacy secondary menu.
   ========================================================= */

.menu-cta a { padding: 12px 28px !important; background-color: #46a39d; border-radius: 8px; }
#et-secondary-menu #searchform { display: inline-block; margin-left: 40px; color: white; }
#et-secondary-menu #searchform:before { content: "U"; position: absolute; font-family: "ETModules"; z-index: 1; right: 0; font-size: 14px; padding: 5px 8px; }
#et-secondary-menu #searchform > div > #s::placeholder { color: white; opacity: 1; }
#et-secondary-menu #searchform > div > #s { background-color: #2b9993; border: none; border-bottom: 1px white solid; color: white; font-size: 12px; }
#et-secondary-menu #searchform > div > #s:-webkit-autofill, #et-secondary-menu #searchform > div > #s:-webkit-autofill:hover, #et-secondary-menu #searchform > div > #s:-webkit-autofill:focus, #et-secondary-menu #searchform > div > #s:-webkit-autofill:active { background-color: #2b9993; }
#et-secondary-menu #searchform > div > #searchsubmit { position: relative; background: transparent; color: transparent; border: none; width: 30px; z-index: 999; }
.lazy-hidden { width: 10px; height: 10px; }
.tribe-events-notices { background: #ffffff !important; border: 0px !important; color: #000000 !important; font-size: 20px; text-align: center; margin: 1px !important; }
.tribe-events-shortcode { padding-top: 1px !important; }
.tribe-events-shortcode #tribe-events { padding-top: 1px !important; }
.tribe-event-urlbutton { background-color: #2b9993; border: 2px solid #2b9993; display: block; border-radius: 0px; text-decoration: none; text-transform: uppercase; margin-top: 3% !important; width: 100%; text-align: center; font-size: 0.85em; font-weight: 500; padding: 0.5em 0 !important; color: white !important; }
.tribe-event-urlbutton_DISABLED { background-color: #adadad; border: 2px solid #adadad; display: block; border-radius: 0px; text-decoration: none; text-transform: uppercase; margin-top: 3% !important; width: 100%; text-align: center; font-size: 0.85em; font-weight: 500; padding: 0.5em 0 !important; }
.tribe-event-categories li { display: inline-block; background-color: #F0F0F0; border-radius: 32px; padding: 0.1em 1em !important; }
.tribe-event-categories li a { font-weight: normal; font-size: 0.8em; }
.tribe-events-header__events-bar { display: none !important; }
.tribe-events-pro-photo__event-details h3 span { font-weight: 500; font-size: 1em; }
.tribe-events-pro-photo__event-title { min-height: 50px; }
.tribe-events-pro-photo__event-title-nohover:hover { text-decoration: none !important; }
.tribe-events-c-ical, .tribe-events-c-nav__list, .tribe-events-c-nav, .tribe-events-c-top-bar__nav-list { display: none !important; }
.tribe-events-l-container { padding-top: 1% !important; padding-bottom: 1% !important; min-height: 300px !important; }
.tribe-common-g-col { margin-bottom: 9% !important; }
.tribe-events-c-messages__message--notice { background-color: white !important; font-size: 16px; }
.tribe-events-c-messages__message-list-item { content: "test"; }
.tribe-common-c-svgicon--messages-not-found { display: none !important; }
.tribe-events-c-subscribe-dropdown { display: none !important; }
.tribe-events-view #main-footer .container { margin: auto !important; }
.tribe-events-view #main-footer .container h4, .tribe-events-view #main-footer .container p { padding-bottom: 10px; }

/* =========================================================
   SINGLE POST LAYOUT
   Removes sidebar and lets posts use full width.
   ========================================================= */

.single #sidebar { display: none; }
.single #main-content .container:before { background: none; }
sup { vertical-align: top; position: relative; top: -0.1em; }

/* =========================================================
   EVENTS V3 BUTTONS
   Split and passport event button variants.
   ========================================================= */

.tribe-event-urlbutton-split { background-color: #2b9993; border: 2px solid #2b9993; display: block; border-radius: 0px; text-decoration: none; text-transform: uppercase; margin-top: 3% !important; width: 100%; text-align: center; font-size: 0.85em; font-weight: 500; box-sizing: border-box; color: white; padding: 0.5em 0 !important; float: left; }
.tribe-event-urlbutton-passport { background-color: #76d674; border: 2px solid #2b9993; display: block; border-radius: 0px; text-decoration: none; text-transform: uppercase; margin-top: 3% !important; width: 55%; text-align: center; font-size: 0.85em; font-weight: 500; box-sizing: border-box; color: white; padding: 0.5em 0 !important; float: right; }
.tribe-event-urlbutton-passport:after { content: ""; display: block; clear: both; }

/* =========================================================
   CUSTOM ELEMENTS - BUTTONS AND CARDS
   Nick/custom element button, CTA, case study, and photo card styles.
   ========================================================= */

.ce_btn-wrapper { display: flex; flex-direction: row; justify-content: space-evenly; }
.ce_btn-dark { background-color: #5cc5bf; border-radius: 44px; width: 240px; max-height: 48px; text-decoration: none; color: #000; padding: 8px 24px; text-align: center; font-size: 1em; box-sizing: border-box; display: flex; flex-wrap: nowrap; flex-direction: column; justify-content: space-evenly; letter-spacing: 1px; }
.ce_btn-medium { background-color: #46A39D; border-radius: 4px; width: 240px; height: 48px; max-height: 48px; text-decoration: none; color: white; padding: 2% 4%; text-align: center; font-size: 1em; box-sizing: border-box; display: flex; flex-wrap: nowrap; flex-direction: column; justify-content: space-evenly; }
.ce_btn-light-nav { background-color: #daedeb; border: 1px solid #46A39D; border-radius: 8px; width: 100%; height: 80px; text-align: center; color: #46A39D; font-family: sans-serif; box-sizing: border-box; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-evenly; text-decoration: none; font-weight: 500; margin: 2%; position: relative; }
.ce_btn-light-nav:hover { background-color: #b5dad8; font-weight: bold; }
.ce_btn-light-nav:before { content: ""; width: 100%; height: 80px; border: 1px solid #46A39D; border-radius: 8px; position: absolute; left: -8px; top: 8px; z-index: -1; box-sizing: border-box; }
.ce_btn-light-nav-text { margin: auto; text-align: center; width: 100%; padding: 5%; line-height: 1em; color: #000000; }
.ce_blurb-vertical-icon { max-width: 350px; display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: space-around; margin: auto; }
.ce_blurb-vertical-icon-icon { width: 100px; height: 100px; margin: auto; }
.ce_blurb-vertical-icon-text { text-align: center; color: #46A39D; font-size: 1.1em; margin: 6px; }
.ce_blurb-vertical-icon-copy { text-align: center; color: #000; font-size: 1em; margin: 6px; }
.ce_blurb-vertical-icon-link { text-align: center; color: #46A39D; font-size: 1.1em; margin: 6px; }
.ce_cta-contact { background-color: #28397E; color: white; text-align: center; width: 100%; padding: 4%; border-radius: 16px; display: flex; flex-direction: column; justify-content: space-evenly; align-items: center; margin: auto; box-sizing: border-box; }
.ce_cta-contact-text { font-size: 2em; font-weight: 300; margin-top: 10px; margin-bottom: 20px; color: white; }
.ce_cta-contact a { text-decoration: none; color: white; border: 2px solid white; border-radius: 6px; width: 10%; min-width: 160px; padding: 1%; font-size: 1.4em; }
.ce_case-study { width: 100%; min-width: 100%; background-color: grey; border: 1px solid #28397E; border-radius: 16px; box-sizing: border-box; }
.ce_case-study-image { height: 230px; width: 100%; }
.ce_case-study-image img { object-fit: cover; width: 100%; height: 100%; border-radius: 15px 15px 0 0; }
.ce_case-study-title { text-align: center; background-color: #EDEDED; border-top: 1px solid #D1D1D1; border-bottom: 1px solid #D1D1D1; padding: 1.5%; }
.ce_case-study-body { width: 100%; background-color: white; border-radius: 0 0 15px 15px; padding: 4%; box-sizing: border-box; }
.ce_case-study-headline { font-size: 1.3em; margin-bottom: 8px; color: #46A39D; font-weight: 400; }
.ce_case-study-copy { font-size: 1em; margin-bottom: 8px; }
.ce_case-study-link { text-align: left; }
.ce_case-study-link a { text-decoration: none; font-size: 1.2em; color: #46A39D; font-weight: 400; }
.ce_blurb-vertical-photo { border: 1px solid #28397E; height: 350px; width: 100%; min-width: 280px; position: relative; background-color: #fff; max-width: 480px; margin: auto; }
.ce_blurb-vertical-photo:before { content: ""; border: 1px solid rgba(40, 57, 126, 0.4); background-color: #fff; position: absolute; height: 350px; width: 100%; left: -4%; top: 4%; z-index: -1; }
.ce_blurb-vertical-photo-image { border-bottom: 1px solid #28397E; height: 200px; }
.ce_blurb-vertical-photo-image img { width: 100%; height: 100%; object-fit: fill; }
.ce_blurb-vertical-photo-body { padding: 5%; height: 150px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; flex-wrap: nowrap; }
.ce_blurb-vertical-photo-title { font-size: 1.2em; color: #28397E; }
.ce_blurb-vertical-photo-link { font-size: 1.2em; font-weight: 500; }
.ce_blurb-vertical-photo-link a { text-decoration: none; color: #28397E; font-weight: 500; }
.ce_btn-light { background-color: #D2EFED; border: 1px solid #46A39D; border-radius: 4px; width: 240px; height: 48px; max-height: 48px; text-decoration: none; color: #000000; padding: 2% 4%; text-align: center; font-size: 1em; box-sizing: border-box; display: flex; flex-wrap: nowrap; flex-direction: column; justify-content: space-evenly; }
.ce_btn-light a:visited, .ce_btn-light a:active { text-decoration: none; }
.ce_btn-light:visited, .ce_btn-light:active { text-decoration: none; }

/* =========================================================
   HEADER VISIBILITY AND MISCELLANEOUS FIXES
   One-off fixes for header, social icons, video height, and events width.
   ========================================================= */

header#main-header { display: none; }
.tribe-events-view--shortcode .tribe-events-l-container .tribe-events-header { display: none; }
p.jobPostDesc:first-of-type { display: none; }
.et-social-linkedin a.icon:before { content: ""; }
.et-social-youtube a.icon:before { content: ""; }
.et_pb_video_box > iframe { max-height: 250px; }
.tribe-events-pro-photo__event { max-width: 400px; }

/* =========================================================
   PILL EVENT CARD STYLE
   Tall pill-shaped event image hover treatment.
   ========================================================= */

.pill-wrapper { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.event-pill { width: 400px; height: 800px; filter: brightness(100%); position: relative; z-index: 1; margin-bottom: 24px; -webkit-transition: all 0.4s ease; transition: all 0.4s ease; }
.event-pill img { border-radius: 300px; }
.event-pill:hover { -webkit-filter: brightness(70%); filter: brightness(70%); }
.event-pill:hover .hidden { display: block; }
.hidden { position: absolute; display: none; top: 40%; left: 50%; transform: translate(-50%, 0); z-index: 99; }
.hover-title { text-align: center; font-family: "Bebas Neue", sans-serif; font-size: 64px; line-height: 1em; color: white; }
.pill-date { text-align: center; font-family: "Bebas Neue", sans-serif; font-size: 64px; }
.pill-title { text-align: center; font-family: "Roboto", sans-serif; font-size: 24px; font-weight: 600; }
.pill-date, .pill-title { margin-top: 8px; margin-bottom: 8px; }

/* =========================================================
   FOOTER WIDGET STYLES
   Footer widget typography and divider lines.
   ========================================================= */

/* =========================================================
   BLOG, BUTTON, INSTAGRAM, AND FINAL FIXES
   Miscellaneous end-of-file fixes and small component helpers.
   ========================================================= */

.tribe-events-pro-photo__event-featured-image { position: relative !important; }
h2.entry-title a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.btn-teal { color: #000000 !important; border-color: #59c6c0; border-radius: 32px; font-weight: 800 !important; text-transform: uppercase !important; background-color: #59c6c0; padding: 12px 30px; font-size: 20px; transition: all 300ms ease 0ms; }
.btn-teal:hover { background-color: #66d9d2 !important; }
#sb_instagram #sbi_images .sbi_item { border-radius: 10px; }


/* =========================================================
   RESPONSIVE STYLES
   Media queries grouped at the end for mobile/tablet/desktop adjustments.
   ========================================================= */

@media only screen and (min-width: 981px) and (max-width:1600px) {
  #main-footer p { font-size: 16px; line-height: 20px; }
}

@media only screen and (min-width: 981px) and (max-width:1700px) {
  .n10s-berlin .n10s-overlay::before { border-top: 0 !important; border-bottom: 0 !important; }
  .n10s-berlin .n10s-overlay::after { border-right: 0 !important; border-left: 0 !important; }
  .n10s-block .n10s-overlay { font-size: 14px; padding: 10px; }
  .n10s-block.n10s-berlin { text-align: center; font-size: 11px; }
  .n10s-overlay h2 { padding-left: 0px; margin-top: 30px; padding-right: 0px; font-size: 14px !important; }
}

@media only screen and (min-width: 981px) and (max-width:1300px) {
  .newstile { min-height: 400px; }
}

@media only screen and (min-width: 1300px) {
  .newstile { min-height: 340px; }
}

@media only screen and (max-width: 600px) {
  .successBox.smaller { min-height: 300px; max-height: 500px; }
  .openJobBox, .successBox, .successBox.smaller { width: 98%; margin: 0 1% 10px 1%; }
}

@media only screen and (min-width: 600px) {
  .openJobBox, .successBox, .successBox.smaller { width: 48%; margin: 0 1% 10px 1%; }
  .successBox.smaller { min-height: 400px; }
}

@media only screen and (min-width: 992px) {
  .openJobBox, .successBox { width: 48%; margin: 0 1% 10px 1%; margin-bottom: 10px; padding: 10px; min-height: 500px; }
  .successBox.smaller { width: 30%; margin: 0 1% 10px 1%; min-height: 350px; max-height: 380px; }
}

@media only screen and (min-width: 1240px) {
  .openJobBox, .successBox { width: 29%; margin: 0 2% 10px 2%; margin-bottom: 10px; padding: 10px; min-height: 500px; }
  .successBox.smaller { width: 29%; margin: 0 2% 10px 2%; min-height: 350px; max-height: 350px; }
}

@media screen and (max-width: 980px) {
  .container { width: 100% !important; }
  .et_header_style_left .logo_container { padding-left: 25px; }
  .et_header_style_centered #main-header .mobile_nav { background-color: transparent; }
  .mobile_nav.closed .select_page { display: none; }
  .et-fixed-header#main-header { background-color: transparent !important; }
}

@media only screen
	and (max-width: 1800px) {
  .openJobBox, .successbox { margin-bottom: 30px; height: 575px; }
}


@media only screen and (min-width: 991px) {
  #tribe-events-photo-events .type-tribe_events.tribe-events-photo-event { width: 29.2% !important; }
}

@media (min-width: 981px) {
  .single #left-area { width: 100%; padding-right: 0px !important; }
}

@media only screen and (max-width: 640px) {
  .ce_whats-new-left-box-body-title { font-size: 1em; }
  .ce_whats-new-left-box-body-text { font-size: 0.8em; }
  .ce_whats-new-left-box-body-url { font-size: 0.8em; }
  .ce_whats-new-right-box-title { font-size: 1em; line-height: 1em; }
}

@media only screen and (max-width: 964px) {
  header#main-header { display: none; }
  .ce_subnav-bar { padding: 0 !important; }
  .ce_subnav-bar-item { width: 30% !important; }
  .ce_subnav-bar-item-long { width: 40% !important; }
}

@media only screen and (max-width: 1050px) {
  .ce_whats-new-right-box-body { display: none; }
  .ce_whats-new-right-box-title { margin-left: 16px; }
  .ce_whats-new-left-box-image { display: none; }
  .ce_whats-new-left-box-body { width: 100% !important; }
}

@media (max-width: 1100px) {
  .et_pb_blog_0 .et_pb_post .entry-title { padding: 2.2rem 1rem !important; }
}

@media (max-width: 479px) {
  .et_pb_blog_grid .et_pb_post .post-meta { display: none !important; }
}


@media all and (min-width: 768px) and (max-width: 980px) {
    html .two-col-tab .et_pb_column { width:47.25% !important; }
	.two-col-tab .et_pb_column:nth-last-child(-n+2) { margin-bottom:0; }
    html .two-col-tab .et_pb_column:not(:nth-child(2n)) { margin-right:5.5% !important; }

}


/* ================= */
/* Divi Options
/* ================= */
body, .et_pb_section { background-color: #f7faf9; }
.btn-full-width { width: 100%; text-align: center; }

.iss-text-image { display: flex; align-items: center;}
/* ====== Tablet ====== */
@media (min-width: 981px) {
	.iss-text-image .et_pb_image_wrap { height: 90vh; }
	.iss-text-image img { object-fit: cover;  height: 100vh; display: block; }
}
/* ====== Mobile ====== */
@media (max-width: 980px) {
	.iss-text-image {flex-direction: column;}
	.iss-text-image.reverse {flex-direction: column-reverse; }
	.iss-text-image img {padding-bottom: 30px;}
}
