/* Common Site Variables */

:root {

    --headergraphic: url("/sites/default/files/assets/dcp-iscore/Final%202026%20ISCORE%20Banner.png");
    --h2margintop: 26%;
    --primarycolor: #203a64;
    --secondarycolor: lightblue;
    --tertiarycolor: lightgray;
    
    /* ----- Do not edit the values below ----- */
    --footerbg: #123e57; 
    --ncibarbg: #2972a6; 
    --navbarbg: #383838; 
    --navbarbottomborder: #15819b;
    --text: #2e2e2e; 
    --sitebg: #fff; 
    --headergray: #606060;
    --linkc: #2b7bba;
    --clr-accent: #0aff11;
    --whitecolor: #fff;
}

/* Navbar */

#eventsreg-nav-bar .navbar-inverse .navbar-nav > .active > a {
    border-bottom: 4px solid var(--navbarbottomborder);
}

#eventsreg-nav-bar {
    background-color: var(--navbarbg); 
}

.navbar-nav>li {
    text-transform: uppercase;
}

/* Header Banner */

.general-page-body-container {
background-image: var(--headergraphic);
background-size: 100%;
background-position: top center;
background-repeat: no-repeat; 
}

/* Right Side Column */
.region-sidebar-second {
    margin-top: 5%;
}

/* Page Elements */

.input-group-addon {
    padding: 0px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: #555555;
    text-align: left;
    background-color: #ffffff;
    border: 0px solid #ffffff;
    border-radius: 0px;
}


h2{
    margin-top: var(--h2margintop);
    font-family: 'Montserrat';
    color: var(--headergray);
    font-size: 28px;
    line-height: 2.4em;
}

h3{
    font-family: 'Montserrat';
    color: var(--headergray);
    font-size: 24px;
    line-height: 1.375em;
}

.callout-box {
    background-color: var(--whitecolor);
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, .15) 0 0 9px 1px;
    overflow: auto;
    padding: 25px;
    margin: 30px;
}

.col-sm-9 {
    width: 70%;
}

.col-sm-3 {
    width: 30%;
}

/* Webform */

/* .panel-title, .panel-heading {
    display: none; Removes title and background from Fieldset 
} */

.panel-heading {
border-bottom: 0px;
}

.panel-title {
background-color: #f6f4f4;
}

.text-count-message {
color: #777777;
font-size: 13px;
}

.panel {  
    background-color: var(--whitecolor);
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, .15) 0 0 9px 1px;
    overflow: auto;
    padding: 5px;
    border-top: 9px solid var(--primarycolor);
}

input {
  accent-color: var(--primarycolor);
}

label {
font-weight: bold;
margin-top: 2%;
}

label.control-label.option {
margin-left: 20px;
margin-top: 0px;
}

fieldset {
margin-top: 2%;
}


.button:hover  {
background-color: var(--primarycolor) !important;
}

.omb-statement {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 10px;
    font-size: 12px;
    margin-bottom: 20px;
}

.omb-date {
    text-align: right;
}

.button{
  background-color: var(--primarycolor);
  border: none;
  border-radius: 10px;
  color: var(--whitecolor);
  padding: 14px 22px;
  text-decoration: none;
  margin: 4px 2px;
  cursor: pointer;
}

.button:hover {
    background-color: #087d86;
}

/* Agenda */

th, td {
    padding: 20px !important;
}  

.tabledarkbg {
    background-color: var(--primarycolor); 
    color: white;
}

.tablelightbg {
    background-color: var(--secondarycolor);
    color: var(--whitecolor);
}

.tablegraybg {
    background-color: var(--tertiarycolor);
}

.tableheader {
    font-size: 18px;
    font-weight: 400;
    color: var(--whitecolor);
    text-transform: uppercase;
}


/* ========================================================= */
/* BASE VARIABLES AND TYPOGRAPHY */
/* ========================================================= */

.item-list2  li {
    list-style-type: none;
    margin: 0;
    padding: 0;
        border-top: 1px solid #CCC;
}

.speaker-bio-page-wrapper { /* RENAMED CLASS */
    max-width: 62.5rem; /* 1000px: Max width for content */
    /* Left alignment: top/bottom 0, right 30px margin, left 0 margin */
    margin: 0 1.875rem 0 0; 
    padding: 1.875rem 0; 
}

.page-title {
    font-size: 2.5rem; /* 40px */
    color: #1a1a1a;
    margin-bottom: 1.875rem; /* 30px */
    margin-top: 0;
}

/* ========================================================= */
/* BIO BLOCK STRUCTURE & LAYOUT (CRITICAL FLEXBOX FIXES) */
/* ========================================================= */

.bio-block {
    border-top: 1px solid #e0e0e0;
    padding-top: 1.875rem; 
    padding-bottom: 1.875rem; 
}

/* FIX 1: Enforce side-by-side layout for Image and Text */
.speaker-info-header {
    display: flex !important; /* FORCES flexbox and prevents wrapping under photo */
    align-items: flex-start;
}

/* Image Container */
.speaker-photo-wrapper {
    width: 6vw; 
    height: 7vw; 
    min-width: 6rem; /* 96px minimum image size */
    min-height: 7rem; 
    
    border-radius: 0.375rem; /* 6px */
    overflow: hidden; 
    flex-shrink: 0 !important; /* Ensures image never shrinks */
    
    background-color: #ffffff;
    box-shadow: 0 0 0 1px rgba(220, 220, 220, 0.8); 
}

.speaker-photo-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: center center; 
    display: block; 
}

/* Speaker Bio Details Container (Text Block) */
.speaker-bio-details {
    flex: 1 1 auto; /* Consumes remaining horizontal space */
    margin-left: 0.9375rem; /* 15px spacing from the image */
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* TYPOGRAPHY & TEXT DISPLAY (Ensures proper line breaks) */
.speaker-name { display: block; font-weight: 700; font-size: 1.5rem; color: #1a1a1a; margin-bottom: 0.1rem; }
.speaker-email { display: block; font-size: 0.875rem; color: #004488; margin-bottom: 0.625rem; }
.speaker-title { display: block; font-size: 1rem;  color: #858686; font-weight: 500; }
.speaker-organization { display: block; font-size: 1rem; font-weight: 500; color: #858686; margin-bottom: 0.2rem; }
.speaker-location { display: block; font-size: 1rem; color: #858686; font-weight: 500; }

/* Bio Content */
.speaker-bio-content { padding-top: 0.9375rem; }
.speaker-bio-content p { font-size: .95rem; line-height: 1.6; color: #858686; }


/* ========================================================= */
/* DETAILS TAG STYLING (BUTTON WIDTH FIXES) */
/* ========================================================= */

.bio-toggle-details {
   padding: 0;
    margin: 0.5rem 0 0 0; 
    border: none;
    
    /* Restore these for proper flow within the column */
    align-self: flex-start !important;
}

.bio-toggle-summary {
   all: unset; 
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    
    /* BUTTON WIDTH FIX: Force the summary button to wrap its content */
    max-width: fit-content !important; 
    flex-shrink: 0 !important;
    
    /* Button Styling */
    height: 1.5rem; 
    padding: 0 0.5rem; 
    border: 1px solid #004488;
    border-radius: 0.25rem; 
    color: #004488;
    font-size: 0.75rem; 
    font-weight: 600;
    transition: background-color 0.2s;
}

.bio-toggle-summary:hover {
    background-color: rgba(0, 68, 136, 0.05);
}

/* Remove default browser-provided triangle icon */
.bio-toggle-summary::-webkit-details-marker, 
.bio-toggle-summary::marker {
    display: none !important;
    content: "";
}

.bio-toggle-summary .button-text {
    margin-right: 0.3rem;
    line-height: 1;
}

.toggle-icon {
    font-size: 0.6rem;
    transform: rotate(0deg);
    transition: transform 0.3s;
    line-height: 1;
}

/* OPEN STATE: Rotate icon */
.bio-toggle-details[open] .toggle-icon {
    transform: rotate(180deg);
}


/* ========================================================= */
/* MOBILE RESPONSIVE STYLES (@media max-width: 600px) */
/* ========================================================= */

@media (max-width: 600px) {
    
    /* Adjust container spacing for full width feel */
    .speaker-bio-page-wrapper { /* RENAMED CLASS */
        padding: 1.25rem 0; /* 20px vertical padding */
        margin-left: 0;
        margin-right: 0;
    }
    
    /* Fixes margin/padding on the bio block edges */
    .bio-block {
        padding-left: 1.25rem; /* 20px */
        padding-right: 1.25rem; /* 20px */
    }
    
    .page-title {
        padding-left: 1.25rem; /* 20px */
    }
    
    /* Fluid Image Size for Mobile (uses vw units) */
    .speaker-photo-wrapper {
        width: 18vw !important;
        height: 18vw !important; 
        min-width: unset !important;
        min-height: unset !important;
    }
    
    /* Mobile Typography Adjustments */
    .speaker-name { font-size: 1rem; }
    .speaker-email, .speaker-title, .speaker-organization, .speaker-location { font-size: 0.875rem; }
}

svg.mailto {
    display: none;
}




/* Footer */

.site-footer {
    background: var(--footerbg);
}

/* CSS for client */
.webform-submission-pager {
 display:none;
}
.webform-submission-navigation {
 display:none;
}
.webform-submission-information {
 display:none;
}



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


}
