/* raleway */
@font-face {
    font-family: 'Raleway';
    src: url('/static/fonts/Raleway-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900 !important; /* Define weight range for variable font */
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Raleway';
    src: url('/static/fonts/Raleway-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900 !important; /* Define weight range for variable font */
    font-style: italic;
    font-display: swap;
}

/* source serif */
@font-face {
    font-family: 'Source Serif';
    src: url('/static/fonts/SourceSerif4-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900 !important; /* Define weight range for variable font */
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif';
    src: url('/static/fonts/SourceSerif4-Italic-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900 !important;
    font-style: italic;
    font-display: swap;
}




/* #fbfbfb would be default, general background color, close to white.
#db4d5b is the red colour, this red.
#161616 would be default font color, close to black.
#d9dad9 is the aluminum steel color.
#a0a0a0 used if a non-particular gray color is needed.*/


/* blue color: teal */
/* brown color: #3c280d. used by about esp. */


/* source serif for all? */
/* raleway for "copy to clipboard" and for the alerts */

html, body {
    height: 100%;
    display: flex; /* flex, so for footer */
    flex-direction: column; /* flex, so for footer. */
}

html, body {
    overflow-x: hidden; /* Prevents side scrolling */ /* otherwise, footer at left shows whitespace on scroll to left in some. */
    max-width: 100vw;   /* Ensures nothing exceeds the viewport */
    scrollbar-width: thin;
}

html, body, button {
    font-family: 'Source Serif', Georgia, Book Antiqua, Palatino Linotype, serif;
    font-size: 0.98rem;
    color: #161616;
    margin: 0;
    padding: 0;
}

body {
    background-color: #fbfbfb;
}



/* remove margin that comes by default with p.<br> be used instead. */
p {
    margin: 0;
}


/* Accent-color for all checkboxes and radio Use accent-color for modern browsers */
input[type="checkbox"] {
    accent-color: teal;
}
  
input[type="radio"] {
    accent-color: teal;
}

select {
    display: none !important;
    visibility: hidden !important;
}
select option {
    display: none !important;
    visibility: hidden !important;
} 


/* defaults ended */





/* NAV:: */

/* General styles for the navbar */
.grid-container {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #fbfbfb;
    padding: 0.16rem 0.16rem;
    border-bottom: 0.0218rem solid #c9c9c9;
    z-index: 10;
    /* box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1); */
    height: 3.24rem;
    display: grid;
    grid-template-columns: 14% 35% 15% 32%; /* 5% rem, taken from the last; 5% taken from the second. 1% added to the first. */
    align-items: left; /* Vertically align items */
    gap: 1%;
}

nav {
     margin-bottom: 3.2rem;
}


.logo img {
    height: 2.8rem;
    width: 2.8rem;
    align: center;
    border-radius: 25%;
    margin-top: 0.2rem;
    margin-left: 0.1rem;
    border: 0.0214rem solid #eee;
}

/* First link styles */
.link a {
    display: block;
    text-align: left;
    font-size: 0.54rem;
    margin-top: 1.60rem;
    margin-left: 0.385rem;
    text-decoration: none; /* Remove underline */
    color: #211214;
}

/* Button and below-link group */
.button-link {
    display: flex;
    flex-direction: column; /* Stack button and link vertically */
    align-items: center; /* Center both horizontally */
    justify-content: flex-start; /* Align content to the top */
}

.button-link button {
    font-size: 0.72rem; /* Button font size */
    padding: 0.12rem 0.12rem; /* Adjust padding for the button */
    border: none;
    align-content: right;
    text-align: center;
    cursor: pointer;
    margin-top: 0.611rem; /* At least 25% margin from the top */
    font-weight: 580;
}

.button-link .aN {
    border-radius: 16%;
    background-color: #EAE6E6; /* Button background color */
    color: #288686;    
}

.button-link .bN {
    border-radius: 5%;
    background-color: #288686; /* Button background color */
    color: #fbfbfb;
}



.button-link a {
    font-size: 0.4rem; /* Font size for link below button */
    margin-top: 0.1rem; /* 0.1rem space below button */
    text-decoration: none; /* Remove underline */
    color: #211214; /* Link color */
    text-align: center; /* Center the text */
    align-content: center;
    transition: font-size 0.2s ease;
}
.button-link a:hover {
    font-size: 0.5rem;
}

/* Add hover effects */
.fixed-nav a:hover,
.fixed-nav button:hover {
    opacity: 0.8;
}


/* NAV css COMPLETED;; */


/* body-wrapper default. body-wrapper for main/middle of nav and footer content. */

.body-wrapper {
    flex: 1; /* flex to 1, so footer goes to button regardless of small body-wrapper content. */
    width: 92%;
    margin: 0 auto; /* Center it horizontally */
    padding: 0 2px;
    text-align: left;
    word-break: keep-all;
    /* overflow-y: auto; /* to add scroll bar if content overflows vertically. *//*    this overflow-y is uncomplimentary with footer and flexbox need. */
}

/* body-wrapper default, that up */





/* FOOTER:: */

footer {
    background: linear-gradient(#0b0b0f, #479494fb);
    background-blend-mode: soft-light;
    border-top-left-radius: 0.4rem;
    border-top-right-radius: 0.4rem;
    color: #eee;
    margin: 2.5rem 0 0 0;
    font-weight: 455;
    font-size: 0.63rem;
    padding: 0.7rem 0.35rem 0.13rem 0.35rem;
}

footer a {
    text-decoration: none;
    color: #cfcfcf;
    max-width: max-content;
}

footer button {
    color: #161616;
    font-weight: 455;
    font-size: 0.78rem;
}

footer .subscribe {
    margin-bottom: 0.96rem;
    font-size: 0.74rem;
}

footer .subscribe input {
    background-color: #f0f0f0;
    font-family: 'Source Serif';
    font-style: italic;
    width: 45%;
    max-width: 43.2rem;
    border: 0.084rem solid #a0a0a0;
    border-radius: 0.71rem;
    margin-right: 0.12rem;
    display: inline-block;
}

/* footer .subscribe select {
    /* these are additions to prior, to hide default appearance */
    /* padding: 1.5px 3.5px 0px 3.5px;
    border: 1px solid #ccc;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
    /* additions end, below are the priors */
    /* color: #db4d5b;
    background-color: #ffffff10;
    font-family: 'Source Serif';
    font-style: italic;
    width: 30%;
    max-width: 28.8rem;
    border: 0.084rem solid #a0a0a0;
    border-radius: 0.71rem;
    cursor: pointer;
    margin-right: 0.12rem;
} */

footer .subscribe button {
    width: 15%;
    max-width: 14.4rem;
    border: 0.084rem solid #a0a0a0;
    border-radius: 0.6rem;
    margin: 0 0 0 0.22rem;
    cursor: pointer;
}

footer .one, footer .two {
    display: grid;
    grid-template-columns: 55% 45%;
    gap: 1.5%;
}

footer .one .oneA, footer .one .remOneB, footer .two .twoA, footer .two .twoB {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.11rem;
}

footer .one button {
    margin-top: 0.4rem;
    margin-bottom: 1.1rem;
    border: none;
    border-radius: 0.25rem;
    background-color: #18181bce;
    color: #fbfbfb;    
    padding: 0.1rem 0.25rem; 
    text-align: center;
    margin-left: 10%;
}

footer .two {
    border-top: 0.04rem dashed #fbfbfb;
    padding-top: 0.2rem;
}
footer .twoA a {
    text-decoration: underline;
    font-style: italic;
    font-weight: 680;
}
footer .three {
    font-size: 0.53rem;
    text-align: center;
    margin: 0 0.3rem;
}
footer .three a {
    padding: 0.13rem;
    color: #fbfbfb;
}

footer .smPic {
    height: 0.88rem;
    width: 0.88rem;
    background-color: #cfcfcf7f;
    border-radius: 0.14rem;
    margin-left: 0.25rem;
    margin-right: 0.75rem;
}


/* Footer's single-select dropdown: on */


/* select primary box covered in its own css, above. */
/*   #category::after {
    content: " ▼"; /* Dropdown Arrow */
    /*float: right;
  } */
  
  /* Hide default dropdown */
  /* #category option {
    display: none;
  }*/
  
  footer .subscribe .cstmSngle {
    color: #adffff;
    background-color: #ffffff10;
    font-family: 'Source Serif';
    font-style: italic;
    width: 30%;
    max-width: 28.8rem;
    border: 0.084rem solid #a0a0a0;
    border-radius: 0.71rem;
    cursor: pointer;
    margin-right: 0.12rem;
    padding: 1.5px 3.5px 0px 3.5px;
    display: inline-block;
  }
  
  /* Floating dropdown box */
  .select-modal {
    display: none;
    position: absolute;
    width: 100%;
    background: #f4f4f4;
    border: 1px solid #ccc;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
    max-height: 15rem; /* Set scrollable height */
    overflow-y: auto;
    padding: 0;
    z-index: 10;
    scrollbar-width: thin;
  }
  
  /* Style for options */
  .select-modal label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2px;
    cursor: pointer;
  }
  
  /* Radio button */
  .select-modal input[type="radio"] {
    margin-left: 2px;
  }
  
  
  /* Accent-color for all checkboxes and radio Use accent-color for modern browsers *//* Already in defaults although, but ok also here */
  input[type="checkbox"] {
    accent-color: teal;
  }
  
  input[type="radio"] {
    accent-color: teal;
  }
    


/* FOOTER css COMPLETED */













/* Q&A FOR APPLICANTS CSS */
body {
    scrollbar-width: initial; /* Should have scrollbar on otherhand to easily track read. */
}
.qaFA {
    margin: 0 auto;
    padding: 0 2px;
}
/* .qafA h3 {
    color: #111;
    font-weight: 680;
    text-justify: left;
    text-align: center;
    background-color: #db4d5b14;
    border-radius: 0.5rem;
}

.qafA .zh {
    border: 0.2rem solid #fbfbfb;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.14);
}
.qafA .bl {
    color: #db4d5b;
    font-weight: 560;
    font-size: 1.4rem;
}

.qafA a {
    color: #065959;
}

.qafA .hz {      
    background-color: #EAE6E6e4; /* Button background color */ /*
    font-weight: 525;
    border-radius: 0.4rem;
    font-size: 1rem;
}

.qafA .fz {
    display: grid;
    grid-auto-columns: auto;
    margin-top: 0.8rem;
}

.qafA .fz a {
    text-decoration: none;
    font-size: 0.8rem;
    color: inherit;
    text-align: right;
    margin-bottom: 0.4rem;
}

.qafA .zq {
    font: 0.8rem 'Raleway';
    margin: 0.2rem 1rem 0.2rem 0.2rem;
    border: 0.1rem solid #a0a0a0;
    background-color: #268989;
    color: #fbfbfb;
    border-radius: 0.5rem;
    padding: 0.4rem;
}

.qafA .za {
    font-size: 0.8rem;
    margin: 0 0 0 2rem;
    border: 0.1rem solid #FFC042;
    background-color: #007bff08;
    border-radius: 0.5rem;
    padding: 0.4rem;
}


/* Q&A FOR APPLICANTS css COMPLETED */




















:root {
    --color-primary: #008080;  /* Teal */
    --color-dark: #18181b;     /* Dark Gray */
    --color-light: #fbfbfb;    /* Off-White */
}

/* --- Tailwind-style classes converted to standard CSS --- */
/* .bg-dark */
.bg-dark {
    background-color: var(--color-dark);
}

/* .text-white */
.text-white {
    color: #fff;
}

/* .shadow-lg */
.shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

/* .container */
.container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* .mx-auto */
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

/* .px-6 */
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* .py-4 */
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/* .flex */
.flex {
    display: flex;
}

/* .items-center */
.items-center {
    align-items: center;
}

/* .justify-between */
.justify-between {
    justify-content: space-between;
}

/* .font-heading */
.font-heading {
    font-family: 'Raleway', sans-serif;
}

/* .text-2xl */
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

/* .font-bold */
.font-bold {
    font-weight: 700;
}

/* .text-center */
.text-center {
    text-align: center;
}

/* .mb-16 */
.mb-16 {
    margin-bottom: 4rem;
}

/* .text-[1.5rem] */
.text-\[1\.5rem\] {
    font-size: 1.5rem;
}

/* .text-dark */
.text-dark {
    color: var(--color-dark);
}

/* .mb-4 */
.mb-4 {
    margin-bottom: 1rem;
}

/* .leading-tight */
.leading-tight {
    line-height: 1.25;
}

/* .text-[1.125rem] */
.text-\[1\.125rem\] {
    font-size: 1.125rem;
}

/* .text-zinc-600 */
.text-zinc-600 {
    color: #52525b;
}

/* .max-w-4xl */
.max-w-4xl {
    max-width: 56rem; /* 896px */
}

/* .space-x-4 */
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
/* This is a more complex rule, a simpler version for a flex container would be: */
.space-x-4 {
    gap: 1rem;
}

/* .bg-primary */
.bg-primary {
    background-color: var(--color-primary);
}

/* .hover:bg-teal-600 */
.hover\:bg-teal-600:hover {
    background-color: #0d9488;
}

/* .py-2 */
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* .px-5 */
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

/* .text-sm */
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

/* .rounded-full */
.rounded-full {
    border-radius: 9999px;
}

/* .transition-colors */
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* .bg-white */
.bg-white {
    background-color: #fff;
}

/* .hover:bg-gray-200 */
.hover\:bg-gray-200:hover {
    background-color: #e5e7eb;
}

/* .text-xl */
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

/* .grid */
.grid {
    display: grid;
}

/* .grid-cols-1 */
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

/* .md:grid-cols-2 */
@media (min-width: 768px) {
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* .lg:grid-cols-3 */
@media (min-width: 1024px) {
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* .gap-8 */
.gap-8 {
    gap: 2rem;
}

/* .rounded-xl */
.rounded-xl {
    border-radius: 0.75rem;
}

/* .shadow-md */
.shadow-md {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

/* .overflow-hidden */
.overflow-hidden {
    overflow: hidden;
}

/* .transform */
.transform {
    transform: var(--tw-transform); /* Uses a CSS variable in Tailwind */
}

/* .hover:scale-[1.02] */
.hover\:scale-\[1\.02\]:hover {
    transform: scale(1.02);
}

/* .transition-transform */
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* .duration-300 */
.duration-300 {
    transition-duration: 300ms;
}

/* .cursor-pointer */
.cursor-pointer {
    cursor: pointer;
}

/* .w-full */
.w-full {
    width: 100%;
}

/* .h-48 */
.h-48 {
    height: 12rem; /* 192px */
}

/* .object-cover */
.object-cover {
    object-fit: cover;
}

/* .p-6 */
.p-6 {
    padding: 1.5rem;
}

/* .text-xs */
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}

/* .text-zinc-500 */
.text-zinc-500 {
    color: #71717a;
}

/* .mb-2 */
.mb-2 {
    margin-bottom: 0.5rem;
}

/* .bg-gray-50 */
.bg-gray-50 {
    background-color: #f9fafb;
}

/* .border-t */
.border-t {
    border-top-width: 1px;
}

/* .border-gray-200 */
.border-gray-200 {
    border-color: #e5e7eb;
}

/* .text-base */
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}

/* .leading-relaxed */
.leading-relaxed {
    line-height: 1.625;
}

/* .p-12 */
.p-12 {
    padding: 3rem;
}

/* .text-[1.75rem] */
.text-\[1\.75rem\] {
    font-size: 1.75rem;
}

/* .py-3 */
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

/* .px-8 */
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}

/* .text-[0.85rem] */
.text-\[0\.85rem\] {
    font-size: 0.85rem;
}





      body {
            font-family: 'Source Serif', serif;
            background-color: var(--color-light);
            color: var(--color-dark);
        }
        h1, h2, h3, .font-heading {
            font-family: 'Raleway', sans-serif;
        }
        .text-primary { color: var(--color-primary); }
        .bg-primary { background-color: var(--color-primary); }
        .bg-dark { background-color: var(--color-dark); }
        /* Style for the collapsible details section */
        .leader-details {
            max-height: 0;
            opacity: 0;
            overflow: hidden;
            transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out;
        }
        .leader-details.active {
            max-height: 50rem; /* A large value to allow the transition */
            opacity: 1;
        }


.qafA a {
    text-decoration: none;
}


































/* media responsiveness here: */


html {
    font-size: 17px; /*3.472222222px; /* Base size for mobile devices (default) */ /* change back to 10px by the way. The 3.4722 is to scale iphonexr:the 288 default emulator. */
}

/* For small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    html {
        font-size: 18px; /* Slightly larger for small tablets and landscape phones */
    }
}


/* For medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    html {
        font-size: 19px; /* Default size for tablets */
    }
}

/* For large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    html {
        font-size: 20px; /* Larger for desktops */
    }
}

/* For extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    html {
        font-size: 21px; /* Largest for extra large screens */
    }
}

/* For extra extra large devices (very large screens, 1600px and up) */
@media (min-width: 1600px) {
    html {
        font-size: 22px; /* Even larger for very large screens */
    }
}



/* responsiveness for editor */
@media (min-width: 620px) {
    .pfrm .editor-container {
        max-width: 55vw; /* Largest for extra large screens */
    }
}

@media (min-width: 720px) {
    .pfrm .editor-container {
        max-width: 45vw; /* Largest for extra large screens */
    }
}



