/*
 Theme Name: ISI 23
 Author: Dominik Staros
 Version: 1.0
 Description: Modern ISI theme template created in 2023.
 template: bb-theme
 */


/* -------------------------------
  Global Variables
-------------------------------- */
:root {
    font-size: 10px;

    /* Colors */
    --primary: #333333;
    --secondary: #f2f2f2;
    --cardinal: #990000;
    --brightred: #be0000;
    --gold: #ffcc00;
    --gray: #666666;
    --lightgray: #d6d6d6;
    --mediumgray: #717171;
    --mobilegray: #3c3c3c;
    --darkgray: #2b2b2b;
    --text: #333333;

    /* Font Awesome stacked icons */
    --fa-secondary-opacity: 1.0;
}


/* -------------------------------
  Resets
-------------------------------- */
body {
    background-color: #fff !important;
    color: #333333;
    font-family: "Lato", sans-serif;
    font-size: 1.6rem;
    line-height: 1.65;
}

h1, h2, h3, h4, h5, h6, p {
    font-family: Lato, sans-serif;
    word-spacing: 2px;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
}

main :is(h1, h2, h3) {
    font-weight: bold;
}

main :is(h2, h3) {
    margin: 3.5rem 0 1.5rem;
}

p, ul {
    margin-bottom: 2.2rem;
}

input[type="text"], input[type="password"], input[type="email"], input[type="tel"],
input[type="date"], input[type="month"], input[type="week"], input[type="time"],
input[type="number"], input[type="search"], input[type="url"],
textarea, textarea.form-control, select.form-control {
    padding: 7px 8px;
    border-color: var(--lightgray);
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    font-size: 1.7rem;
}

::selection {
    color: #000000;
    background: var(--gold);
}

a, a:hover, a:focus, a:active {
    /*color: #000;*/
}

::placeholder {
    color: #999 !important;
    opacity: 1 !important; /* Firefox */
}

@media (max-width: 767px) {
    body {
        font-size: 1.6rem;
    }
}


/* -------------------------------
  Beaver Builder Overrides
-------------------------------- */

.fl-row-content-wrap {
    padding: 0;
}

.fl-module-content {
    margin: 0 0 15px;
}

.fl-accordion-button-icon-left, .fl-accordion-button-icon-right {
    opacity: 1;
    filter: alpha(opacity=100);
}

.fl-accordion-button-label:focus, .fl-accordion-button-label:active, .fl-accordion-button-icon:focus, .fl-accordion-button-icon:active {
    outline-style: none;
}

.wp-caption p.wp-caption-text {
    padding: 10px 5px 0;
    font-size: 1.6rem;
}

.fl-photo-caption {
    margin: 1rem 0;
    padding: 1rem 1.5rem;
    background-color: var(--secondary);
    font-size: .9em;
}

.form-group {
    margin-bottom: 2rem;
}

.custom-select {
    height: initial;
}


/* -------------------------------
  Site Globals
-------------------------------- */

.sr {
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    border: 0;
}

.nobg {
    background: none !important;
}


/* -------------------------------
  Layout
-------------------------------- */

.isi-full-width .page-title .container,
.isi-full-width .fl-builder-content > .fl-row-fixed-width {
    max-width: 90%;
}

.isi-full-width .page-title .container {
    margin-left: auto;
}

@media (max-width: 991px) {
    .isi-full-width .page-title .container,
    .isi-full-width .fl-builder-content > .fl-row-fixed-width {
        max-width: 100%;
        padding-left: 40px;
        padding-right: 40px;

    }
}

@media (max-width: 767px) {
    .isi-full-width .page-title .container,
    .isi-full-width .fl-builder-content > .fl-row-fixed-width {
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* -------------------------------
  Site Header
 -------------------------------- */

#site-masthead {
    padding: 1.5rem 0;
    background-color: #fff;
}

#site-masthead .custom-logo {
    display: inline-block;
}

#site-masthead .logo img,
#site-masthead .custom-logo img {
    display: block;
    min-height: 40px;
    max-height: 50px;
    transition: all .5s;
}

#site-masthead .custom-logo img {
    max-height: 75px;
}

#site-masthead.bg-cardinal .logo img,
#site-masthead.bg-dark-gray .logo img {
    filter: brightness(0) invert(1);
}

#site-masthead.bg-gold .logo img {
    filter: brightness(255) invert(1);
}

#site-masthead.bg-white .logo img {
    filter: brightness(255) invert(1);
}

#site-masthead .usc-logo {
    display: inline-block;
    width: 233px;
    height: 50px;
    background-image: url(https://www.isi.edu/wp-content/themes/isi-main/img/usc-primary-logo.png);
    background-repeat: no-repeat;
    background-size: contain;
    transition: none;
}

#site-masthead.bg-gold .usc-logo,
#site-masthead.bg-white .usc-logo {
    background-image: url(https://www.isi.edu/wp-content/themes/isi-main/img/usc-primary-logo-cardinal-black.png);
}

#site-masthead.bg-black {
    background-color: #000;
}

#site-masthead.bg-cardinal {
    background-color: #900;
}

#site-masthead.bg-dark-gray {
    background-color: #333;
}

#site-masthead.bg-gold {
    background-color: #fc0;
}

#site-masthead.bg-white {
    background-color: #fff;
}

#site-masthead .col-6.logo-container {
    padding-left: 30px;
    line-height: 1;
}

#site-banner {
    position: relative;
    width: 100%;
    height: 350px;
    background-color: #000;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    transition: all 1s;
}

.home #site-banner {
    height: initial;
    overflow: hidden;
}

#site-banner h1 span {
    display: block;
    margin-top: 10px;
    font-size: 2.5rem;
}

#site-banner img {
    width: 100%;
}

#site-banner .wrapper {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
}

#site-banner h1, #site-banner .nr-title {
    margin: 0;
    padding: 20px 20px 15px;
    background: rgba(0, 0, 0, .55);
    color: #fff;
    font-family: 'latolight', sans-serif;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    transition: all 1s;
}

#site-banner h1 a {
    color: #fff;
}

#site-banner.bg-black h1 {
    background: rgba(0, 0, 0, .75);
}

#site-banner.bg-cardinal h1 {
    background: rgba(153, 0, 0, .85);
}

#site-banner.bg-gold h1 {
    background: rgba(255, 204, 0, .9);
}

#site-banner.bg-white h1 {
    background: rgba(255, 255, 255, .85);
}

#site-banner.bg-gold h1,
#site-banner.bg-white h1,
#site-banner.bg-gold h1 a,
#site-banner.bg-white h1 a {
    color: #000;
}

#site-banner .nr-title {
    display: none;
}

@media (max-width: 991px) {
    #site-banner {
        height: auto;
        min-height: 300px;
    }

    #site-banner .container,
    #site-banner .col-12 {
        padding: 0;
    }

    #site-banner img {
        display: none;
    }

    #site-banner h1 {
        display: block;
        padding-left: 55px;
        padding-right: 55px;
    }

    #site-banner .nr-title {
        display: block;
        padding: 15px 20px;
        font-size: 3rem;
    }

    #site-masthead .col-6.logo-container {
        padding-left: 15px;
    }
}

@media (max-width: 767px) {
    #site-masthead {
        padding: 10px 0;
    }

    #site-banner .container,
    #site-banner .col-12 {
        padding: 0;
    }

    #site-banner .row {
        margin: 0;
    }

    #site-banner h1 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 700px) {
    #site-masthead .logo img {
        display: none;
    }

    #site-masthead .logo {
        position: relative;
        display: block;
        width: 370px;
        height: 37px;
        background-image: url(/wp-content/themes/isi-main/img/isi-logo.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: left center;
        filter: brightness(255) invert(1);
        transition: none;
    }

    #site-masthead.bg-white .logo {
        filter: unset;
    }

    #site-masthead.bg-black .logo {
        background-image: url(/wp-content/themes/isi-main/img/isi-logo-gold.svg);
        filter: unset;
    }

    #site-masthead.bg-gold .logo {
        filter: brightness(0) invert(0);
    }

    #site-masthead .col-6.logo-container {
        padding-left: 0;
    }

    #site-masthead .logo {
        max-width: 406px;
    }

    #site-masthead .usc-logo {
        display: none !important;
    }

    #site-banner {
        min-height: 250px;
    }
}

@media (max-width: 575px) {
    #site-masthead {
        min-height: 57px;
    }

    #site-masthead .col-6.logo-container {
        padding-left: 0 !important;
    }

    #site-masthead .logo {
        left: 10px;
        max-width: 250px;
        flex-basis: 260px;
        transition: all 1s;
    }

    #site-masthead .custom-logo img {
        max-width: 250px;
        max-height: 60px;
        margin-left: 10px;
    }
}

/* -------------------------------
  Site Menu

  1. Menu wrappers
  2. Level 1
  3. Sublevels
  4. Top menu
  5. Mobile button
  6. Media queries
-------------------------------- */

/* 1. Menu wrappers */

.menu-left #site-masthead + .container {
    display: none;
}

#site-menu h2 {
    margin: 0 0 10px;
    color: #bbb;
    font-family: "latolight", sans-serif;
    font-size: 4rem;
    transition: color .5s;
}

#site-menu a:hover {
    text-decoration: none;
}

#site-menu a:hover h2 {
    color: #000;
}

#site-menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    counter-reset: elementcounter;
}

#site-menu .navbar-expand-lg .navbar-nav {
    flex-direction: column;
}

#site-menu ul.nav .container {
    width: auto;
    max-width: 90%;
    padding: 0;
}

/* 2. Level 1 */

#site-menu ul > li {
    margin: 0 0 0 -10px;
    padding-left: 10px;
    line-height: 1.4;
}

#site-menu ul#menu-main-menu > li.current_page_item:before,
#site-menu ul#menu-main-menu > li.current-menu-parent:before {
    color: #000;
}

#site-menu .nav-link {
    display: inline-block;
    color: #000;
    font-weight: 500;
    text-transform: uppercase;
}

#site-menu ul > li:before,
#site-menu .nav-link {
    font-size: 1.8rem;
}

#site-menu li a:hover {
    background: rgba(0, 0, 0, .05);
}

/* 3. Sublevels */

#site-menu ul.nav .nav-item.show .sub-menu.show {
    display: block !important;
    padding: 0 0 2px 26px;
}

.navbar-expand-lg .navbar-nav .dropdown-menu {
    position: static;
    padding: 0;
    background-color: transparent;
    border: none;
}

#site-menu ul.nav .sub-menu a {
    font-size: 1.5rem;
}

#site-menu .sub-menu li.current-menu-item::before,
#site-menu .sub-menu li.current_page_parent::before {
    position: absolute;
    display: inline-block;
    margin: 13px 0 0 -10px;
    font: var(--fa-font-solid);
    content: "\f111";
    color: #EAA130;
    font-size: 6px;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

#site-menu ul.nav .sub-menu {
    display: none;
}

/* 4. Top menu */

.menu-top #site-menu .navbar {
    padding: 0;
}

.menu-top #site-menu .navbar-expand-lg .navbar-nav {
    flex-direction: unset;
    display: inline-block;
    margin: 0 auto;
}

.menu-top #site-menu ul.nav > li {
    position: relative;
    display: inline-block;
    margin: 0 10px;
    padding-left: 0;
    word-spacing: 2px;
}

.menu-top #site-menu .nav-link {
    padding: 15px;
    font-size: 1.6rem;
}

.menu-top #site-menu .collapse > ul li .nav-link {
    color: #000;
}

.menu-top #site-menu .collapse > ul li:hover,
.menu-top #site-menu .collapse > ul li.open {
    background: #000;
}

.menu-top #site-menu .collapse > ul li:hover .nav-link,
.menu-top #site-menu .collapse > ul li.open .nav-link {
    color: #fff;
}

.menu-top #site-menu ul.nav .container {
    max-width: 100%;
}

.menu-top #site-menu ul.nav .row {
    margin: 0;
    width: 100%;
}

.menu-top #site-menu ul.nav .sub-menu {
    width: 100%;
    padding: 0;
}

.menu-top #site-menu .sub-menu li.current-menu-item::before,
.menu-top #site-menu .sub-menu li.current_page_parent::before {
    display: none;
}

.menu-top #site-menu ul.nav .sub-menu {
    display: block;
}

.menu-top #site-menu ul.nav .nav-item.show .sub-menu.show {
    padding-left: 0;
}

.menu-top #site-menu .navbar-nav .wrapper {
    display: none;
    position: absolute;
    z-index: 999;
    min-width: 100%;
    margin-left: 0;
    padding: 0;
    background-color: transparent;
}

.menu-top #site-menu .collapse > ul > li:hover .wrapper {
    display: block;
}

.menu-top #site-menu .navbar-nav .sub-menu > li {
    margin: 0;
    padding: 0;
    background: rgba(255, 255, 255, .9);
    transition: all .5s;
}

.menu-top #site-menu .navbar-nav .row > ul.sub-menu > li:hover {
    background: rgba(215, 215, 215, .9);
}

.menu-top #site-menu .navbar-nav .row > ul.sub-menu > li .nav-link {
    color: #000;
    font-size: 1.4rem;
    padding-right: 20px;
    white-space: nowrap;
}

.menu-top #site-menu .sub-menu .nav-link {
    font-size: 1.4rem;
}

.menu-top #site-menu .sub-menu li a {
    width: 100%;
}

.menu-top #site-menu .sub-menu li a:hover {
    background: none;
    color: inherit;
}

.menu-top #site-menu nav > div {
    display: block !important;
    width: 100%;
    text-align: center;
}

/* 5. Mobile button */

#site-masthead .navbar-toggler {
    display: none;
    color: #000;
    border: none;
    font-size: 22px;
}

#site-masthead.bg-black .navbar-toggler,
#site-masthead.bg-cardinal .navbar-toggler,
#site-masthead.bg-dark-gray .navbar-toggler {
    color: #fff;
}

#site-masthead .navbar-toggler:active,
#site-masthead .navbar-toggler:focus {
    background: transparent;
}

#site-masthead .navbar-toggler:hover {
    background: rgba(0, 0, 0, .2);
}

#site-masthead.bg-black .navbar-toggler:hover,
#site-masthead.bg-cardinal .navbar-toggler:hover,
#site-masthead.bg-dark-gray .navbar-toggler:hover {
    background: rgba(255, 255, 255, .2);
}

/* 5. Media queries */

@media (max-width: 991px) {
    .menu-left #site-masthead + .container {
        display: block;
    }

    .menu-top #site-menu .navbar {
        margin-top: 0;
    }

    .container #site-menu .navbar-expand-lg .collapse {
        display: none !important;
        width: 100%;
    }

    #site-masthead .usc-logo {
        display: none !important;
    }

    #site-masthead .navbar-toggler {
        display: inline-block;
    }

    .container #site-menu nav > div {
        display: block !important;
        width: 100%;
    }

    .menu-top #site-menu nav > div {
        text-align: left;
    }

    .container #site-menu .navbar {
        margin-top: 0;
        padding: 0;
        background: transparent;
    }

    .container #site-menu .navbar-nav .wrapper {
        display: none;
        position: relative;
        width: 100%;
    }

    .container #site-menu .sub-menu {
        margin-left: 0;
    }

    .container #site-menu .collapse > ul > li:hover .wrapper {
        display: none;
    }

    .container #site-menu ul.nav .container {
        max-width: 100%;
    }

    .container #site-menu ul.nav .row,
    .container #site-menu ul.nav .sub-menu {
        width: 100%;
        margin: 0;
        padding: 0 !important;
    }

    .container #site-menu .navbar-expand-lg .navbar-nav,
    .container #site-menu .navbar-expand-lg .collapse > ul,
    .container #site-menu ul.navbar-nav > li,
    .container #site-menu .collapse > ul > li.open .wrapper,
    .container #site-menu ul.nav .sub-menu {
        display: block !important;
    }

    .container #site-menu .navbar-expand-lg .collapse.show {
        display: block !important;
    }

    .container #site-menu ul.navbar-nav > li {
        margin-left: 0;
        padding-left: 0;
    }

    .container #site-menu ul.navbar-nav > li:first-of-type {
        margin-top: 10px;
        padding-top: 0;
    }

    .container #site-menu ul.navbar-nav > li:last-of-type {
        margin-bottom: 10px;
        padding-bottom: 0;
    }

    .container #site-menu .collapse > ul li:hover,
    .container #site-menu .collapse > ul li.open {
        background: #000;
    }

    .container #site-menu .navbar-nav .row > ul.sub-menu > li:hover {
        background: rgba(215, 215, 215, .9);
    }

    .container #site-menu .navbar-nav .sub-menu > li {
        margin: 0;
        padding: 0;
        background: rgba(255, 255, 255, .9);
        transition: all .5s;
    }

    .container #site-menu .nav-link {
        width: calc(100% - 50px);
        padding: 10px;
        font-size: 1.6rem;
    }

    .container #site-menu .collapse > ul li:hover .nav-link,
    .container #site-menu .collapse > ul li.open .nav-link {
        color: #fff;
    }

    .container #site-menu .navbar-nav .row > ul.sub-menu > li .nav-link {
        color: #000;
    }

    #site-menu .sub-menu li.current-menu-item::before,
    #site-menu .sub-menu li.current_page_parent::before {
        display: none;
    }
}

@media ( max-width: 767px ) {
    .mobile-title + .container > .row {
        margin-left: -20px;
        margin-right: -20px;
    }

    #site-menu {
        padding: 0;
    }
}

/* -------------------------------
  Main Content

  1. Site content
  2. Breadcrumbs
  3. Page header + title
 -------------------------------- */

/* 2. Site content */

#nr-main-content {
    min-height: 200px;
    margin-bottom: 4rem;
}

#nr-main-content > .container {
    max-width: 100%;
}

#site-content #fl-main-content {
    padding-top: 4rem;
    padding-bottom: 3rem;
}

#nr-main-content a {
    /*color: var(--cardinal);*/
}

#contact-isi > .fl-content {
    margin-top: 0;
}

@media ( min-width: 992px ) {
    #nr-main-content > .container {
        padding: 0;
    }
}

@media ( max-width: 991px ) {
    #nr-main-content {
        margin-top: 40px;
    }

    #nr-main-content > .container {
        padding: 0;
    }
}

@media ( max-width: 991px ) {
    #site-content {
        margin: 0;
    }

    #site-content #fl-main-content {
        padding-top: 0;
    }
}

/* 2. Breadcrumbs */

.breadcrumbs {
    overflow: hidden;
}

.breadcrumbs nav.container {
    position: relative;
    margin: 0 0 20px;
    border-radius: 0;
}

.breadcrumbs nav::before {
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -100000px;
    left: -100000px;
    background-color: #ffffff;
    content: '';
    z-index: 1;
}

.breadcrumbs ul {
    position: relative;
    z-index: 2;
    list-style: none;
    margin: 0;
    padding: 7px 0 8px;
}

.breadcrumbs li, .breadcrumbs a, .breadcrumbs a:visited {
    display: inline-block;
    color: #000;
    font-weight: normal !important;
}

.breadcrumbs li::after {
    font-family: "Font Awesome 6 Pro", serif;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.4;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f105";
    color: rgba(0, 0, 0, .2);
    padding: 0 1rem;
    vertical-align: top;
}

.breadcrumbs li:last-child::after {
    display: none;
}

/* 3. Page header + title */

.page-title h1 {
    margin-bottom: 4rem;
    font-size: 3.0rem;
    text-transform: uppercase;
}

.page-title .container {
    margin-left: 0;
}

.home .page-title {
    display: none;
}

#site-content .subheader {
    margin: -4rem auto 4rem;
}

#site-content .subheader .content {
    padding: 8px 20px 10px;
    background: rgba(0, 0, 0, .4);
    color: #fff;
    font-family: "latolight", sans-serif;
    font-size: 1.6rem;
    word-spacing: 3px;
    text-transform: uppercase;
}

body.home #site-content .subheader .content {
    text-transform: none;
}

#site-content .subheader .content span {
    display: block;
    font-size: 1.8rem;
    line-height: 1.4;
}

#site-content .subheader span strong,
#site-content .subheader b {
    font-family: Lato, sans-serif;
}

#site-content article > header.fl-post-header {
    display: none;
}

#site-content .mobile-title {
    position: relative;
    display: none;
    margin: 0 25px;
    padding: 10px 20px;
    background: #E1E1E1;
}

#site-content .mobile-title h1,
#site-content .mobile-title h1 span {
    margin: 0;
    color: #000;
    font-family: "latolight", sans-serif;
    font-size: 2rem;
    line-height: 1.2;
    text-transform: uppercase;
}

#site-content .mobile-title h1 span {
    display: inline-block;
    margin-right: 15px;
}

@media (max-width: 991px) {
    #site-content .subheader {
        display: none;
    }

    #site-content .mobile-title {
        display: block;
    }
}

#site-content .nr-block {
    margin-bottom: 50px;
    padding-top: 10px;
}

#site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(odd) .nr-block {
    margin-left: 0;
    margin-right: 20px;
}

#site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(even) .nr-block {
    margin-left: 20px;
    margin-right: 0;
}

#site-content .nr-block.nr-col-2 {
    margin-right: 0 !important;
}

#site-content .nr-block {
    border-top: solid 5px #000;
}

.nr-footer {
    margin-top: 30px;
}

.nr-footer .nr-block {
    margin-left: 5px;
    margin-right: 5px;
}

.nr-footer > div:first-of-type {
    padding-left: 10px;
    padding-right: 20px;
}

.nr-footer > div:not(:last-of-type) .nr-block {
    margin-left: 0;
}

.nr-footer > div:nth-of-type(3) .nr-block {
    margin-right: 0;
}

.nr-row .col-md-6 {
    padding-right: 20px;
}

.nr-row .col-md-6:last-of-type {
    padding-right: 15px;
    padding-left: 20px;
}

.nr-block :is(h2, h3, h4, h5) {
    margin: 0 0 2rem;
    text-transform: uppercase;
}

.nr-block figure + :is(h2, h3, h4, h5) {
    margin: 10px 0;
}

.nr-block.nr-article.nr-figure a :is(h2, h3, h4, h5) {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
}

.nr-block .fl-rich-text {
    line-height: 1.4;
}

.nr-text-columns {
    column-count: 2;
}

.nr-block figure {
    width: 100%;
    margin: 5px 0 0;
    overflow: hidden;
    transition: all .5s;
}

.nr-block figure img {
    max-width: 100%;
    transition: all .5s;
}

.nr-block.nr-article figure img {
    width: 100%;
    margin-left: 50%;
    transform: translateX(-50%);
}

.nr-block figure.nr-custom-img img {
    max-width: 100%;
    height: initial;
    margin-left: 0;
    transform: none;
}

.nr-block a {
    color: #000;
}

.nr-block a:hover {
    text-decoration: none;
}

.nr-block p a:hover {
    text-decoration: underline;
}

.nr-block > a:hover figure img {
    transform: scale(1.1);
}

.nr-block.nr-article a:hover figure img {
    transform: scale(1.1) translateX(-45%);
}

.nr-block > a:hover figure.nr-custom-img img {
    transform: scale(1.1);
}

.nr-block.nr-article figure {
    margin-left: 50%;
    transform: translateX(-50%);
}

.nr-block.nr-article a:hover :is(h2, h3, h4, h5) {
    text-decoration: underline;
}

.nr-block p {
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.nr-block .read-more {
    margin: 0;
    text-align: right;
}

.nr-article .read-more {
    margin-top: 1.5rem;
}

.nr-block .read-more a {
    font-size: 1.5rem;
    text-decoration: underline;
    text-transform: uppercase;
}

.nr-block .read-more a:hover {
    color: #000;
    font-weight: bold;
}

.nr-block .read-more a i {
    margin-left: 10px;
}

.nr-block .read-more i {
    margin-left: 10px;
}

#site-content .news-feed {
    margin-top: 10px;
}

@media ( max-width: 991px ) {
    .nr-footer .col-md-6:nth-of-type(3) {
        display: none;
    }
}

@media ( max-width: 768px ) {
    .fl-col-small:not(.fl-col-small-full-width) {
        max-width: 1000px;
    }

    #site-content .fl-col-group:nth-of-type(1) > .fl-col .nr-block {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    #site-content .nr-block {
        margin-bottom: 40px;
    }

    .nr-block .nr-row :is(h2, h3, h4, h5) {
        margin-top: 10px;
    }

    .nr-text-columns {
        column-count: unset;
    }

    #site-masthead .col-6.logo-container {
        padding-left: 13px;
    }
}

@media ( max-width: 767px ) {
    #site-content .mobile-title {
        margin: 0;
    }
}


/* -------------------------------
  Footer

  1. Shared properties
  2. Footer title bar
  3. Social links
  4. Site links
  5. USC links
  6. Site info
 -------------------------------- */

/* 1. Shared properties */

#site-footer {
    width: 100%;
}

#site-footer .fl-widget {
    margin-bottom: 1rem;
}

#site-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#site-footer :is(h1, h2, h3, h4, h5, h6) {
    margin: 0 0 1.5rem;
    color: #fff;
}

#menu-footer-links li::before,
#menu-social-links-menu a::before,
#site-footer .usc-links li::after {
    font: var(--fa-font-regular);
}

#site-footer .footer-content {
    padding: 3rem 0 1.5rem;
    background-color: #222;
    color: #D6D6D6;
}

/* 2. Footer title bar */
#site-footer .title-bar {
    overflow: hidden;
    line-height: 0;
}

#site-footer .title-bar .container div {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 1.5rem 1.5rem 1rem 0;
    background-color: var(--cardinal);
}

#site-footer .title-bar div.container div::before {
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -100000px;
    right: 0;
    background-color: var(--cardinal);
    content: '';
}

#site-footer .logo {
    display: block;
    width: 300px;
    height: 25px;
    background-image: url(img/isi-logo.svg);
    background-repeat: no-repeat;
    background-size: contain;
    filter: brightness(0) invert(1);
}

/* 3. Social links */

ul.social-links li {
    display: inline-block;
    margin: 0;
}

.social-links a {
    display: inline-block;
    line-height: 1;
    margin-right: 2.5rem;
    font-size: 0;
    overflow: hidden;
}

.social-links li:last-child a {
    margin-right: 0;
}

.social-links a::before {
    font-family: "Font Awesome 6 Brands", serif;
    font-size: 2.5rem;
}

.social-links a[href*=facebook]::before {
    content: "\f39e";
}

.social-links a[href*=bsky]::before {
    content: "\e671";
}

.social-links a[href*=twitter]::before,
.social-links a[href*="x.com"]::before {
    content: "\e61b";
}

.social-links a[href*=youtube]::before {
    content: "\f167";
}

.social-links a[href*=linkedin]::before {
    content: "\f08c";
}

.social-links a[href*=instagram]::before {
    content: "\e055";
}

.social-links a.email::before {
    font-family: "Font Awesome 6 Pro", serif;
    font-weight: 900;
    content: "\f0e0";
}

/* 3. Social  links */

ul#menu-social-links-menu {
    margin-top: 1em;
}

#menu-social-links-menu li {
    display: inline-block;
}

#menu-social-links-menu a {
    display: inline-block;
    height: 5rem;
    margin-right: 2.5rem;
    font-size: 0;
    overflow: hidden;
}

#menu-social-links-menu li:last-child a {
    margin-right: 0;
}

#menu-social-links-menu a::before {
    font-family: "Font Awesome 6 Brands", serif;
    font-size: 2.5rem;
}

#menu-social-links-menu a[href*=facebook]::before {
    content: "\f39e";
}

#menu-social-links-menu a[href*=bsky]::before {
    content: "\e671";
}

#menu-social-links-menu a[href*=twitter]::before,
#menu-social-links-menu a[href*=x.com]::before {
    content: "\e61b";
}

#menu-social-links-menu a[href*=youtube]::before {
    content: "\f167";
}

#menu-social-links-menu a[href*=linkedin]::before {
    content: "\f08c";
}

#menu-social-links-menu a[href*=instagram]::before {
    content: "\e055";
}

/* 4. Site links */

#menu-footer-links li::before {
    display: inline-block;
    width: 2em;
}

.footer-website::before {
    content: "\f0ac";
}

.footer-contact::before {
    content: "\f095";
}

.footer-locations::before {
    content: "\f3c5";
}

.footer-media-relations::before {
    content: "\f130";
}

.footer-join-us::before {
    content: "\f500";
}

.footer-site-map::before {
    content: "\f279";
}

#menu-footer-links a {
    display: inline-block;
    padding: 0 0 1.2rem 0;
}

#site-footer a:link,
#site-footer a:visited {
    font-family: "Lato", sans-serif;
    color: #D6D6D6;
}

#site-footer a:hover {
    text-decoration: none;
}

@media (max-width: 1199px) {
    .menu-footer-links-container {
        text-align: center;
    }

    ul#menu-footer-links {
        display: inline-block;
        margin: 1.5rem auto 0;
        text-align: left;
    }

    #menu-footer-links li {
        display: inline-block;
        margin-right: 3rem;
    }

    #menu-footer-links li:last-child {
        margin-right: 0;
    }
}

@media (max-width: 991px) {
    #site-footer {
        font-size: 15px;
    }

    .menu-footer-links-container {
        text-align: left;
    }

    #site-footer .footer-content {
        padding: 3rem 0;
    }

    #site-footer .row > div,
    .menu-footer-links-container {
        margin: 0;
        padding: 0 15px;
    }

    #site-footer .row > div:nth-child(2) {
        margin: 2rem 0 3.5rem;
        padding: 2.5rem 0;
        border-top: solid 1px var(--gray);
        border-bottom: solid 1px var(--gray);
    }

    #site-footer .usc-links {
        margin-top: 2rem;
    }

    ul#menu-footer-links {
        margin: 0;
    }

    #menu-footer-links li {
        display: block;
        margin: 0;
    }

    #menu-footer-links li:last-child a {
        padding-bottom: 0;
    }

    #site-footer .usc-links li:last-child a {
        margin-bottom: 0;
    }
}

/* 5. USC links */

#site-footer .usc-links {
    position: relative;
}

#site-footer .wrapper {
    display: inline-block;
    position: absolute;
    right: 3rem;
    margin-top: .25rem;
}

#site-footer .viterbi-logo {
    display: block;
    width: 235px;
    height: 40px;
    margin-bottom: 1.5rem;
    background-image: url(img/viterbi-logo.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

#site-footer .usc-links li a {
    display: inline-block;
    width: 280px;
    margin-bottom: .9rem;
}

#site-footer .usc-links li::after {
    content: "\f08e";
}

@media (max-width: 991px) {
    #site-footer .wrapper {
        display: block;
        position: relative;
        right: 0;
    }
}

/* 6. Site info */

#site-info {
    padding: 1.0rem 0;
    background-color: #111;
    font-size: 1.5rem;
    text-align: center;
}

#site-info .fl-widget {
    margin-bottom: 0;
}

#site-info > div, #site-info ul, #site-info li, #site-info span {
    display: inline-block;
}

#site-info li {
    padding: 0 5rem 0 0;
}

#site-info :is(a, a:visited, span, li) {
    color: #b1b1b1;
}

#site-info ul li:not(:last-child)::after {
    display: inline-block;
    font-family: "Font Awesome 6 Pro", serif;
    font-size: .8rem;
    font-weight: 900;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f111";
    color: var(--gray);
    margin: .8rem 0 0 5rem;
    vertical-align: top;
}

#site-info a:hover {
    color: var(--gold);
    text-decoration: none;
}

@media (max-width: 767px) {
    #site-info ul {
        margin-bottom: 1rem;
    }

    #site-info ul, #site-info span {
        display: block;
    }

    #site-info li:last-child {
        padding: 0;
    }

    #site-info li:last-child::after {
        display: none;
    }
}


.error404 main h2 {
    margin-top: 0;
}

.search label, .filters-module label {
    display: block;
    font-weight: bold;
}

.search input[type="search"] {
    width: 250px;
    max-width: calc(100% - 130px);
    height: initial;
    margin-right: 5px;
    line-height: 1.8;
    border-radius: 0;
    text-transform: lowercase;
}

.search input[type="search"]:focus {
    box-shadow: 0 0 0 .2rem rgba(0, 0, 0, .1) !important;
    background-color: #fff;
    border-color: #ccc;
    outline: 0;
}

.search button, .search input[type="search"] {
    display: inline-block;
    vertical-align: top;
}

.btn,
.search button,
.fl-builder-content a.fl-button,
.fl-builder-content a.fl-button:visited,
.fl-builder-content a.fl-button:hover,
form button[type=submit] {
    padding: 1.1rem 2.5rem;
    background-color: #000;
    color: #ffffff;
    border: none;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8rem;
    text-shadow: none;
    text-transform: uppercase;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    transition: all .5s;
}

form button[type=submit] {
    background-color: var(--cardinal);
}

button:hover, input[type="button"]:hover, input[type="submit"]:hover, button[type="submit"]:hover,
.fl-page a.fl-button:hover, .fl-page a.fl-button:visited:hover {
    background-color: var(--brightred);
    border: none;
    color: #ffffff;
}


/* -------------------------------
  Beaver Builder Modules
-------------------------------- */

article.fixed-section.container {
    max-width: 100%;
    margin: 0 0 40px;
    padding-left: 20px;
    padding-right: 20px;
}

.fixed-section {
    margin: 0 auto 25px;
}

.fixed-section.shaded {
    margin-bottom: 40px;
}

.fixed-section .fl-col-group {
    display: flex;
}

.fixed-section .photo {
    flex-basis: 250px;
    flex-shrink: 0;
    margin: 0 40px 0 0;
}

.fixed-section.pos-right .photo {
    margin: 0 0 0 30px;
}

.fixed-section .content {
    flex-grow: 2;
}

.fixed-section .content :is(h1, h2, h3) {
    margin: 0 0 1.5rem;
}

.fixed-section a {
    color: var(--cardinal);
}

.fixed-section a[target=_blank]:after {
    font-family: "Font Awesome 6 Pro", serif;
    content: "\f08e";
    padding-left: 10px;
    color: #bbb;
    font-size: .6em;
    line-height: 2;
    vertical-align: top;
}

.fixed-section section .btn {
    margin-top: 2.4rem;
}

.fixed-section.shaded {
    padding: 20px;
    background-color: var(--secondary);
}

.fixed-section.shaded .photo {
    margin: 0 0 0 40px;
}

.fixed-section.shaded.pos-left .photo {
    margin: 0 40px 0 0;
}

.fixed-section .content p:last-of-type {
    margin-bottom: 0;
}

.fixed-section ul {
    padding-left: 15px;
}

.fixed-section ul li {
    margin-bottom: 15px;
}

.fixed-section ul li:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .fixed-section .fl-col-group {
        flex-direction: column;
    }

    .fixed-section.pos-right .fl-col-group {
        flex-direction: column-reverse;
    }

    .fixed-section .photo {
        flex-basis: initial;
        width: clamp(250px, 100%, 500px);
        margin: 0 auto 2.4rem !important;
        text-align: center;
    }

    .fixed-section section .btn {
        margin-top: 1.5rem;
    }
}


/* -------------------------------
  News Articles
-------------------------------- */

.news * {
    font-size: 1.6rem;
    line-height: 1.4;
}

.news header h2 {
    margin-top: 0;
    font-size: 3.2rem;
}

.news .excerpt {
    font-size: 1.7rem;
    font-weight: bold;
}

.news .meta {
    margin: 2.5rem 0 1.5rem;
    padding: 0;
}

.news-feed .meta {
    margin-bottom: 10px;
}

.news .meta-author,
.news-feed .meta-author {
    display: inline-block;
    margin: 0 1.5rem 0 0;
    padding: 0;
    font-size: 1em;
}

.news .meta-author::after,
.news-feed .meta-author::after {
    padding-left: 1.5rem;
    content: "|";
    color: var(--lightgray);
}

article.news figure {
    margin-bottom: 3rem;
}

.news figcaption {
    margin: 0 0 1rem;
    padding: 1rem 1.5rem;
    background-color: var(--secondary);
    font-size: 1.3rem;
    text-align: center;
    text-transform: uppercase;
}

.pager .page-item.active .page-link {
    color: #fff;
    background-color: var(--cardinal);
    border-color: var(--cardinal);
}

.page-link, .page-link:hover {
    padding: .8rem 1.2rem;
    color: var(--cardinal);
}

/* -------------------------------
  Contact
-------------------------------- */

#contact-dreams .fl-content {
    margin-top: 0;
}

#contact-dreams .alert {
    margin-bottom: 3rem;
}

/* -------------------------------
  Logo Carousel
-------------------------------- */

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-200px * 16));
    }
}

#logo-carousel {
    height: 100px;
    margin: auto;
    overflow: hidden;
    position: relative;
    width: 100%;
}

#logo-carousel::before, #logo-carousel::after {
    content: "";
    height: 100px;
    width: 30px;
    background: linear-gradient(90deg, #fff, transparent);
    display: block;
    position: absolute;
    z-index: 10;
}

#logo-carousel::after {
    background: linear-gradient(90deg, transparent, #fff);
    top: 0;
    right: 0;
}

#logo-carousel .carousel-track {
    animation: scroll 35s linear infinite;
    display: flex;
    width: calc(200px * 32);
}

#logo-carousel .carousel-track div {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 100px;
}

#logo-carousel .carousel-track img {
    display: block;
    max-height: 100px;
    max-width: 160px;
}

/**************************************************************************************************************************
Updates by Marco
***************************************************************************************************************************/

/*****************************
TOC
0. General
1. News Widget
2. News
3. People Module - Leadership
4. People - Partners
 ****************************/

/*General*/
.proxy-dreamsmicrochips #site-masthead .logo {
    display: block;
    width: 224px;
    height: 74px;
    background-image: url(https://ca-dreams.org/wp-content/themes/isi-modern23/img/ca-dreams-logo.png);
    background-position: 0;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all 1s;
    filter: unset;
}

.proxy-dreamsmicrochips .border-title {
    display: inline-block;
    border-top: 3px solid #333;
    padding: 15px 100px 0 0;
}

.proxy-dreamsmicrochips #site-content .cta-all-news:hover a {
    background-color: var(--mediumgray);
}

.proxy-dreamsmicrochips #site-content .cta-all-news:active a {
    color: #fff;
    background-color: #0062cc;
    border-color: #005cbf;
}

#site-content .heading-margin {
    margin-top: 40px;
}

@media (min-width: 769px ) {
    .col-text-2 {
        -webkit-columns: 2;
        -moz-columns: 2;
        columns: 2;
        column-gap: 4.5rem;
    }
}

.proxy-dreamsmicrochips #site-content .cta {
    border-radius: 20px;
}

.proxy-dreamsmicrochips #site-content .cta-all-news a,
.proxy-dreamsmicrochips #site-content .cta a {
    padding-left: 40px;
    padding-right: 40px;
    background-color: #000;
    border-radius: 20px;
    text-transform: uppercase;
    font-weight: 700;
}

@media (max-width: 768px) {
    .proxy-dreamsmicrochips .border-title {
        padding-right: 30px;
    }
}


/*2. News feed/widget */

.news-feed article {
    margin-bottom: 3rem;
}

.news-item a, .news-item a:hover {
    text-transform: uppercase;
}

.news-item a:hover h3 {
    text-decoration: underline;
}

.news-item .read-more a i,
.news-item h3 i {
    margin-left: 10px;
}

.news-item h3 i {
    opacity: .5;
}

.news-item figure {
    overflow: hidden;
}

.news-item a:hover img {
    transform: scale(1.05);
}

.news-item img {
    transition: all .5s;
}

@media (min-width: 768px) {
    .news-feed .row,
    .news-widget.row {
        column-gap: 15px;
    }

    .news-feed .col-md-6 {
        flex-basis: calc(50% - 8px);
    }

    .news-widget .col-md-6 {
        flex-basis: calc(33.333333% - 10px);
    }
}

@media (max-width: 991px) {
    .news-widget .col-md-6 {
        flex-basis: calc(50% - 8px);
    }

    .news-widget article:last-of-type {
        display: none;
    }
}

@media (max-width: 767px) {
    .news-widget .col-md-6 {
        flex-basis: 100%;
    }
}

/*3. People Module - Leadership*/
/* GENERAL */
.proxy-dreamsmicrochips #site-content .people-cards {
    gap: 45px;
    /*justify-content: space-between;*/
    margin: 0;
}

/* VERTICAL CARDS */

.proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card {
    border-top: 4px solid black;
    padding: 0;
    padding-top: 15px;
    max-width: calc(33.33% - 30px);
}

.proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card figure {
    margin-bottom: 15px;
    overflow: hidden;
}

.proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card figure:hover img {
    transform: scale(1.05);
}

.proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card figure img {
    transition: all 1s;
}

.proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card h3 {
    border-top: none;
    padding: 0;
    margin-bottom: 15px;
}

.proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card h3:hover {
    text-decoration: underline rgba(0, 0, 0);
}

.proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card h4 {
    font-style: italic;
}

@media (max-width: 768px) {
    .proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card {
        max-width: calc(50% - 30px);
    }
}

@media (max-width: 576px) {
    .proxy-dreamsmicrochips #site-content .vertical-cards-container .people-cards {
        gap: 0;
        display: block;
        max-width: 100%;
        margin: 0 auto;
        margin-bottom: 45px;
    }

    .proxy-dreamsmicrochips #site-content .people-cards .person-vertical-card {
        max-width: 100%;
    }
}

/*  TILES   */
.proxy-dreamsmicrochips #site-content .people-cards .person-tile {
    max-width: calc(25% - 34px);
    padding: 0;
}

.proxy-dreamsmicrochips #site-content .people-cards .person-tile h3 {
    margin-bottom: 10px;
    font-size: 20px;
}

.proxy-dreamsmicrochips #site-content .people-cards .person-tile h4 {
    font-size: 16px;
}

.proxy-dreamsmicrochips #site-content .people-cards .person-tile:nth-child(1) .content-container,
.proxy-dreamsmicrochips #site-content .people-cards .person-tile:nth-child(2) .content-container,
.proxy-dreamsmicrochips #site-content .people-cards .person-tile:nth-child(3) .content-container,
.proxy-dreamsmicrochips #site-content .people-cards .person-tile:nth-child(4) .content-container {
    border-top: 4px solid black;
}

.proxy-dreamsmicrochips #site-content .people-cards .person-tile h3 {
    border: none;
    text-transform: none;
}

.proxy-dreamsmicrochips #site-content .people-cards .person-tile h4 {
    font-style: italic;
}

@media (max-width: 991px) {
    .proxy-dreamsmicrochips #site-content .people-cards .person-tile {
        max-width: calc(33% - 28px);
    }

    .proxy-dreamsmicrochips #site-content .people-cards .person-tile:nth-child(4) .content-container {
        border-top: none;
    }
}

@media (max-width: 767px) {
    .proxy-dreamsmicrochips #site-content .people-cards .person-tile {
        max-width: calc(50% - 23px);
    }

    .proxy-dreamsmicrochips #site-content .people-cards .person-tile:nth-child(4) .content-container,
    .proxy-dreamsmicrochips #site-content .people-cards .person-tile:nth-child(3) .content-container {
        border-top: none;
    }
}


/* 4. People - Partners */

.proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(odd) .nr-block,
.proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(even) .nr-block {
    display: block;
    max-width: 100%;
    padding-top: 0;
}

.proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(odd) .nr-block {
    margin: 0 22.5px 45px 0;
}

.proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(even) .nr-block {
    margin: 0 0 45px 22.5px;
}

.proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(odd) .nr-block figure,
.proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(even) .nr-block figure {
    padding: 30px 0 40px 0;
    text-align: center;
}

@media (max-width: 768px) {
    .proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(odd) .nr-block,
    .proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(even) .nr-block {
        max-width: unset;
        border-top: solid 3px #333;
    }

    .proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(odd) .nr-block figure img,
    .proxy-dreamsmicrochips #site-content .fl-col-group:nth-of-type(1) > .fl-col:nth-of-type(even) .nr-block figure img {
        display: block;
        max-width: 100%;
        margin: 0 auto;
    }
}
