/* =============================================================
   ACEIoT modern theme layer
   Loaded last, after every other stylesheet. It only restyles the
   existing markup: remove this one file to go back to the old look.
   ============================================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

:root {
    --ace-navy: #0b2a4a;
    --ace-navy-2: #12406e;
    --ace-blue: #1f6fd1;
    --ace-blue-soft: #e8f1fc;
    --ace-amber: #f5b301;
    --ace-bg: #f3f6fa;
    --ace-card: #ffffff;
    --ace-text: #1d2b3a;
    --ace-muted: #5d6d80;
    --ace-line: #e3e9f1;
    --ace-radius: 16px;
    --ace-shadow: 0 1px 2px rgba(16, 42, 74, .06), 0 8px 24px rgba(16, 42, 74, .08);
    --ace-shadow-hover: 0 2px 4px rgba(16, 42, 74, .08), 0 16px 36px rgba(16, 42, 74, .14);
    --ace-heading: 'Plus Jakarta Sans', 'Inter', Arial, sans-serif;
    --ace-body: 'Inter', Arial, Helvetica, sans-serif;
}

/* ---------- Base ---------- */
body {
    margin-top: 0;
    background: var(--ace-bg);
    color: var(--ace-text);
    font: 400 16px/1.6 var(--ace-body);
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--ace-heading); color: var(--ace-navy); }
a { transition: color .2s, background-color .2s, box-shadow .2s, transform .2s; }
#tg-wrapper {
    width: 100%;
    max-width: none;
    background: transparent;
    box-shadow: none;
}

/* ---------- Header ---------- */
#tg-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: saturate(160%) blur(8px);
    box-shadow: 0 1px 0 var(--ace-line), 0 6px 20px rgba(16, 42, 74, .06);
}
.tg-logoandnoticeboard { padding: 12px 0 10px; }
.tg-logo img { max-height: 70px; width: auto; }

.tg-navigationarea {
    margin-bottom: 14px;
    background: linear-gradient(90deg, var(--ace-navy), var(--ace-navy-2));
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(11, 42, 74, .22);
}
.tg-nav { font: 600 14px/52px var(--ace-body); letter-spacing: .02em; }
.tg-navigation > ul > li > a {
    color: #fff;
    padding-left: 14px;
    box-shadow: inset 0 -3px 0 transparent;
}
.tg-navigation > ul > li:hover > a,
.tg-navigation > ul > li > a.current-menu-item {
    color: var(--ace-amber);
    box-shadow: inset 0 -3px 0 var(--ace-amber);
}
.tg-navigation > ul > li:first-child > a { border-radius: 12px 0 0 12px; }

/* Dropdowns and mega menu */
.tg-navigation .sub-menu,
.tg-navigation .mega-menu {
    border: 0;
    border-top: 3px solid var(--ace-amber);
    border-radius: 0 0 12px 12px;
    box-shadow: var(--ace-shadow-hover);
    overflow: hidden;
}
.tg-navigation .sub-menu li a,
.tg-navigation .mega-menu ul li a {
    font: 500 14px/1.45 var(--ace-body);
    text-transform: none;
    color: var(--ace-text);
}
.tg-navigation .sub-menu li a { padding: 10px 18px; }
.tg-navigation .sub-menu li a:hover,
.tg-navigation .mega-menu ul li a:hover { color: var(--ace-blue); background: var(--ace-blue-soft); }
.tg-navigation .mega-menu-col > a {
    font: 700 13px/1.4 var(--ace-heading) !important;
    letter-spacing: .06em;
    color: var(--ace-navy) !important;
}

/* Search button */
.tg-searchbox .tg-btnsearch {
    background: var(--ace-amber);
    color: var(--ace-navy);
    border-radius: 0 12px 12px 0;
    height: 52px;
    line-height: 52px;
}

/* ---------- Hero slider ---------- */
.tg-homebannervtwo { margin-top: 24px; overflow: visible; }
.tg-homebannervtwo .tg-homeslider {
    width: calc(75% - 20px);
    border-radius: var(--ace-radius);
    overflow: hidden;
    box-shadow: var(--ace-shadow);
}
.tg-homeslider figure { margin: 0; }
.tg-homeslider figure img { width: 100%; height: 440px; object-fit: cover; }
.tg-homebannervtwo .tg-slidercontent {
    padding: 80px 32px 28px;
    background: linear-gradient(180deg, rgba(6, 22, 40, 0) 0%, rgba(6, 22, 40, .55) 45%, rgba(6, 22, 40, .9) 100%);
}
.tg-slidercontent .tg-titledescription h1 {
    font: 700 26px/1.3 var(--ace-heading);
    color: #fff;
    margin: 0;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}
.tg-homebannervtwo .tg-slidercontent .tg-btn {
    margin: 4px 0 0;
    border: 0;
    border-radius: 999px;
    background: var(--ace-amber);
    color: var(--ace-navy);
    font: 700 14px/44px var(--ace-body);
    padding: 0 26px;
    text-transform: none;
}
.tg-homebannervtwo .tg-slidercontent .tg-btn:hover { background: #fff; }
.tg-homeslider .owl-nav div,
.tg-homeslider .owl-nav button {
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .92) !important;
    color: var(--ace-navy) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
}

/* Events / notice board card next to the slider (inline styles in sommaire.html) */
.tg-noticeboardarea {
    width: 25%;
    padding: 18px !important;
    background: linear-gradient(160deg, var(--ace-navy) 0%, var(--ace-navy-2) 100%) !important;
    border: 0 !important;
    border-radius: var(--ace-radius) !important;
    box-shadow: var(--ace-shadow) !important;
}
.tg-noticeboardarea .tg-widgettitle {
    background: transparent !important;
    padding: 0 0 10px !important;
    margin: 0 0 6px;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
}
.tg-noticeboardarea .tg-widgettitle h3 {
    font: 700 18px/1.3 var(--ace-heading) !important;
    color: #fff !important;
}
.tg-noticeboardarea .tg-widgettitle span { top: 2px !important; right: 0 !important; color: var(--ace-navy) !important; }
.tg-noticeboardarea .tg-themelist { clear: both; }
.tg-noticeboardarea .tg-themelist li { padding: 12px 0 !important; border-color: rgba(255, 255, 255, .1) !important; }
.tg-noticeboardarea .tg-themelist li > div:first-child {
    background: rgba(255, 255, 255, .12) !important;
    box-shadow: none !important;
}
.tg-noticeboardarea .tg-themelist li > div:first-child i { color: var(--ace-amber) !important; }
.tg-noticeboardarea .tg-themelist h3 { font-family: var(--ace-body) !important; }
.tg-noticeboardarea .tg-themelist a:hover { color: var(--ace-amber) !important; }
.tg-noticeboardarea .tg-btnsbox { margin: 10px 0 18px !important; text-align: left !important; }
.tg-noticeboardarea .tg-btnsbox .tg-btn {
    border-radius: 999px !important;
    background: var(--ace-amber) !important;
    color: var(--ace-navy) !important;
    font: 700 13px/38px var(--ace-body) !important;
    padding: 0 20px !important;
    text-transform: none;
}

/* ---------- Main content ---------- */
/* sommaire.html pulls the main area up with an inline margin-top:-60px !important:
   push the banner container down by the same amount plus breathing room */
.clearfix + .container { margin-bottom: 100px !important; }
.tg-sectionspace { padding-bottom: 36px; }

/* Section headings */
.tg-borderheading {
    border-bottom: 0;
    padding: 0;
    margin: 0 0 22px;
}
.tg-borderheading h2 {
    position: relative;
    margin: 0;
    padding: 0 0 12px;
    font: 800 24px/1.25 var(--ace-heading);
    color: var(--ace-navy);
}
.tg-borderheading h2:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 44px;
    height: 4px;
    border-radius: 4px;
    background: var(--ace-amber);
}

/* Buttons */
.tg-btn {
    border-radius: 999px;
    background: var(--ace-blue);
    color: #fff;
    font: 600 14px/42px var(--ace-body);
    padding: 0 26px;
    text-transform: none;
    box-shadow: 0 4px 12px rgba(31, 111, 209, .25);
}
.tg-btnsbox .tg-btn,
.tg-widgetcontent .tg-btnsbox .tg-btn {
    float: none;
    color: #fff;
    background: var(--ace-blue);
    line-height: 42px;
    padding: 0 26px;
}
.tg-btn:hover, .tg-btn:focus,
.tg-btnsbox .tg-btn:hover { background: var(--ace-navy); color: #fff; }
.tg-btnsbox { margin-top: 18px; }

/* Latest news cards */
.tg-latestnewsslider .owl-stage { display: flex; }
.tg-latestnewsslider .owl-item { display: flex; padding: 4px 2px 12px; }
.tg-latestnewsslider .item { display: flex; width: 100%; }
.tg-newspost {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: var(--ace-card);
    border-radius: var(--ace-radius);
    overflow: hidden;
    box-shadow: var(--ace-shadow);
    transition: transform .25s, box-shadow .25s;
}
.tg-newspost:hover { transform: translateY(-4px); box-shadow: var(--ace-shadow-hover); }
.tg-newspost .tg-featuredimg { margin: 0; }
.tg-newspost .tg-featuredimg img { width: 100%; height: 180px; object-fit: cover; }
.tg-newspost .tg-themepostcontent { padding: 18px 20px 22px; }
.tg-newspost .tg-matadata { display: none; }
.tg-newspost .tg-themeposttitle h3 { margin: 0 0 8px; font: 700 17px/1.4 var(--ace-heading); }
.tg-newspost .tg-themeposttitle h3 a { color: var(--ace-navy); }
.tg-newspost .tg-themeposttitle h3 a:hover { color: var(--ace-blue); }
.tg-newspost .tg-description p { margin: 0; color: var(--ace-muted); font-size: 14px; line-height: 1.6; }
.tg-newspost .tg-description p a {
    display: block;
    margin-top: 10px;
    color: var(--ace-blue);
    font-weight: 600;
}
.tg-newspost .tg-description p a:after { content: ' \2192'; }

/* Glance gallery */
.tg-gallery li { padding: 6px; }
.tg-gallery li figure { border-radius: 12px; overflow: hidden; margin: 0; }
.tg-gallery li figure img { transition: transform .4s; }
.tg-gallery li figure:hover img { transform: scale(1.05); }
.tg-gallery .tg-btnview { background: var(--ace-amber) !important; color: var(--ace-navy) !important; }

/* PhD documents: one clean card per document instead of rainbow tiles */
.tg-widgetquicklinksvtwo .tg-widgetcontent ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 0;
}
.tg-widgetquicklinksvtwo .tg-widgetcontent ul li { width: auto; padding: 0; margin: 0 !important; }
.tg-widgetquicklinksvtwo .tg-widgetcontent ul li a {
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 64px;
    padding: 12px 14px 12px 56px;
    background: var(--ace-card) !important;
    color: var(--ace-navy) !important;
    border-radius: 12px;
    box-shadow: var(--ace-shadow);
    font: 600 14px/1.35 var(--ace-body);
    word-break: normal;
}
.tg-widgetquicklinksvtwo .tg-widgetcontent ul li a:hover { box-shadow: var(--ace-shadow-hover); color: var(--ace-blue) !important; }
.tg-widgetquicklinksvtwo .tg-widgetcontent ul li a:before {
    left: 12px;
    width: 34px !important;
    height: 34px !important;
    margin: -17px 0 0 !important;
    line-height: 34px !important;
    font-family: 'FontAwesome' !important;
    font-size: 15px !important;
    content: '\f15c' !important;
    color: var(--ace-blue) !important;
    background: var(--ace-blue-soft) !important;
    border-radius: 10px !important;
    transform: none !important;
}

/* Program lists (PhD / MSc / Short courses) */
.tg-sectionspace .tg-widgetquicklinks:not(.tg-widgetquicklinksvtwo) {
    height: 100%;
    padding: 22px 22px 24px;
    background: var(--ace-card);
    border-radius: var(--ace-radius);
    box-shadow: var(--ace-shadow);
}
.tg-widgetcontent ul li { padding-left: 18px; }
.tg-widgetcontent ul li + li { margin-top: 10px; }
.tg-widgetcontent ul li:before {
    top: 0;
    width: auto;
    height: auto;
    margin: 0;
    background: none;
    border-radius: 0;
    content: '\f105';
    font: 700 14px/1.6 'FontAwesome';
    color: var(--ace-amber);
}
.tg-widgetcontent ul li a { color: var(--ace-text); font-size: 15px; line-height: 1.5; }
.tg-widgetcontent ul li a:hover { color: var(--ace-blue); }

/* ---------- Sidebar ---------- */
.tg-sidebar .tg-widget {
    margin-top: 0 !important;
    padding: 20px;
    background: var(--ace-card);
    border-radius: var(--ace-radius);
    box-shadow: var(--ace-shadow);
}
.tg-sidebar .tg-widget + .tg-widget, .tg-sidebar .tg-btnsbox + .tg-widget { margin-top: 24px !important; }
.tg-sidebar .tg-widgettitle {
    background: transparent;
    padding: 0 0 12px;
    margin: 0 0 14px;
    border-bottom: 1px solid var(--ace-line);
}
.tg-sidebar .tg-widgettitle h3 { font: 700 18px/1.3 var(--ace-heading); color: var(--ace-navy); }
.tg-sidebar .tg-widgetcontent ul li a { font-size: 14px; }
.tg-sidebar .tg-btnsbox { margin: 14px 0 0; }
.tg-sidebar .tg-btnsbox .tg-btn { width: 100%; }
.tg-widgetdownload .tg-widgetcontent ul li a i { color: #d64541; }
.tg-widgetcampuses > a { display: inline-block; margin-top: 12px; font-weight: 600; color: var(--ace-blue); }

/* ---------- Quick figures ---------- */
.stats-section {
    border-radius: 20px;
    background: radial-gradient(1200px 400px at 10% 0%, #1b5a96 0%, var(--ace-navy) 60%) !important;
    box-shadow: var(--ace-shadow);
    margin-bottom: 40px;
}
.stats-section .title { font-family: var(--ace-heading) !important; color: #fff !important; letter-spacing: .01em; }
.stats-section .section-separator { background: rgba(255, 255, 255, .15); }
.stats-section .stat-box {
    background: rgba(255, 255, 255, .07) !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 12px !important;
    font-family: var(--ace-body);
}
.stats-section .counter { color: var(--ace-amber); font-weight: 800; }

/* ---------- Partners ---------- */
.tg-affiliationscertificationsslider .item figure {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 110px;
    padding: 14px;
    margin: 6px;
    background: var(--ace-card);
    border-radius: 14px;
    box-shadow: var(--ace-shadow);
}
.tg-affiliationscertificationsslider .item img {
    max-height: 80px;
    width: auto !important;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: .75;
    transition: filter .3s, opacity .3s;
}
.tg-affiliationscertificationsslider .item:hover img { filter: none; opacity: 1; }

/* ---------- Footer ---------- */
.tg-footer { margin-top: 40px; }
.tg-footerbar { background: var(--ace-navy); padding: 22px 0; }
.tg-footerbar .tg-copyright, .tg-footerbar .tg-copyright * { color: rgba(255, 255, 255, .8); font-size: 14px; }

/* ---------- Small screens ---------- */
@media (max-width: 991px) {
    .tg-homebannervtwo .tg-homeslider,
    .tg-noticeboardarea { width: 100%; float: none; }
    .tg-noticeboardarea { margin-top: 20px; }
    .tg-homeslider figure img { height: 300px; }
    .tg-navigationarea { border-radius: 10px; }
    .tg-navigation > ul > li > a { box-shadow: none !important; }
}
@media (max-width: 575px) {
    .tg-widgetquicklinksvtwo .tg-widgetcontent ul { grid-template-columns: 1fr; }
    .tg-slidercontent .tg-titledescription h1 { font-size: 19px; }
    .tg-homeslider figure img { height: 240px; }
}

/* ---------- Polish ---------- */
.tg-signupbox:not(:has(.container > *)) { display: none; }
.stats-section h2.title:after { display: none; }
.tg-glanceatuoeandkvtwo .tg-gallery li:not(:first-child) { width: 16.666%; }
.tg-footerbar .tg-copyright { display: block; text-align: center; }
.tg-noticeboardarea .tg-widget,
.tg-noticeboardarea .tg-widgettitle { width: 100%; float: none; }
@media (max-width: 767px) {
    .tg-homebannervtwo .tg-slidercontent {
        position: static;
        padding: 18px 20px 22px;
        background: var(--ace-navy);
    }
    .tg-homebannervtwo .tg-slidercontent .tg-btn { float: none; margin-top: 14px; }
    .tg-slidercontent .tg-titledescription h1 { font-size: 19px; text-shadow: none; }
}

/* =============================================================
   Inner pages
   ============================================================= */
.tg-footerbar .tg-copyright p { margin: 0; text-align: center; }
#tg-main.tg-main { padding-top: 32px; padding-bottom: 48px; }

/* ---------- Article pages (article.html, article-27.html, rubrique-8.html) ---------- */
#tg-main .tg-addmissiondetail {
    width: 100%;
    padding: 40px 48px 44px;
    background: var(--ace-card);
    border-radius: var(--ace-radius);
    box-shadow: var(--ace-shadow);
}
#tg-main .tg-lastmodified a {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 999px;
    background: var(--ace-blue-soft);
    color: var(--ace-blue);
    font: 600 13px/1.6 var(--ace-body);
}
#tg-main .tg-pagetitle { margin: 14px 0 26px; padding: 0 0 18px; border-bottom: 1px solid var(--ace-line); }
#tg-main .tg-pagetitle h2 { margin: 0; font: 800 32px/1.25 var(--ace-heading); color: var(--ace-navy); }
#tg-main .tg-container,
#tg-main .tg-container p { color: var(--ace-text); font-size: 16.5px; line-height: 1.8; }
#tg-main .tg-container p { margin: 0 0 18px; }
#tg-main .tg-container h2, #tg-main .tg-container h3, #tg-main .tg-container h4,
#tg-main .tg-container strong { color: var(--ace-navy); }
#tg-main .tg-container a { color: var(--ace-blue); text-decoration: underline; text-underline-offset: 3px; }
#tg-main .tg-container img { max-width: 100%; height: auto; border-radius: 12px; }
#tg-main .tg-container table { width: 100%; border-collapse: collapse; margin: 0 0 18px; }
#tg-main .tg-container th, #tg-main .tg-container td { padding: 10px 12px; border: 1px solid var(--ace-line); }
#tg-main .tg-container th { background: var(--ace-blue-soft); color: var(--ace-navy); }
#tg-main .tg-container .spip_doc_descriptif,
#tg-main .tg-container figcaption { color: var(--ace-muted); font-size: 14px; }

/* ---------- Article lists with picture + summary (rubrique.html) ---------- */
#tg-main .wrapper.informations-table {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
    background: transparent;
}
#tg-main .wrapper.informations-table > .informations-table {
    width: auto;
    max-width: none;
    float: none;
    margin: 0 0 24px;
    padding: 0;
    background: var(--ace-card);
    box-shadow: var(--ace-shadow);
}
#tg-main .col-3.informations-table { border-radius: var(--ace-radius) 0 0 var(--ace-radius); overflow: hidden; }
#tg-main .col-3.informations-table img { display: block; width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
/* SPIP's pagination anchor must not take a grid cell */
#tg-main .wrapper.informations-table > :not(.informations-table) { position: absolute; }
#tg-main .col-9.informations-table { padding: 24px 28px !important; border-radius: 0 var(--ace-radius) var(--ace-radius) 0; }
#tg-main .col-9.informations-table h3 { margin: 0 0 10px; font: 700 20px/1.35 var(--ace-heading); color: var(--ace-navy); }
#tg-main .col-9.informations-table p { margin: 0 0 14px; color: var(--ace-muted); font-size: 15px; line-height: 1.65; }
#tg-main .informations-table .btn {
    display: inline-block;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: var(--ace-blue);
    color: #fff;
    font: 600 14px/40px var(--ace-body);
}
#tg-main .informations-table .btn:hover { background: var(--ace-navy); }
#tg-main .informations-table .btn:after { content: " \2192"; }
#tg-main .pagination1 { text-align: center; font-weight: 600; }
#tg-main .pagination1 a, #tg-main .pagination1 strong {
    display: inline-block;
    min-width: 38px;
    margin: 0 3px;
    padding: 0 12px;
    border-radius: 999px;
    line-height: 38px;
    background: var(--ace-card);
    box-shadow: var(--ace-shadow);
    color: var(--ace-navy);
}
#tg-main .pagination1 strong { background: var(--ace-navy); color: #fff; }

/* ---------- Team pages: staff cards (rubrique-21/22/23/25/28) ---------- */
.team-section {
    min-height: 0;
    max-width: 1140px;
    margin: 0 auto;
    padding: 56px 24px 24px;
    border-radius: 20px;
    background: radial-gradient(1200px 420px at 10% 0%, #1b5a96 0%, var(--ace-navy) 65%);
    box-shadow: var(--ace-shadow);
}
.team-section .section-title { margin-bottom: 48px; }
.team-section .section-title h1 { font: 800 36px/1.2 var(--ace-heading); color: #fff; }
.team-section .section-title h1:after {
    content: "";
    display: block;
    width: 48px;
    height: 4px;
    margin: 14px auto 0;
    border-radius: 4px;
    background: var(--ace-amber);
}
.team-section .team-items .item {
    flex-basis: calc(25% - 24px);
    max-width: calc(25% - 24px);
    padding-bottom: 18px;
    background: var(--ace-card);
    border-radius: var(--ace-radius);
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.team-section .team-items .item:hover { transform: translateY(-6px); }
.team-section .team-items .item img { aspect-ratio: 1 / 1; object-fit: cover; object-position: top; border-radius: 0; }
.team-section .team-items .item .inner { padding: 0 16px; }
.team-section .team-items .item .inner .info {
    margin-top: 0;
    padding: 16px 0 0;
    background: transparent;
    border-radius: 0;
}
.team-section .team-items .item:hover .info { transform: none; }
.team-section .team-items .item .inner .info h5 { font: 700 17px/1.35 var(--ace-heading); color: var(--ace-navy); }
.team-section .team-items .item .inner .info p { margin-top: 6px; font-size: 14px; color: var(--ace-muted); }
.team-section .team-items .item .info a,
.team-section .profile-box a {
    display: inline-block;
    margin-top: 12px;
    padding: 0 18px;
    border: 0 !important;
    border-radius: 999px;
    background: var(--ace-blue-soft);
    color: var(--ace-blue) !important;
    font: 600 13px/34px var(--ace-body) !important;
    letter-spacing: 0;
    text-transform: none;
    opacity: 1;
}
.team-section .team-items .item .info a:hover,
.team-section .profile-box a:hover { background: var(--ace-blue); color: #fff !important; }

/* ---------- Supervisor lists (rubrique-24/34/35) ---------- */
.team-section .about-section.gray-bg {
    margin: 0 0 20px;
    padding: 28px 28px 24px;
    background: var(--ace-card);
    border-radius: var(--ace-radius);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}
.team-section .container { width: auto; max-width: 100%; }
.team-section .about-section .container { padding: 0; }
.team-section .about-section .row { margin: 0; }
.about-section .about-text h3 { font: 700 13px/1.4 var(--ace-body); letter-spacing: .06em; text-transform: uppercase; color: var(--ace-muted) !important; }
.about-section .about-text h6.lead:first-of-type { margin: 6px 0 2px; font: 800 22px/1.3 var(--ace-heading); color: var(--ace-navy); }
.about-section .about-text h6.lead + h6.lead { margin: 0 0 12px; font: 600 15px/1.4 var(--ace-body); color: var(--ace-blue); }
.about-section .about-text p { color: var(--ace-text); font-size: 15px; line-height: 1.7; text-align: left !important; }
.about-section .about-avatar img {
    width: 170px;
    height: 170px;
    object-fit: cover;
    border: 5px solid var(--ace-blue-soft);
}
.profile-box1 figcaption a {
    display: inline-block;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: var(--ace-blue);
    color: #fff;
    font: 600 13px/36px var(--ace-body);
    text-transform: none;
    opacity: 1;
}
.profile-box1 figcaption a:hover { background: var(--ace-navy); color: #fff; }

/* ---------- Staff profile page (article-24.html + styleprofile.css) ---------- */
#tg-main .about-wrapper {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 28px;
    align-items: start;
}
#tg-main .about-left { background: transparent; }
#tg-main .about-left-content {
    position: sticky !important;
    top: 150px;
    right: auto !important;
    border-radius: var(--ace-radius);
    overflow: hidden;
    box-shadow: var(--ace-shadow);
}
#tg-main .about-left-content > div {
    padding: 40px 28px 34px;
    background: linear-gradient(160deg, var(--ace-navy), var(--ace-navy-2));
}
#tg-main .about-left-content .shadow { width: 170px; height: 170px; }
#tg-main .about-left-content .shadow::after { display: none; }
#tg-main .about-img { width: 170px; height: 170px; border: 5px solid rgba(255, 255, 255, .18); }
#tg-main .about-img img { width: 100%; height: 100%; object-fit: cover; }
#tg-main .about-left-content h2 { margin: 22px 0 0; font: 800 22px/1.3 var(--ace-heading); text-align: center; color: #fff; }
#tg-main .about-left-content h3 {
    margin: 10px 0 0;
    padding: 0;
    border: 0;
    font: 700 13px/1.5 var(--ace-body);
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: center;
    color: var(--ace-amber);
}
#tg-main .about-right {
    display: block;
    padding: 36px 40px;
    background: var(--ace-card);
    border-radius: var(--ace-radius);
    box-shadow: var(--ace-shadow);
    text-align: left;
}
#tg-main .about-right h2 { margin: 0 0 16px; font: 800 26px/1.3 var(--ace-heading); color: var(--ace-navy); text-align: left; }
#tg-main .about-para p, #tg-main .about-para div { padding: 0; opacity: 1; font-weight: 400; color: var(--ace-text); font-size: 15.5px; line-height: 1.8; text-align: left; }

/* ---------- Inner pages on smaller screens ---------- */
@media (max-width: 991px) {
    .team-section .team-items .item { flex-basis: calc(50% - 20px); max-width: calc(50% - 20px); }
    #tg-main .about-wrapper { grid-template-columns: 1fr; }
    #tg-main .about-left-content { position: static !important; }
}
@media (max-width: 767px) {
    #tg-main .tg-addmissiondetail { padding: 26px 20px; }
    #tg-main .tg-pagetitle h2 { font-size: 24px; }
    #tg-main .wrapper.informations-table { grid-template-columns: 1fr; }
    #tg-main .col-3.informations-table { border-radius: var(--ace-radius) var(--ace-radius) 0 0; margin-bottom: 0; }
    #tg-main .col-9.informations-table { border-radius: 0 0 var(--ace-radius) var(--ace-radius); }
    .team-section { margin: 0; padding: 36px 14px 10px; }
    .team-section .section-title h1 { font-size: 28px; }
    .team-section .about-section.gray-bg { padding: 22px 18px; }
    #tg-main .about-right { padding: 26px 20px; }
}
@media (max-width: 480px) {
    .team-section .team-items .item { flex-basis: 100%; max-width: 100%; }
}

/* =============================================================
   Dropdown menus (desktop)
   ============================================================= */
@media (min-width: 992px) {
    /* Simple dropdowns */
    .tg-navigation .sub-menu {
        width: 280px;
        padding: 8px 0;
        background: #fff;
    }
    .tg-navigation .sub-menu li + li { border-top: 0; }
    .tg-navigation .sub-menu li a {
        display: block;
        padding: 9px 20px;
        line-height: 1.45;
        white-space: normal;
    }
    .tg-navigation .sub-menu > li > a:before { background: var(--ace-amber); }

    /* Programs mega menu: full width of the menu bar, columns side by side */
    .tg-navigation .mega-menu {
        left: 0 !important;
        right: 0;
        width: 100% !important;
        padding: 22px 12px 18px;
        background: #fff;
    }
    .tg-navigation .mega-menu .mega-menu-row:first-child {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        float: none;
    }
    /* The promo box under the columns only repeats placeholder text */
    .tg-navigation .mega-menu .mega-menu-row + .mega-menu-row { display: none; }
    .tg-navigation .mega-menu-col,
    .tg-navigation .mega-menu-col + .mega-menu-col {
        display: block;
        padding: 0 10px;
        background: transparent;
    }
    .tg-navigation .mega-menu-col + .mega-menu-col { border-left: 1px solid var(--ace-line); }
    .tg-navigation .mega-menu-col > a {
        float: none;
        display: block;
        margin: 0 0 10px !important;
        padding: 0 10px 10px !important;
        border-bottom: 2px solid var(--ace-amber);
        font: 700 12px/1.4 var(--ace-body) !important;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--ace-navy) !important;
        cursor: default;
    }
    .tg-navigation .mega-menu-col > ul {
        float: none;
        max-height: 55vh;
        overflow-y: auto;
    }
    .tg-navigation .mega-menu-col > ul > li { float: none; width: auto; }
    .tg-navigation .mega-menu-col > ul > li + li { border-top: 0; }
    .tg-navigation .mega-menu-col > ul > li > a {
        display: block;
        padding: 7px 10px;
        border-radius: 8px;
        font: 500 14px/1.4 var(--ace-body);
        text-transform: none;
        white-space: normal;
        color: var(--ace-text);
    }
    .tg-navigation .mega-menu-col > ul > li > a:before { display: none; }
    .tg-navigation .mega-menu-col > ul > li > a:hover { background: var(--ace-blue-soft); color: var(--ace-blue); }
}

/* =============================================================
   Homepage: Latest News grid (three newest articles)
   ============================================================= */
.tg-latestnewsgrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    float: left;
}
.tg-latestnewsgrid .item { display: flex; }
.tg-latestnewsgrid .tg-newspost .tg-featuredimg { position: relative; overflow: hidden; }
.tg-latestnewsgrid .tg-newspost .tg-featuredimg img { height: 190px; transition: transform .5s; }
.tg-latestnewsgrid .tg-newspost:hover .tg-featuredimg img { transform: scale(1.05); }
.tg-latestnewsgrid .tg-newspost .tg-themepostcontent { display: flex; flex-direction: column; flex: 1; }
.tg-latestnewsgrid .tg-newspost .tg-matadata {
    display: block;
    width: auto;
    float: none;
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
}
.tg-latestnewsgrid .tg-newspost .tg-matadata li {
    float: none;
    padding: 0;
    color: var(--ace-blue);
    font: 600 12px/1.4 var(--ace-body);
    letter-spacing: .04em;
    text-transform: uppercase;
}
.tg-latestnewsgrid .tg-newspost .tg-matadata li:before { display: none; }
.tg-latestnewsgrid .tg-newspost .tg-matadata i { margin-right: 6px; color: var(--ace-amber); }
.tg-latestnewsgrid .tg-newspost .tg-themeposttitle h3 a {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tg-latestnews .tg-btnsbox { width: 100%; float: left; text-align: center; margin-top: 26px; }

/* =============================================================
   Homepage: Partners / Industries
   ============================================================= */
.tg-affiliationscertifications {
    width: 100%;
    float: left;
    margin-bottom: 20px;
    padding: 34px 32px 30px;
    background: var(--ace-card);
    border-radius: 20px;
    box-shadow: var(--ace-shadow);
}
.tg-affiliationscertifications .tg-borderheading { text-align: center; }
.tg-affiliationscertifications .tg-borderheading > h2 { display: inline-block; }
.tg-affiliationscertifications .tg-borderheading > h2:after { left: 50%; margin-left: -22px; }
.tg-partnersintro { margin: 12px auto 0; max-width: 560px; color: var(--ace-muted); font-size: 15px; }
.tg-affiliationscertificationsslider { position: relative; padding: 6px 0; }
.tg-affiliationscertificationsslider .item figure {
    height: 120px;
    margin: 4px 0 14px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--ace-line);
    border-radius: 14px;
    box-shadow: none;
    transition: transform .25s, box-shadow .25s, border-color .25s;
}
.tg-affiliationscertificationsslider .item figure:hover {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: var(--ace-shadow-hover);
}
.tg-affiliationscertificationsslider .item figure a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.tg-affiliationscertificationsslider .item img {
    max-width: 100% !important;
    max-height: 86px;
    width: auto !important;
    height: auto;
    object-fit: contain;
    filter: none;
    opacity: 1;
}
/* Arrows sit on the sides of the strip */
.tg-affiliationscertificationsslider .owl-nav {
    position: absolute;
    top: 50%;
    left: -18px;
    right: -18px;
    width: auto;
    height: 0;
    margin: -24px 0 0;
    padding: 0;
    pointer-events: none;
}
.tg-affiliationscertificationsslider .owl-nav div,
.tg-affiliationscertificationsslider .owl-nav button {
    pointer-events: auto;
    width: 38px;
    height: 38px;
    line-height: 38px;
    border-radius: 50%;
    background: var(--ace-navy) !important;
    color: #fff !important;
    text-align: center;
    box-shadow: 0 4px 12px rgba(11, 42, 74, .25);
}
.tg-affiliationscertificationsslider .owl-nav .tg-btnprev { float: left; }
.tg-affiliationscertificationsslider .owl-nav .tg-btnnext { float: right; }
.tg-partnersmore { width: 100%; float: left; margin-top: 10px; text-align: center; }

@media (max-width: 991px) {
    .tg-latestnewsgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tg-latestnewsgrid .item:nth-child(3) { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .tg-latestnewsgrid { grid-template-columns: 1fr; }
    .tg-affiliationscertifications { padding: 26px 16px 22px; }
    .tg-affiliationscertificationsslider .owl-nav { left: -8px; right: -8px; }
}
.tg-affiliationscertificationsslider.owl-carousel .owl-nav { top: 50%; }
.tg-affiliationscertificationsslider { float: left; width: calc(100% - 60px); margin: 0 30px; }
.tg-affiliationscertificationsslider.owl-carousel .owl-nav { left: -46px; right: -46px; }
@media (max-width: 640px) {
    .tg-affiliationscertificationsslider { width: calc(100% - 44px); margin: 0 22px; }
    .tg-affiliationscertificationsslider.owl-carousel .owl-nav { left: -32px; right: -32px; }
}
