@import url("https://use.typekit.net/jfg4vrl.css");

:root {
    --anthracite: #353E47;
    /* rgb(53,62,71) — base text color */
    --anthracite60percent: rgba(53, 62, 71, .6);
    --anthracite80percent: rgba(53, 62, 71, .8);

    --lightgreenbg: #e7f4ef;

    --anthracitelightgrey: #F7F7F7;
    --antrhacitedark: #262C33;
    /* rgb(38,44,51) — more readable body text */
    --primarygreen: #086250;
    /* rgb(8,98,80) */

    --secondarygreen1: #1B2925;
    /* rgb(27,41,37) */
    --secondarygreen2: #21423C;
    /* rgb(34,66,60) */
    --secondarygreen3: #3E8C70;
    /* rgb(62,140,112) */
    --secondarygreen4: #499D85;
    /* rgb(73,157,133) */
    --secondarygreen5: #57AC83;
    /* rgb(87,172,131) */
    --secondarygreen6: #387845;
    /* rgb(56,120,69) */
    --secondarygreen7: #58964F;
    /* rgb(88,150,79) — links */
    --secondarygreen8: #7FB354;
    /* rgb(127,179,84) */
    --secondarygreen9: #ADB64F;
    /* rgb(173,182,79) — link hover state */
    --secondarygreen10: #C1D57A;
    /* rgb(193,213,122) — buttons, with primary green */

    --burgundy: #832238;
    /* rgb(131,34,56) — critical red */
    --blueberry: #00728A;
    /* rgb(0,114,138) */
    --yellow: #ECB547;
    /* rgb(236,181,71) */
    --purple: #5c386b;
    /* rgb(92,56,107) */

    /* Reference: https://stratcom.lau.edu.lb/files/lau_visual_identity_style_guide.pdf */
}

/* Additions and changes to general.css */

html {
    font-size: clamp(16px, 1.25vw, 20px) !important;
}

body,
input,
textarea,
select,
button {
    font: 400 1rem/1.5 "raleway", sans-serif;
    font-variant-numeric: lining-nums;
    color: var(--anthracite);
}

body:not(.homepage) main {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--anthracite);
}

html,
body,
.no_spacing {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}

img {
    max-width: 100%;
    height: auto;
}

img.rounded-radius {
    border-radius: 1rem;
}

a img {
    border: 0;
}

a,
a:visited,
body main a {
    color: var(--secondarygreen7);
}

body main a:hover {
    color: var(--secondarygreen9);
}

.main_nav a {
    color: var(--anthracite);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.2em;
    font-weight: 700;
}

main h1 {
    color: var(--primarygreen);
}

h2 {
    color: var(--anthracite80percent);
    font-size: 1.75rem;
    margin-top: 2em;
}

/* 24 */
h3 {
    font-size: 1.2353rem;
    margin: 1.5rem 0 0.6rem;
}

/* 20 */
h4 {
    font-size: 1.125rem;
    margin: 1.5rem 0 0.6rem;
}

/* 18 */
h5 {
    font-size: 1.063rem;
    margin: 2rem 0 0;
}

/* 17 */

.smaller {
    font-size: 0.8rem;
}

.larger {
    font-size: 1.5rem;
}

.notes {
    font-size: 0.8rem;
}

.notes:target {
    background-color: #FFFFC2;
}

.orange {
    color: #f49778;
}

.red {
    color: #C25666;
}

.guidance,
#warning {
    color: #C25666 !important;
}

h2 .smaller,
h3 .smaller,
h4 .smaller {
    font-weight: normal;
}

main table {
    margin: 1rem 0;
    border-spacing: 2px;
    border-collapse: separate;
    border-bottom: 2px solid var(--anthracitelightgrey);
}

main th {
    background-color: var(--primarygreen);
    color: white;
    text-align: left;
}

main th a {
    color: #FFFFFF !important;
    text-decoration: underline;
}

main th h3,
main th h4 {
    color: #fff;
}

main table:not(.regular_table) tr:nth-of-type(even),
main table:not(.regular_table) td[rowspan]:not([rowspan="1"]) {
    background-color: var(--anthracitelightgrey);
}

main th,
main td {
    padding: 0.4em 0.8em;
}

main .regular_table {
    border-spacing: 0;
}

main .regular_table tr td {
    border-bottom: 1px solid var(--anthracite80percent);
}

.browsehappy a,
.browsehappy a:visited {
    color: #FFFFFF;
}

.purple_textbox {
    background-color: var(--purple);
}

.green_button:link,
.green_button:visited {
    color: var(--secondarygreen10);
    background-color: var(--primarygreen);
    display: grid;
    justify-content: center;
    align-items: center;
    padding-block: 1.2rem;
    border-radius: 8px;
    text-decoration: none;
}

.green_button:hover {
    background-color: var(--secondarygreen10) !important;
    color: var(--primarygreen) !important;
}

.more_link {
    font-weight: 700;
    font-size: 1rem;
    line-height: 20px;
    color: var(--secondarygreen5);
    text-decoration: none;
}
figcaption, .captioned_image {
    position: relative;
    margin: 0;
    font-style: italic;
    color: var(--primarygreen);
}
.info {
	margin-bottom: 1.5em;
	font-style: italic;
	color: var(--primarygreen);
}

.framework .green_button {
    max-width: 178px;
}

.grid,
.grid2 {
    display: grid;
    grid-gap: 3rem;
    margin-bottom: 3rem;
}

.grid2.icon_heading > div {
    padding-left: 1em;
}

.grid2.icon_heading > div h3 {
    /* Created for the strategy page */
    display: flex;
    align-items: center;
    background-color: #f7f7f7;
    border-radius: 1em;
    padding: 1em;
    margin: 0 -1em;
}

.grid2.icon_heading > div h3 img {
    background-color: var(--primarygreen);
    clip-path: circle(30px);
    margin-right: .5em;
}

h2:not(.no_underline) + .grid,
h2:not(.no_underline) + .grid2 {
    margin-top: 1rem;
}

.grid {
    grid-template-columns: 1fr 1fr 1fr;
}

.grid2 {
    grid-template-columns: 1fr 1fr;
}

.left {
    float: left;
}

.right {
    float: right;
}

.center {
    float: none;
    margin-left: auto;
    margin-right: auto;
}

.clear {
    clear: both;
}

.right_text {
    text-align: right;
}

.center_text {
    text-align: center;
}

.out_wrap {
    margin: 0 auto;
    max-width: 1160px;
}

.full_width {
    width: 100%;
}

blockquote,
blockquote p {
    font-weight: 700;
    font-size: 40px;
    line-height: 48px;
    color: var(--anthracite);
    margin: 0;
    position: relative;
}

aside {
    float: right;
    width: auto;
    margin: 0.5rem;
    background-color: var(--anthracitelightgrey);
    border-radius: 0.5rem;
    padding: 1rem;
    font-size: .9rem;
    line-height: 1.45;
    margin-left: 2rem;
    margin-bottom: 1rem;
}

aside img {
    max-width: 10rem;
}

.side_gray_box {
    box-sizing: border-box;
    padding: 1rem;
    background-color: var(--anthracitelightgrey);
}

.back_grey {
    box-sizing: border-box;
    border-radius: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    background-color: var(--anthracitelightgrey);
}

.back_grey > * {
    margin-top: 0;
}

.back_grey :last-child {
    margin-bottom: 0;
}

.back_grey .grid,
.back_grey .grid2 {
    align-items: flex-start;
}

.back_grey .grid div,
.back_grey .grid p,
.back_grey .grid a,
.back_grey .grid2 div,
.back_grey .grid2 p,
.back_grey .grid2 a {
    background: white;
    border-radius: 1rem;
    padding: 1rem;
    text-align: center;
}

.back_grey .larger {
    font-size: 150%;
    display: block;
    color: var(--primarygreen);
}

.reset_ul,
.main_nav ul,
.list_links,
.list_buttons,
.related_links,
.tabs {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.browsehappy {
    margin: 0;
    padding: 2em 0;
    font-size: 1.2rem;
    background-color: #00614b;
    color: #FFFFFF;
    text-align: center;
}

/* Main glow – always centered */
.hero {
    border-top: 15px solid var(--primarygreen);
    min-height: 37rem;
    background-color: #2f3941;
    clip-path: url(#heroclip);
    background-image: url(https://sustainability.lau.edu.lb/images/blurry1.svg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;

    position: relative;
    display: grid;
    place-items: center;
    isolation: isolate;
    color: #eaf4ef;
    overflow: hidden;
}

body:not(.homepage) .hero {
    min-height: 25rem;
    background-image: url(https://sustainability.lau.edu.lb/images/blurry2.svg);
    background-position: center;
}

/* =========================================================
   GLOBAL / HEADER / NAV / HERO (cleaned + organized)
   Layout preserved — no functional changes
   ========================================================= */

/* -------------------- HEADER & LOGO -------------------- */

header {
    position: relative;
    margin: 0 auto;
    width: 100%;
}

header:not(.header_open) {
    max-height: 22rem;
}

header {
    border-top: 0;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 100;
}

header .out_wrap {
    padding-top: 40px;
}

#logo {
    font-size: 0;
    display: inline-block;
    float: left;
}

.top_nav_group {
    float: right;
    width: 78%;
}

/* Hero inner content */

.heroContent {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: clamp(3rem, 8vw, 6rem) clamp(1.25rem, 4vw, 2.5rem);
    max-width: 70rem;
    margin: 0 auto;
}

/* Headline */
.heroContent h1 {
    margin: 0 auto 24px;
    max-width: 800px;
    font-size: clamp(18px, 6vw, 40px);
    color: #fff;
}

.heroContent h1 a,
.heroContent h1 a:visited {
    color: #ffffff;
    text-decoration: none;
}

.heroContent h1 span {
    display: block;
    margin-top: 12px;
    font-weight: 400;
    font-size: clamp(18px, 2.2vw, 32px);
    line-height: 1.2;
    color: #fff;
    opacity: .95;
}

/* Four Dimensions (cards) */
.heroContent .hero_sustainable_dimensions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-top: 70px;
}

.heroContent .hero_sustainable_dimensions > a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.09);
    border-radius: 16px;
    backdrop-filter: saturate(120%) blur(0px);
    transition: background .2s ease, transform .2s ease;
    text-decoration: none;
}

.heroContent .hero_sustainable_dimensions > a:hover {
    background: rgba(255, 255, 255, 0.14);
    transform: translateY(-1px);
}

.heroContent .hero_sustainable_dimensions > a p {
    margin: 0;
    display: flex;
    align-items: center;
}

.heroContent .hero_sustainable_dimensions > a img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    display: block;
}

.heroContent .hero_sustainable_dimensions > a h3 {
    margin: 0;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.3;
    color: #fff;
    max-width: 172px;
    text-align: left;
}

/* -------------------- MAIN NAV (base) -------------------- */

.main_nav {
    margin-top: 1.2rem;
    font-size: .82rem;
}

.main_nav > ul > li {
    margin: 0;
}

.main_nav > ul > li:last-of-type {
    margin-right: 0;
}

.main_nav > ul > li a {
    text-decoration: none;
}

.main_nav > ul > li > a:not(.mainNavChildToggle) {
    padding: 12px 5px 35px 5px;
    position: relative;
}

.main_nav > ul > li > a:not(.mainNavChildToggle):before {
    content: '';
    height: 16px;
    width: 1px;
    background-color: #707070;
    opacity: 0.2;
    position: absolute;
    top: 10px;
    left: -1px;
}

.main_nav > ul > li:first-child a:before {
    opacity: 0;
}

.main_nav > ul > li > a:hover {
    color: #fff;
}

.main_nav > ul > li.active a {
    color: #006751;
}

.main_nav > ul > li.active > a {
    font-weight: 600;
}

.main_nav > ul > li > a {
    font-weight: 500;
    color: #ffffff;
}

.main_nav > ul > li > ul {
    top: 100%;
    padding: 0.8em 0;
}

.main_nav > ul > li > ul > li > a {
    padding: 0 1em;
    font-size: 1em;
    margin-bottom: 4px;
}

.main_nav > ul > li > ul > li:last-child a {
    margin-bottom: 0;
}

.main_nav ul ul a[target]:after {
    display: inline-block;
    background-image: url(/_imagesui/external.svg);
    background-repeat: no-repeat;
    background-size: 0.7em 0.7em;
    width: 0.7em;
    height: 0.7em;
    margin: 0 0.5em;
    content: "";
}

.main_nav .reset_ul > li:nth-child(3) > ul {
    padding: 10px !important;
}

.main_nav .reset_ul > li:nth-child(3) > ul h3 {
    position: relative;
    padding-bottom: 10px;
    margin: 0 0 10px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 20px;
    color: #2BAE80;
}

.main_nav .reset_ul > li:nth-child(3) > ul h3 + ul {
    display: block;
}

.main_nav .reset_ul > li:nth-child(3) > ul h3 + ul li {
    display: block;
    margin-bottom: 10px;
}

.main_nav .reset_ul > li:nth-child(3) > ul h3 + ul li:last-child {
    margin-bottom: 0;
}

.main_nav .reset_ul > li:nth-child(3) > ul h3 + ul li a,
.main_nav .reset_ul > li > ul li a {
    color: var(--anthracite);
    font-weight: 500;
}

/* Active underline bar */
.main_nav > ul > li.active {
    position: relative;
}

.main_nav > ul > li.active:after {
    content: '';
    height: 8px;
    width: 100%;
    position: absolute;
    bottom: -18px;
    left: 0;
}

/* Hover states */
.main_nav > ul > li:hover a:before {
    opacity: 0;
}

.main_nav > ul > li.active,
.main_nav > ul > li:hover {
    /* intentionally empty */
}

.main_nav > ul > li.active a,
.main_nav > ul > li:hover a {
    color: #fff;
}

.main_nav > ul > li > a.active {
    background: none;
}

/* Child toggle */
.mainNavChildToggle {
    float: right;
}

/* -------------------- SECONDARY / MEGA MENU HOVERS -------------------- */
header .out_wrap .main_nav > ul {
    position: unset;
}

header .out_wrap .main_nav > ul > li:hover > ul {
    display: block;
    border-radius: 16px;
    grid-gap: 5px;
}

header .out_wrap .main_nav > ul > li:nth-child(3) {
    position: unset;
}

header .out_wrap .main_nav > ul > li:nth-child(3):hover > ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 5px;
    top: 63px;
    left: -220px;
    width: 950px;
}

/* -------------------- SITE LOGO -------------------- */
.siteLogo {
    display: inline-block;
    width: 153px;
    height: 63px;
    background-image: url(https://toolbox.lau.edu.lb/_ui/lau-logo-retina-white.png);
    background-repeat: no-repeat;
    background-size: 153px 63px;
    background-position: center;
    position: relative;
    color: #fff;
}

.siteLogo h1 {
    font-size: 0;
    font-weight: 400;
    margin: 0;
}

.siteLogo,
.siteLogo:visited,
.siteLogo:hover {
    color: transparent !important;
}

/* -------------------- TOGGLE -------------------- */
.nav_toggle {
    display: none;
}

/* -------------------- HIDDEN / UTILITY -------------------- */
.child_closed,
.main_nav ul ul {
    display: none;
}

.mainContent {
    margin-top: 2rem;
}

header .out_wrap .main_nav > ul > li:hover a:before {
    opacity: 0;
}

.dimension div,
.sust_action_list {
    background: var(--anthracitelightgrey);
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 17px;
}

/* wrapper (light background like the screenshot) */
.policies_grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1rem;
    border-radius: 1rem;
}

/* card */
.policies_grid .grid-item {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1rem;
    align-items: self-start;
}

/* image */
.policies_grid .grid-item > img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 1rem;
}

/* text area */
.policies_grid .content-wrapper p {
    margin: 0;
    line-height: 1.6;
}

.policies_grid .content-wrapper a {
    color: #2a8675;
    font-weight: 600;
    text-decoration: none;
}

/* SDG pill */
.policies_grid .sdgnum {
    padding: 8px 15px;
    border-radius: 15px;
    background: var(--lightgreenbg);
    color: var(--primarygreen);
    font-weight: 700;
    font-size: 0.95rem;
    pointer-events: none;
    display: inline-block;
    margin-top: 1rem;
}

/* subNav Side Navigation */

.sideNav h3 {
    margin: .5rem 0;
}

.sideNav ul {
    background: var(--primarygreen);
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.01);
    border-radius: 8px;
    padding: 2rem 1rem 2rem 2.5rem;
    margin: 0;
}

.sideNav ul li ul {
    padding: 1rem;
}

.sideNav ul li a,
.sideNav ul li {
    padding-bottom: 0.25rem;
    list-style: none;
}

.sideNav ul li {
    color: #ffffff;
}

.sideNav ul li a,
.sideNav ul li.active {
    list-style: disc;
}

.sideNav ul li a,
.sideNav ul li a:visited {
    color: #FFFFFF;
    text-decoration: none;
    display: block;
}

.sideNav ul li a:hover {
    color: var(--secondarygreen9);
}

.sideNav ul li.active a {
    font-weight: 600;
}

.sideNav ul ul {
    display: none;
    margin: 10px 0 25px;
}

.blog_sustainable_action .sideNav ul ul {
    display: block;
}

.sideNav > ul > li.active > ul,
.sideNav ul:has(li.active) {
    display: block;
}

.sideNav > ul > li.active > ul > li.active > ul {
    display: block;
}

.sideNav i {
    padding: 15px 16px;
    vertical-align: middle;
    background-image: url(https://www.lau.edu.lb/sustainability/sdgs/_imagesui/navarrows.png);
    background-repeat: no-repeat;
    background-position: center 33%;
    background-size: 0.7rem;
    float: right;
}

.sideNav > ul > li.active > a i,
.sideNav > ul > li > a.togOpen i,
a.togOpen i {
    background-position: center -18%;
}

.sideNav > ul > li.active > ul {
    padding: 0.8em 0 1.2em;
    margin-top: 0;
    margin-bottom: 25px;
    background-color: var(--secondarygreen7);
    border-radius: 1rem;
    padding-left: 1rem;
    margin-top: 1rem;
}

.sideNav ul li.active ul li ul {
    background-color: var(--secondarygreen7);
}

/* -------------------- SECTION: number list CSS -------------------- */

.homepage div.numbers_list {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 24px;
    font-style: normal;
    margin-top: 2rem;
}

.homepage div.numbers_list > p {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 33px;
    gap: 25px;
    width: 206px;
    background: var(--anthracitelightgrey);
    border-radius: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
    color: var(--anthracite);
    min-height: 11rem;
}

.homepage div.numbers_list > p > strong {
    position: relative;
    top: 3px;
    font-size: 64px;
    line-height: 72px;
    text-align: center;
    color: #0D7D66;
}

/*** SECTION: End number list CSS */

/* -------------------- SECTION: How we do it -------------------- */

.homepage div.how-we-do-it {
    text-align: center;
}

.homepage div.how-we-do-it > h2 {
    text-align: center;
}

.homepage div.how-we-do-it > p {
    max-width: 455px;
    font-weight: 400;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    color: var(--anthracite);
    margin: 0 auto;
}

.commitments ul {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    padding: 0;
    margin: 2rem 0;
}

.commitments li {
    display: block;
    align-items: center;
    background-color: #CFE9E0;
    border-radius: 15px;
    padding: 0.01rem;
    text-decoration: none;
    color: var(--anthracite);
    font-size: 32px;
    line-height: 1.4;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    padding-inline: 2rem;
    padding-block: 1.6rem;
}

.commitments li a {
    display: block;
    align-items: center;
    padding: 0.01rem;
    text-decoration: none;
    color: var(--anthracite);
    font-size: 32px;
    line-height: 1.4;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    max-width: 15rem;
}

.commitments li:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Icon circle */
.commitments li a > p:has(> img) {
    display: block;
    align-items: center;
    border-radius: 50%;
    background-color: #2BAE80;
    width: 64px;
    height: 64px;
    display: grid;
    justify-content: center;
    margin: 0;
    margin-bottom: 2rem;
}

/* Arrow (after the text) */
.commitments li a::after {
    content: '→';
    font-size: 1.5rem;
    transition: transform 0.2s ease;
    position: absolute;
    right: 2.5rem;
}

/* arrow movement on hover */
.commitments li a:hover::after {
    transform: translateX(4px);
}

/*** SECTION: End of How we do it section */

/* -------------------- SECTION: Framework -------------------- */

.homepage div.framework {
    background-color: var(--anthracitelightgrey);
    padding-block: 4rem;
    margin-block: 5rem;
}

.homepage div.framework h3 {
    font-size: 40px;
}

.homepage div.framework p {
    font-size: 20px;
    max-width: 400px;
    line-height: 1.8rem;
    margin-bottom: 2rem;
}

/* -------------------- Wheel Modal -------------------- */
.sdg-modal #sdg-modal-body p {
    font-size: 14px !important;
    line-height: 18px !important;
}

.sdg-modal #sdg-modal-body h2#sdg-modal-title {
    font-weight: 700;
    font-size: 24px;
    line-height: 24px;
    color: var(--anthracite);
}

.wheel-wrapper {
    position: relative;
}

.sdg-modal[hidden] {
    display: none;
}

.sdg-modal {
    position: absolute;
    inset: 0;
    z-index: 9999;
}

.sdg-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    border-radius: 50%;
}

.sdg-modal__dialog {
    position: relative;
    max-width: 370px;
    width: 100%;
    padding: 3rem 1.5rem;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
    max-height: 80vh;
    overflow: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.sdg-modal__close {
    position: absolute;
    top: 8px;
    right: 8px;
    border: 0;
    background: var(--anthracitelightgrey);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    outline: none;
}

.sdg-modal__close:hover {
    color: #0D7D66;
}

/** END Wheel Modal CSS **/
/*** SECTION: End Framework */

/* -------------------- SECTION: News HP -------------------- */

section.news {
    clear: both;
    margin-bottom: 6rem;
}

section.news div.grid {
    grid-gap: 2rem;
}

section.news div.grid a {
    text-decoration: none;
    color: var(--anthracite);
}

section.news div.grid a img {
    border-radius: 1rem;
}

section.news div.grid a span:first-of-type {
    font-family: 'Aeonik Pro';
    line-height: 20px;
    color: #AEAEAE;
    display: block;
    padding-block: 0.5rem;
}

section.news div.grid a span:nth-of-type(2) {
    font-size: 20px;
    line-height: 28px;
}

section.news a.more_link {
    float: right;
}

section.news a.more_link:hover {
    opacity: 0.7;
}

section.news div.grid a:hover img {
    opacity: 0.9;
}

section.news div.grid a:hover span:nth-of-type(2) {
    color: var(--secondarygreen9);
}

/*** SECTION: End New HP */

/* About us index page */
.about-into > div {
    margin-top: 3rem;
}

.about-into {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.collaboration {
    background-color: var(--anthracitelightgrey);
    padding: 2rem 2.5rem;
    text-align: center;
    margin-block: 4rem;
}

.collaborate {
    margin-top: 3rem;
}

.collaborate ul {
    list-style: none;
    display: grid;
    gap: 0.5rem;
    padding: 0;
    grid-template-columns: repeat(4, 1fr);
}

.collaborate ul li {
    background: grey;
    padding: 0.5rem 1.5rem;
    line-height: 1.5rem;
}

.collaborate ul li:nth-child(1) {
    background-color: #E2F8F1;
}

.collaborate ul li:nth-child(2) {
    background-color: #FFF1DA;
}

.collaborate ul li:nth-child(3) {
    background-color: #FCE6FC;
}

.collaborate ul li:nth-child(4) {
    background-color: #FFE6E7;
}

.collaborate ul li:nth-child(5) {
    background-color: #EBF1D8;
}

.not-about-policies {
    padding-inline: 3rem;
}

/* About Us -- The Team page */
body.page_team main .grid2 {
    display: flex;
    gap: 0;
    position: relative;
    justify-content: left;
}

body.page_team main .grid2:nth-child(odd) {
    flex-direction: row-reverse;
}

body.page_team main .grid2 p img {
    border-radius: 1rem;
}

body.page_team main .grid2 p img {
    margin-right: -1rem;
    max-width: 400px;
}

body.page_team main .grid2 p {
    margin: 0;
    position: relative;
    margin-right: -1rem;
    z-index: 2;
}

body.page_team main .grid2:nth-child(even) p img {
    z-index: 2;
    margin-right: 1rem;
    margin-left: -1rem;
}

body.page_team main .grid2 > div {
    background-color: var(--lightgreenbg);
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    z-index: 1;
    margin-top: 4rem;
}

body.page_team main .grid2:nth-child(odd) > div {
    padding-left: 3.5rem;
}

body.page_team main .grid2:nth-child(even) > div {
    padding-right: 3rem;
}

body.page_team a.more_link {
    padding-top: 1rem;
    display: inline-block;
}

/* Footer */
footer {
    background-color: var(--anthracite);
    clear: both;
    padding-block: 2.5rem;
    margin-top: 3rem;
}

footer p {
    font-size: 1rem;
    line-height: 20px;
    color: #FFFFFF;
    margin: 0;
}

footer p img {
    max-width: 200px;
    margin-bottom: 2rem;
}

footer a.visit-website {
    font-weight: 800;
    font-size: 16px;
    line-height: 20px;
    text-decoration-line: underline;
    color: #2BAE80;
    margin-left: 0.5rem;
}

footer a.visit-website:hover {
    opacity: 0.9;
}

footer .footer_copyright a,
footer .footer_copyright {
    font-size: 14px;
    line-height: 20px;
    color: #7F858C;
    text-decoration: none;
}

footer .footer_copyright a {
    margin-right: 1rem;
}

footer .footer_copyright a:hover {
    text-decoration: underline;
}

.right.footer_sm {
    display: flex;
    margin-bottom: 3rem;
}

#scroll-to-top {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    cursor: pointer;
}

.scroll_to_top_arrow {
    width: 2rem;
    height: 2rem;
    margin: 20px;
    display: inline-block;
    position: relative;
    cursor: pointer;
}

.scroll_to_top_arrow::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    top: 50%;
    left: 50%;
    border-style: solid;
    border-color: #fff;
    border-width: 2px 2px 0 0;
    position: absolute;
    transform-origin: 50% 50%;
    transform: rotate(-45deg);
    margin: -6px 0 0 -5px;
}

.scroll_to_top_arrow::after {
    content: '';
    display: block;
    top: 50%;
    left: 50%;
    border-style: solid;
    border-color: #fff;
    position: absolute;
    transform-origin: 50% 50%;
    width: 0;
    height: 14px;
    border-width: 0 2px 0 0;
    transform: translate(-1px, -5px);
}

.scroll_to_top_arrow.circle {
    background-color: #58595b;
    border-radius: 50px;
    border: none;
    transition: background-color 0.3s ease;
}

.scroll_to_top_arrow.circle:hover {
    background-color: #02614b;
}

svg.heroclip {
    position: absolute;
}

/* Misc breakpoints */

@media only screen and (max-width: 1360px) {
    header .out_wrap .main_nav > ul > li:nth-child(3):hover > ul {
        left: -390px;
    }
}

@media screen and (max-width: 1200px) {
    .out_wrap {
        margin: 0 1.5rem;
    }
}

/* =========================================================
   DESKTOP-ONLY (min-width: 981px)
   ========================================================= */
@media only screen and (min-width: 981px) {

    .main_nav > ul > li:hover > a {
        opacity: 0.8;
    }

    .main_nav .reset_ul > li > ul li a:hover {
        text-decoration: underline;
    }

    .main_nav > ul > li.active,
    .main_nav > ul > li:hover {
        background: transparent;
    }

    .main_nav > ul > li > a:before {
        display: none;
    }

    .main_nav > ul > li {
        position: relative !important;
        float: left;
        margin: 0 0.7rem 0 0.4rem;
    }

    .main_nav > ul > li:last-of-type {
        margin-right: 0;
    }

    .main_nav > ul > li > a {
        padding: 0.2em 0.6em;
    }

    .main_nav > ul > li > a.active {
        background: linear-gradient(#006e58, #006e58);
        background-size: 86% 3px;
        background-repeat: no-repeat;
        background-position: 50% 95%;
    }

    .main_nav > ul > li > ul {
        position: absolute;
        top: 3rem;
        min-width: 15em;
        background-color: #fff;
        padding: 0.8em 0;
    }

    .main_nav > ul > li:last-of-type > ul {
        left: auto;
        right: 0;
    }

    /* Focus-within accessibility */
    .main_nav > ul > li:focus-within > ul {
        display: block;
        z-index: 50;
    }

    .main_nav > ul > li:focus-within > a {
        color: #FFF;
    }

    .main_nav a,
    .main_nav > ul > li:hover > ul,
    .main_nav > ul > li > a:focus ~ ul {
        display: block;
        z-index: 50;
    }

    .main_nav > ul > li:hover {
        background-color: transparent;
    }

    .main_nav > ul > li:hover a {
        color: #FFF;
    }

    .main_nav > ul > li > ul.megamenu > li {
        background-color: var(--anthracitelightgrey) !important;
        padding: 15px;
    }

    .main_nav > ul > li > ul:not(.megamenu) > li {
        padding-inline: 15px;
        padding-block: 0.25rem;
    }

    .main_nav > ul > li > ul > li > a {
        padding: 0.2em 0.6em;
        color: var(--anthracite);
    }

    .main_nav > ul > li > ul > li > a.active {
        font-weight: 600;
    }

    .main_nav ul ul a {
        color: #FFF;
    }

    .main_nav ul ul a:hover {
        color: rgba(255, 255, 255, 0.7);
    }

    .main_nav ul ul a[target]:after {
        display: inline-block;
        background-image: url(../_ui/external.svg);
        background-repeat: no-repeat;
        background-size: 0.7em 0.7em;
        width: 0.7em;
        height: 0.7em;
        margin: 0 0.5em;
        content: "";
    }

    /* Chevron for desktop */
    .main_nav > ul > li > a {
        padding: 0.2em 1.8em 0.2em 0.6em;
    }

    .main_nav > ul > li > a + .mainNavChildToggle {
        position: absolute;
        right: -7px;
        top: 32%;
        transform: translateY(-50%) rotate(45deg);
        -webkit-transform: translateY(-50%) rotate(45deg);
        width: 5px;
        height: 5px;
        border: solid #fff;
        border-width: 0 2px 2px 0;
        display: inline-block;
        margin: 0;
        padding: 0;
    }

    .main_nav > ul > li:nth-child(3) > a + .mainNavChildToggle {
        position: relative;
        margin-top: -48px;
    }

    .main_nav > ul > li:hover > a + .mainNavChildToggle {
        transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg);
    }

    .mainContent.out_wrap {
        display: flex;
        gap: 2rem;
    }

    .mainContent .sideNav {
        flex: 1;
        min-width: 25%;
    }

    .mainContent main {
        flex: 2.5;
        min-width: calc(75% - 2rem);
    }

    body:not(.homepage) .sideNav + main {
        clear: none;
        padding-top: 0;
        min-height: 34rem;
    }

    #subnavToggle {
        display: none;
    }
}

/* Mid-range adjustment: 981px–1050px */
@media (max-width: 1100px) and (min-width: 981px) {

    header .out_wrap .main_nav > ul > li:nth-child(3):hover > ul {
        width: 795px;
    }

    .siteLogo {
        width: 134px;
        height: 55px;
        background-size: 134px 55px;
    }

    .main_nav > ul > li > a:not(.mainNavChildToggle) {
        padding: 12px 4px 10px 0;
    }

    .main_nav > ul > li > a + .mainNavChildToggle {
        top: 48%;
    }

    .main_nav > ul > li:nth-child(3) > a + .mainNavChildToggle {
        margin-top: -20px;
    }

    .homepage div.numbers_list > p {
        min-height: 14rem;
    }
}

/* MOBILE / TABLET */
@media screen and (max-width: 980px) {

    .main_nav .reset_ul > li:nth-child(3) > ul h3 + ul li a,
    .main_nav .reset_ul > li > ul li a {
        font-size: 1rem;
    }

    .main_nav .reset_ul > li:nth-child(3) > ul {
        padding: 0 !important;
    }

    header .out_wrap .main_nav > ul > li:nth-child(3) {
        position: relative !important;
    }

    .main_nav .reset_ul > li:nth-child(3) > ul h3 {
        padding: 0;
        margin-bottom: 0 !important;
    }

    .heroContent .hero_sustainable_dimensions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reset_ul li > ul.mainNavChildOpen li {
        display: block;
        margin-bottom: 0.5rem;
    }

    .main_nav > ul > li:nth-child(3):hover > ul {
        transform: translate(0) !important;
    }

    .main_nav .reset_ul > li:nth-child(3) > ul h3 + ul {
        padding-block: 1rem;
        padding-top: 0.5rem !important;
        padding-bottom: 0 !important;
    }

    .main_nav .reset_ul > li:nth-child(3) > ul h3 + ul li {
        margin-bottom: 5px;
    }

    .top_nav_group {
        width: 98%;
        float: none;
        margin-top: 1.5em;
    }

    .main_nav ul li {
        margin: 0;
    }

    .main_nav > ul > li {
        float: none;
        clear: both;
        margin-bottom: 1.3rem;
        position: relative;
    }

    .main_nav > ul > li > ul {
        padding: 0;
    }

    .main_nav > ul > li > a:not(.mainNavChildToggle) {
        padding: 0.8em 0 0.8em 0;
        padding-left: 0;
        font-weight: 700;
        font-size: 1.3rem;
        line-height: 32px;
    }

    .main_nav .reset_ul > li:nth-child(3) > ul {
        padding-left: 0 !important;
    }

    .main_nav .reset_ul > li:nth-child(3) > ul.mainNavChildOpen h3 {
        margin: 2rem 0;
    }

    .main_nav .reset_ul > li:nth-child(3) > ul h3 + ul li a,
    .main_nav .reset_ul > li > ul li a {
        color: #FFFFFF;
    }

    .main_nav > ul > li.active,
    .main_nav > ul > li:hover {
        background: transparent;
    }

    .main_nav > ul > li > a:before {
        display: none;
    }

    ul.secondLevel:not(.mainNavChildOpen) {
        display: none !important;
    }

    .main_nav ul ul {
        display: block !important;
        opacity: 0;
        visibility: hidden;
        max-height: 0;
        transition: all 0.5s ease-in-out;
    }

    header .out_wrap .main_nav > ul > li:nth-child(3):hover > ul {
        width: 100%;
    }

    /* show only when opened */
    .main_nav ul ul.mainNavChildOpen,
    .main_nav ul ul.mainNavChildOpen ul {
        display: block !important;
    }

    .main_nav ul ul.mainNavChildOpen {
        border-top: 1px solid grey;
        border-radius: 0 !important;
        margin-top: 20px;
        padding-top: 20px !important;
        opacity: 1;
        visibility: visible;
        max-height: 700px;
        margin-bottom: 3rem;
    }

    .main_nav ul ul.mainNavChildOpen ul {
        border-top: 0;
        border-radius: 0 !important;
        margin-top: 0;
        padding-top: 20px !important;
        opacity: 1;
        visibility: visible;
        max-height: 600px;
    }

    header .out_wrap .main_nav > ul > li:nth-child(3) > ul {
        grid-template-columns: 1fr !important;
    }

    header .out_wrap {
        padding: 2rem 4%;
    }

    header .secondary_nav {
        display: none !important;
    }

    header.header_open .secondary_nav {
        display: block !important;
    }

    .nav_toggle {
        margin-top: 10px;
        width: 30px;
        height: 23px;
        background:
            linear-gradient(#ffffff 0, #ffffff 3px, transparent 3px, transparent 10px, #ffffff 10px, #ffffff 13px, transparent 13px, transparent 20px, #ffffff 20px, #ffffff 23px);
        float: right;
        color: transparent !important;
        display: block;
    }

    #logo {
        position: static;
    }

    .nav_toggle.btn_active {
        background:
            linear-gradient(45deg, transparent 0, transparent 15px, #fff 15px, #fff 17px, transparent 17px, transparent 30px),
            linear-gradient(-45deg, transparent 0, transparent 20px, #fff 20px, #fff 22px, transparent 20px, transparent 22px) !important;
    }

    .header_open {
        background: #293540;
        height: auto;
        min-height: 100vh;
        transition: all 0.25s ease-in-out;
        z-index: 300;
    }

    header:not(.header_open) {
        background: transparent;
        transition: all 1s ease-in-out;
    }

    header.header_open #main_nav {
        transform: translateX(0);
        transition: all 0.5s ease-in-out;
    }

    header:not(.header_open) #main_nav {
        transform: translateX(-120%);
        background: #293540;
        height: 100vh;
    }

    .header_open .out_wrap {
        padding-bottom: 80px;
    }

    .header_open .siteLogo {
        background-image: url(https://toolbox.lau.edu.lb/_ui/lau-logo-retina-white.png);
    }

    .header_open .main_nav a,
    .header_open .secondary_nav a {
        color: #fff;
    }

    .header_open .main_nav a:hover,
    .header_open .secondary_nav a:hover {
        color: rgba(255, 255, 255, 0.8);
    }

    .header_open .main_nav a.btn:hover,
    .header_open .secondary_nav a.btn:hover {
        color: #006751;
        background-color: #fff;
    }

    .header_open .main_nav > ul > li > ul > li > a {
        margin: 0;
        padding: 0;
    }

    .header_open .secondary_nav a {
        font-size: 1rem;
    }

    .sub_nav a {
        font-size: 1.1rem;
    }

    body:not(.homepage) a.mainNavChildToggle:hover {
        color: #fff;
    }

    .main_nav {
        float: left !important;
        width: 100%;
        margin: 0 0 4em;
        padding-top: 3em;
    }

    header a.btn {
        border: 1px solid #fff;
        width: auto;
        min-width: 0;
        display: inline-block;
        margin-left: 25px;
        padding: 9px;
    }

    .siteLogo {
        background-size: 153px 63px;
        background-position: left;
    }

    .mainNavChildToggle {
        padding: 2rem;
        margin-top: -15px;
        margin-right: -15px;
    }

    .mainNavChildToggle:after {
        content: '';
        border: solid #fff;
        border-width: 0 2px 2px 0;
        display: inline-block;
        padding: 4px;
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        position: absolute;
        top: 8px;
        right: 0.8rem;
    }

    .mainNavChildToggle.btn_active:after {
        transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg);
    }

    .nav_toggle:after {
        font-size: 27px;
    }

    aside {
        margin-left: 0;
    }

    aside img {
        max-width: 100rem;
        width: 100%;
    }

    .subnav_toggle {
        margin-top: 0;
        margin-right: 0;
        position: relative;
        background-color: var(--primarygreen);
        color: white;
        box-shadow: 0 0 30px rgba(121, 121, 121, 0.19);
        border-radius: 8px;
        padding: 1.5rem 1rem;
        padding-right: 7rem;
        text-decoration: none;
        width: auto;
        display: block;
    }

    .subnav_toggle::before {
        content: "";
        width: 38px;
        height: 38px;
        background-color: #5cb890;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 13px;
        top: 16px;
    }

    .subnav_toggle::after {
        content: "";
        position: absolute;
        width: 8px;
        height: 8px;
        border-left: 1px solid white;
        border-bottom: 1px solid white;
        transform: rotate(-45deg);
        right: 27px;
        top: 28px;
    }

    .subnav_toggle.btn_active::after {
        border-right: 1px solid white;
        border-top: 1px solid white;
        top: 33px;
        border-left: 0;
        border-bottom: 0;
    }

    .subnav_toggle:hover:before {
        background-color: var(--secondarygreen9);
    }

    .sideNav {
        margin-top: 0;
        min-width: 24%;
        display: none;
    }

    aside {
        float: none;
    }

    #scroll-to-top {
        right: 0;
    }

    .scroll_to_top_arrow.circle {
        background-color: #58595bb5;
    }

    /* About us page */
    .about-into {
        display: block;
    }

    .not-about-policies {
        padding-inline: 0;
    }

    .collaborate ul {
        flex-wrap: wrap;
    }

    .sdg-modal__dialog {
        width: 80%;
    }

    .homepage section.news div.grid {
        grid-template-columns: 1fr;
    }

    .framework .grid2 {
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    .homepage div.framework p {
        margin-inline: auto;
    }

    a.green_button {
        margin-inline: auto;
    }

    .commitments ul {
        display: block;
    }

    .commitments li {
        margin-bottom: 1.5rem;
    }

    .homepage div.numbers_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .homepage div.numbers_list > p {
        width: auto;
        min-height: 14.5rem;
        padding: 0.5rem;
        margin: 0 !important;
    }

    .collaborate ul {
        grid-template-columns: 1fr 1fr;
    }


}

@media screen and (max-width: 640px) {

    .heroContent {
        margin-top: 10rem;
        padding: 0 3rem !important;
        padding-bottom: 10rem !important;
    }

    .hero.out_wrap {
        max-width: 1460px;
        width: 100%;
        --panel: white;
        --curve-h: 28rem;
        min-height: 56rem;
        height: auto;
        background:
            radial-gradient(120% var(--curve-h) at 50% 140%, transparent 99%, #2f3941 100%) top / 100% calc(var(--curve-h) * 2) no-repeat,
            var(--panel);
    }

    header .out_wrap,
    .heroContent {
        padding: 0 .5em;
    }

    .heroContent .hero_sustainable_dimensions {
        grid-template-columns: 1fr;
    }

    .policies_grid .grid-item {
        grid-template-columns: 1fr;
    }

    .policies_grid .grid-item > img {
        height: 220px;
    }

    .policies_grid .sdgnum {
        position: static;
        align-self: start;
        margin-top: 8px;
    }

    .hero {
        background-position: center center;
    }

    body:not(.homepage) .hero {
        background-size: contain;
        max-height: 28rem;
    }

    .grid,
    .grid2 {
        grid-template-columns: 1fr;
    }

    body.page_team main .grid2:nth-child(even) p img {
        margin-right: 0;
        margin-left: 0;
    }

    body.page_team main .grid2 > div {
        margin-top: 0;
    }

    .homepage div.numbers_list > p > strong {
        font-size: 55px;
    }

    .homepage div.numbers_list {
        margin-top: 4rem;
    }

    body.page_team main .grid2 > div:nth-child(even) {
        margin-top: 0 !important;
        padding: 1rem 1.5rem !important;
    }

    body.page_team main .grid2 p {
        margin-right: 0 !important;
    }

    body.page_team main .grid2 {
        display: flex;
        flex-direction: column-reverse !important;
    }

    body.page_team main .grid2 > div:nth-child(odd) {
        margin-right: 0;
    }

    body.page_team main .grid2:nth-child(odd) p img {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.page_team main .grid2 p img {
        width: 100%;
        max-width: 640px;
    }

    .collaborate ul {
        grid-template-columns: 1fr;
    }

    footer .grid2 .left {
        text-align: center;
    }

    footer .grid2 .left p img {
        max-width: 11rem;
    }

    footer {
        display: flex;
        justify-content: center;
    }

    footer .grid2 {
        grid-template-columns: 1fr;
    }

    footer .footer_sm img {
        max-width: 50px;
    }

    .right.footer_sm {
        display: flex;
        margin-bottom: 1.5rem;
        flex-wrap: wrap;
        justify-content: center;
    }
}
