/* Shared frontend and native block editor components. */
body.teset-inner {
  background: #f2f2f2;
  color: #363636;
  font-family: Helvetica, Arial, "TeSET Sans", sans-serif;
}
.teset-inner .teset-header {
  --teset-header-blue: #00386b;
  --teset-header-orange: #ff8017;
  position: relative;
  min-height: 90px;
  background: #00386b;
}
.teset-inner .teset-header__inner { grid-template-columns: 245px 45px 575px 110px 105px 25px 35px; }
.teset-inner .teset-header__sumdu { grid-column: 7; }
.teset-header__sumdu img { display: block; width: 35px; height: 40px; }
.teset-page { width: min(1140px, calc(100% - 32px)); margin: 0 auto; padding: 70px 0; }
.teset-page__title { margin: 0 0 35px; color: #00386b; font: 700 26px/30px Helvetica, Arial, "TeSET Sans", sans-serif; }
:is(.teset-content, .editor-styles-wrapper) { font: 400 18px/1.2 Helvetica, Arial, "TeSET Sans", sans-serif; color: #363636; overflow-wrap: anywhere; }
:is(.teset-content, .editor-styles-wrapper) :is(p, li, a, h2, h3, summary) { font-family: inherit; }
:is(.teset-content, .editor-styles-wrapper) p { margin: 0 0 22px; font-size: 18px; line-height: 1.2; text-align: start; }
:is(.teset-content, .editor-styles-wrapper) :is(h2, h3) { color: #00386b; font-weight: 700; }
:is(.teset-content, .editor-styles-wrapper) h2 { font-size: 24px; line-height: 30px; margin: 70px 0 30px; }
:is(.teset-content, .editor-styles-wrapper) h3 { font-size: 20px; line-height: 1.3; margin: 35px 0 24px; }
:is(.teset-content, .editor-styles-wrapper) a { color: #00386b; text-decoration: underline; }
:is(.teset-content, .editor-styles-wrapper) a:hover { color: #ff8017; }
:is(.teset-content, .editor-styles-wrapper) :is(ul, ol) { padding-left: 27px; margin: 0 0 30px; }
:is(.teset-content, .editor-styles-wrapper) li { list-style: disc outside; font-size: 18px; line-height: 1.2; text-align: start; margin-bottom: 10px; }
:is(.teset-content, .editor-styles-wrapper) ol > li { list-style-type: decimal; }
:is(.teset-content, .editor-styles-wrapper) li:last-child { margin-bottom: 0; }
:is(.teset-content, .editor-styles-wrapper) figure { margin: 0; }
:is(.teset-content, .editor-styles-wrapper) img { max-width: 100%; }
:is(.teset-content, .editor-styles-wrapper) > :last-child { margin-bottom: 0; }
:is(.teset-content, .editor-styles-wrapper) .wp-block-media-text { align-items: start; gap: 30px; }
:is(.teset-content, .editor-styles-wrapper) .wp-block-media-text__content { padding: 0; align-self: start; }
:is(.teset-content, .editor-styles-wrapper) .wp-block-media-text__content > :last-child { margin-bottom: 0; }
:is(.teset-content, .editor-styles-wrapper) .wp-block-media-text__media img { width: 100%; object-fit: cover; border-radius: 10px; }
:is(.teset-content, .editor-styles-wrapper) .teset-specialty-intro { grid-template-columns: 360px minmax(0, 1fr) !important; min-height: 200px; margin-bottom: 70px; }
.teset-specialty-intro .wp-block-media-text__media img { height: 200px; }
:is(.teset-content, .editor-styles-wrapper) :is(.teset-accordion, .is-style-teset-accordion) { margin: 0 0 70px; }
:is(.teset-content, .editor-styles-wrapper) :is(.teset-accordion, .is-style-teset-accordion) summary { display: flex; justify-content: space-between; gap: 20px; list-style: none; color: #ff8017; font-size: 24px; line-height: 30px; font-weight: 700; cursor: pointer; }
:is(.teset-content, .editor-styles-wrapper) :is(.teset-accordion, .is-style-teset-accordion) summary::-webkit-details-marker { display: none; }
:is(.teset-content, .editor-styles-wrapper) :is(.teset-accordion, .is-style-teset-accordion) summary::after { content: "+"; flex: 0 0 30px; text-align: center; font-size: 30px; font-weight: 400; }
:is(.teset-content, .editor-styles-wrapper) :is(.teset-accordion, .is-style-teset-accordion) > .wp-block-list { margin: 30px 0 0; padding-top: 5px; padding-bottom: 5px; min-height: 160px; }
.teset-content .teset-career-section > h2 { margin-top: 0; }
.teset-content .teset-career-section > p { min-height: 45px; margin-bottom: 34px; }
:is(.teset-content, .editor-styles-wrapper) .teset-career-cards { display: flex; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.teset-career-cards::-webkit-scrollbar { display: none; }
:is(.teset-content, .editor-styles-wrapper) .teset-career-card { flex: 0 0 calc((100% - 60px) / 3); min-height: 200px; padding: 20px 30px; border-radius: 10px; background: #00386b; color: #fff; scroll-snap-align: start; transition: background .2s ease; }
.teset-career-card:hover { background: #ff8017; }
:is(.teset-content, .editor-styles-wrapper) .teset-career-card .wp-block-image { width: 70px; height: 70px; margin: 0 auto 15px; }
.teset-career-card img { width: 70px; height: 70px; object-fit: contain; }
:is(.teset-content, .editor-styles-wrapper) .teset-career-card p { display: flex; align-items: center; justify-content: center; min-height: 75px; color: #fff; text-align: center; margin: 0; }
.teset-carousel-nav { display: flex; justify-content: center; gap: 20px; margin-top: 16px; }
.teset-carousel-nav button { width: 24px; height: 24px; padding: 0; color: #ff8017; background: transparent; border: 0; cursor: pointer; }
.teset-carousel-nav button:first-child { color: #858585; }
.teset-carousel-nav svg { width: 24px; height: 24px; }
.teset-carousel-nav button:focus-visible, .teset-content summary:focus-visible { outline: 2px solid #00386b; outline-offset: 4px; }
.teset-content .teset-program { margin-top: 70px; }
.teset-content .teset-program h2 { margin-top: 0; }
.teset-content .teset-program p { font-weight: 700; margin-top: 29px; letter-spacing: .36px; }
.teset-program :is(a, u) { color: #ff8017; }
.teset-content .teset-specialty-contacts { margin-top: 70px; }
.teset-content .teset-specialty-contacts h2 { margin-top: 0; }
.teset-content .teset-specialty-contacts p { line-height: 1.2; margin: 0; letter-spacing: .36px; }
.teset-specialty-contacts a { color: #363636; }
.teset-page--leadership { padding-top: 56px; }
.teset-page--leadership .teset-page__title { padding-left: 7px; }
:is(.teset-content, .editor-styles-wrapper) .teset-dean { grid-template-columns: 165px minmax(0, 1fr) !important; min-height: 195px; margin-bottom: 30px; }
.teset-dean img, .teset-staff-card img { height: 195px; }
.teset-dean p:first-child { margin-bottom: 15px; }
.teset-content .teset-office { margin-bottom: 40px; }
.teset-content .teset-office > p:first-child { margin-bottom: 15px; font-weight: 700; }
.teset-content .teset-office > p:first-child { line-height: 20px; }
.teset-content .teset-office > p:last-child { line-height: 22.5px; margin: 0; }
:is(.teset-content, .editor-styles-wrapper) .teset-contact { margin-bottom: 70px; }
.teset-content .teset-contact > p:first-child { font-weight: 700; margin-bottom: 30px; }
:is(.teset-content, .editor-styles-wrapper) .teset-contact-row { display: grid; grid-template-columns: 165px minmax(0, 1fr); gap: 30px; margin-bottom: 25px; }
.teset-content .teset-contact-row p { margin: 0; }
.teset-contact-row > p:first-child { font-weight: 700; }
.teset-contact-row:last-child { margin-bottom: 0; }
.teset-page--leadership { padding-bottom: 80px; }
.teset-page--leadership .teset-contact { margin-bottom: 80px; }
.teset-page--leadership .teset-contact > p:first-child { line-height: 20px; }
.teset-page--leadership .teset-contact-row { margin-bottom: 20px; }
.teset-page--leadership .teset-contact-row:nth-child(2) { margin-bottom: 30px; }
.teset-page--leadership .teset-contact-row p { line-height: 20px; }
.teset-page--leadership .teset-contact-row:nth-child(2) p:last-child { line-height: 21.6667px; }
.teset-page--leadership .teset-contact-row:last-child { margin-bottom: 0; }
.teset-contact-row a[href^="tel:"] { text-decoration: none; }
.teset-content .teset-deputies-title { margin-top: 0; margin-bottom: 35px; font-size: 26px; }
:is(.teset-content, .editor-styles-wrapper) .teset-staff-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-bottom: 40px; }
:is(.teset-staff-grid, .teset-career-cards, .teset-contact-row) > * { margin-block-start: 0; margin-block-end: 0; }
:is(.teset-content, .editor-styles-wrapper) .teset-staff-card { grid-template-columns: 165px minmax(0, 1fr) !important; min-height: 195px; }
.teset-content .teset-staff-grid > .teset-staff-card { margin: 0; }
.teset-staff-card .wp-block-media-text__content > p:first-child { font-weight: 700; min-height: 20px; margin-bottom: 30px; }
.teset-page--leadership .teset-content > .teset-contact:last-child { margin-bottom: 0; }
.teset-article .teset-page__title { text-align: center; }
.teset-article--news .teset-page__title { font-size: 30px; margin-bottom: 30px; }
.teset-article__image { margin: 0; }
.teset-article--news .teset-article__image { position: relative; height: 425px; overflow: hidden; border-radius: 20px; margin-bottom: 40px; }
.teset-article--news .teset-article__image img { position: absolute; width: 100%; height: 170.53%; max-width: none; object-fit: fill; left: .04%; top: -28.88%; }
.teset-article--news .teset-content p { font-size: 30px; line-height: normal; text-align: justify; margin-bottom: 30px; }
:is(.teset-content, .editor-styles-wrapper) :is(.teset-gallery, .is-style-teset-carousel) { display: flex; flex-wrap: nowrap; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.teset-gallery::-webkit-scrollbar { display: none; }
:is(.teset-content, .editor-styles-wrapper) :is(.teset-gallery, .is-style-teset-carousel).has-nested-images figure.wp-block-image { flex: 0 0 calc((100% - 90px) / 4); width: calc((100% - 90px) / 4); height: 130px; margin: 0; scroll-snap-align: start; }
:is(.teset-gallery, .is-style-teset-carousel) img { width: 100%; height: 130px; object-fit: cover; border-radius: 20px; }
.teset-article--news .teset-carousel-nav { margin-top: 20px; }
.teset-article__date { text-align: center; margin-bottom: 35px; min-height: 30px; }
.teset-event-date { font: 700 16px/30px Helvetica, Arial, "TeSET Sans", sans-serif; color: #00386b; margin: 0; display: flex; align-items: center; justify-content: center; gap: 5px; }
.teset-event-date strong { font-size: 30px; }
.teset-article--announcement .teset-page__title { min-height: 50px; display: flex; align-items: center; justify-content: center; margin-bottom: 45px; letter-spacing: 1.04px; }
.teset-article--announcement .teset-article__body { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 30px; }
.teset-article--announcement .teset-article__image img { width: 300px; height: 300px; object-fit: cover; object-position: 71.43% center; border-radius: 10px; }
.teset-article--announcement .teset-content p { line-height: 20px; margin-bottom: 20px; letter-spacing: .72px; }
.teset-article--announcement .teset-content > :last-child { margin-bottom: 0; }
.teset-article--announcement .teset-content a { color: #ff8017; }
.teset-article--announcement .teset-content u { color: #ff8017; }
.teset-archive__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.teset-archive__card { padding-bottom: 25px; }
.teset-archive__card img { width: 100%; height: 200px; object-fit: cover; border-radius: 10px; margin-bottom: 20px; }
.teset-archive__card h2 { font-size: 24px; font-weight: 700; line-height: 1.2; color: #00386b; margin-bottom: 15px; }
.teset-archive__card :is(p, time, a) { font-size: 18px; }
.teset-archive__card time { color: #636363; }
.teset-archive__card p { margin-top: 15px; }
.teset-archive__more { color: #ff8017; text-decoration: underline; }
.teset-inner .teset-footer { margin-top: auto; background: #00386b; padding: 50px 0; min-height: 285px; color: #fff; }
.teset-inner .teset-footer__grid { width: min(1140px, calc(100% - 32px)); max-width: 1140px; padding: 0; display: grid; grid-template-columns: 263px 327px 263px; justify-content: space-between; }
.teset-inner .teset-footer section { margin: 0; }
.teset-inner .teset-footer h2 { margin: 0 0 40px; padding-left: 7px; border-left: 2px solid #ff8017; font: 700 28px/30px Helvetica, Arial, "TeSET Sans", sans-serif; min-height: 35px; }
.teset-inner .teset-footer p { margin: 0 0 10px; padding-left: 20px; font: 400 12px/15px Helvetica, Arial, "TeSET Sans", sans-serif; position: relative; color: #fff; }
.teset-inner .teset-footer p svg { position: absolute; left: 0; top: 0; width: 15px; height: 15px; fill: #ff8017; }
.teset-inner .teset-footer p .teset-footer__icon { position: absolute; left: 0; top: 0; width: 15px; height: 15px; object-fit: contain; }
.teset-inner .teset-footer__socials .teset-footer__icon { width: 40px; height: 40px; }
.teset-inner .teset-footer a { font: inherit; color: #ff8017; }
.teset-inner .teset-footer a[href^="mailto:"] { color: #fff; }
.teset-inner .teset-footer section:last-child h2 { margin-bottom: 15px; }
.teset-inner .teset-footer section:last-child p { padding-left: 0; line-height: 16px; margin: 0; }
.teset-inner .teset-footer__socials { display: flex; gap: 25px; margin-top: 20px; }
.teset-inner .teset-footer__socials a { display: flex; }
.teset-inner .teset-footer__socials svg { width: 40px; height: 40px; fill: #ff8017; }
@media (max-width: 1199px) {
  .teset-inner .teset-header__inner { grid-template-columns: 245px minmax(0, 1fr) 105px 35px; gap: 14px; }
  .teset-inner .teset-header__tools { grid-column: 3; }
  .teset-inner .teset-header__sumdu { grid-column: 4; }
  .teset-inner .teset-footer__grid { grid-template-columns: 1fr 1.2fr 1fr; gap: 35px; }
  :is(.teset-content, .editor-styles-wrapper) .teset-specialty-intro { grid-template-columns: 32% minmax(0, 1fr) !important; }
  :is(.teset-content, .editor-styles-wrapper) .teset-staff-card { grid-template-columns: 30% minmax(0, 1fr) !important; gap: 20px; }
}
@media (max-width: 991px) {
  .teset-inner .teset-header { min-height: 72px; }
  .teset-inner .teset-header__sumdu { display: none; }
  .teset-page { padding-top: 45px; padding-bottom: 45px; }
  .teset-page__title { line-height: 1.2; }
  .teset-inner .teset-header__inner { gap: 12px; }
  :is(.teset-content, .editor-styles-wrapper) .teset-staff-grid { grid-template-columns: 1fr; }
  .teset-article--news .teset-content p { font-size: 22px; text-align: start; }
  .teset-article--news .teset-article__image { height: auto; aspect-ratio: 1140/425; }
  .teset-article--announcement .teset-article__body { grid-template-columns: 240px minmax(0, 1fr); gap: 24px; }
  .teset-article--announcement .teset-article__image img { width: 240px; height: 240px; }
  .teset-archive__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .teset-page { width: calc(100% - 30px); }
  .teset-page__title, .teset-article--news .teset-page__title { font-size: 26px; }
  :is(.teset-content, .editor-styles-wrapper) :is(.teset-specialty-intro, .teset-dean, .teset-staff-card) { grid-template-columns: 1fr !important; gap: 22px; }
  :is(.teset-specialty-intro, .teset-dean, .teset-staff-card) .wp-block-media-text__media { grid-column: 1; grid-row: 1; }
  :is(.teset-specialty-intro, .teset-dean, .teset-staff-card) .wp-block-media-text__content { grid-column: 1; grid-row: 2; }
  .teset-specialty-intro .wp-block-media-text__media img { height: auto; aspect-ratio: 360/200; }
  :is(.teset-dean, .teset-staff-card) .wp-block-media-text__media { width: 165px; }
  .teset-staff-card .wp-block-media-text__content > p:first-child { margin-bottom: 15px; }
  :is(.teset-content, .editor-styles-wrapper) .teset-career-card { flex-basis: 85%; }
  :is(.teset-content, .editor-styles-wrapper) .teset-contact-row { grid-template-columns: 1fr; gap: 10px; }
  :is(.teset-content, .editor-styles-wrapper) :is(.teset-gallery, .is-style-teset-carousel).has-nested-images figure.wp-block-image { width: 75%; flex-basis: 75%; height: 180px; }
  :is(.teset-gallery, .is-style-teset-carousel) img { height: 180px; }
  :is(.teset-content, .editor-styles-wrapper) :is(.teset-accordion, .is-style-teset-accordion) summary { font-size: 22px; }
  .teset-article--announcement .teset-article__body { grid-template-columns: 1fr; }
  .teset-article--announcement .teset-article__image img { width: min(300px, 100%); height: auto; aspect-ratio: 1; }
  .teset-inner .teset-footer__grid { grid-template-columns: 1fr; gap: 40px; width: calc(100% - 30px); }
  .teset-inner .teset-footer h2 { font-size: 26px; margin-bottom: 25px; }
  .teset-inner .teset-footer p { max-width: 320px; font-size: 14px; line-height: 1.4; }
  .teset-archive__grid { grid-template-columns: 1fr; }
}
