/**
 * @file
 * Subtheme specific CSS.
 */

/* Please keep this as simple as possible. Less is more */


/* Universal */
* {
    font-family:Roboto;
}
#drupal-live-announce {
    display:none;
}
body {
    background-color:#fff !important;
}
img {
    max-width:100%;
    height:auto;
}

.responsive_embed {
    position:relative;
    padding-bottom:56.25%;
    padding-top:35px;
    height:0;
    overflow:hidden;
}
.responsive_embed iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.captioned_img .caption {
    padding:15px 0;
    background-color:rgba(0,0,0,.8);
    color:#FFF;
    font-weight:700;
    text-align:center;
}
.research-centers .captioned_img p.caption {
  height: 55px;
  top: inherit;
}
.research-centers a {
  color: #fff;
}
@font-face {
    font-family:'Teko';
    src:url('/sites/default/files/fonts/Teko-Light.ttf');
    font-weight:300;
}
@font-face {
    font-family:'Teko';
    src:url('/sites/default/files/fonts/Teko-Regular.ttf');
    font-weight:400;
}
@font-face {
    font-family:'Teko';
    src:url('/sites/default/files/fonts/Teko-Medium.ttf');
    font-weight:500;
}
@font-face {
    font-family:'Teko';
    src:url('/sites/default/files/fonts/Teko-SemiBold.ttf');
    font-weight:600;
}
@font-face {
    font-family:'Teko';
    src:url('/sites/default/files/fonts/Teko-Bold.ttf');
    font-weight:700;
}
h1,h2,h1 span {
    font-family:Teko !important;
    font-weight:700;
}

h1 {
    font-size:4rem;
    text-transform:uppercase;
    margin:0;
}
.content h1.title {
    color:#fff;
}
h1,h2 {
    text-transform:uppercase;
    font-weight:700;
}
h1 {
    font-size:4rem;
}
h2 {
    font-size:3rem;
    line-height:3rem;
}
h3 {
    font-size:2rem;
}
h4 {
    font-size:1.5rem;
}
.carousel-indicators {
    z-index:1;
}
.slice_container .btn {
    font-size:15px;
    text-transform:uppercase;
    padding:.8em 1.5em;
    min-width:200px;
    margin-bottom:1em;
    letter-spacing:.08em;
    font-weight:500;
    border-radius:0;
}
.blue_btn {
  background-color: #006a96;
  color: #fff;
  height: 75px;
  justify-content: center;
  align-items: center;
  padding: .5em;
  border-radius: 0;
  margin-bottom: 1em;
  text-align: center;
}
.blue_btn_lg {
  background-color: #006a96;
  color: #fff;
  display: flex;
  font-size: 1.25rem;
  width: 100%;
  height: 75px;
  justify-content: center;
  align-items: center;
  border-radius: 0;
  margin-bottom: 1em;
  text-align: center;
}
.blue_btn:hover,
.blue_btn_lg:hover {
  background-color: #004663;
  color: #fff;
  text-decoration: none;
}
a.blue_btn,
a.blue_btn_lg {
  text-decoration: none;
}
.btn_navy {
    background-color:#182b49;
    color:#484949 !important;
}
.btn_blue {
    background-color:#006a96;
    color:#484949 !important;
}
.btn_gold {
    border-radius:.5rem;
    background-color: #FFCD00;
    color:#484949 !important;
}
.btn_navy:hover {
    background-color:#00213e;
}
.btn_blue:hover {
    background-color:#102339;
}
.btn_gold:hover {
    background-color:#FFF;
}
div.block-page-title-block {
    margin-top:0;
    margin-bottom:0;
}
.block-page-title-block, .page-view-news-view h1.title {
    /* background-image:url('/sites/default/files/2021-06/JS-blugrad-med_trident-1200x150-A.svg'); */
    background-image:url(/sites/default/files/2023-08/20230-headr-blu_grit_blu_pink.png);
    background-size:cover;
    margin-bottom:0;
}

h1.title {
    max-width:1140px;
    display:block;
    margin:auto;
    font-size:3rem;
    padding:3.5rem 15px;
    color:#fff;
}


.page-view-news-view h1.title {
    max-width:none;
}
.page-view-news-view h1.title span {
    margin: 0 auto;
    max-width: 1140px;
    display: block;
    padding: 0 15px;
}


.float-left > p {
    margin-right: 1.5em;
    margin-top: 0.5em;
}




/* Header */
.region-top-header a {
    text-decoration:underline;
}
header#header {
    z-index:2;
}
#navbar-main img {
    max-width:200px;
}
.img-responsive img {
    width:100%;
    height:auto;
}
.row > div[class^="col-sm-"] img {
    max-width:100%;
    height:auto;
}
.main-nav > ul {
    width:100%;
}
.nav-group > a {
    font-size:.875rem;
}
.region-top-header {
    width:100%;
}




/* Search */
.path-search .block-page-title-block {
    background:none;
}
.path-search h1.title {
    margin:2rem 0;
    font-size:2.5rem;
    color:#3b3b3b;
}
.search-button.fas.fa-search{
    line-height:inherit;
}
.search-form .form-type-search {

}
.search-form .form-actions {
    background-color:#d3d3d3;
}
button.search-button {
    background-color:#d3d3d3;
    border-color:#d3d3d3;
    height:100%;
    border:none;
    border-radius:0;
}
button.search-button:hover {
    background-color:#ffcd00;
    border-color:#ffcd00;
}
.search-form .form-item-search-type {
    margin-right:5px;
}
.form-row>fieldset, .form-row>div {
    padding:0;
}
header #search-block-form {
    padding:0;
}


/* Overwriting styles in all.css */



/* Publications Stylesheet Overwrites */
html {font-size:16px !important;}
body {font-size:1rem !important;}
.navbar-brand {
    margin-left:0 !important;
    margin-top:2rem;
    margin-bottom:2rem;
}
.main-nav .nav .nav-group > a {
    color:#484949;
    font-weight:700;
}
button.search-button {
    padding:.8rem 1rem;
    min-width:0;
}



@media (min-width:992px) {
    #navbar-main {
        padding-top:30px;
    }
    #navbar-main .container {
        flex-wrap:wrap;
    }
    #navbar-main img {
        max-width:250px;
    }
    #navbar-main .navbar-collapse {
        width:100%;
        margin-top:30px;
    }
    #navbar-main .nav-item {
        flex-grow:1;
        flex-basis:0;
        text-align:center;
    }

    #navbar-main nav {
        width:100%;
    }



    /* For new UCSD design */
    #navbar-main {
        box-shadow:0 2px 5px 0 rgba(0,0,0,.25);
        padding-bottom:80px;
    }
    .navbar-collapse {
        height:50px;
        overflow:hidden;
        transition:.3s all ease-in-out;
    }
    .navbar .navbar-collapse {
        /* Crazy bouncy behavior without this, because of display:flex. The menu (ul) becomes aligned to the middle of this element. */
        display:block !important;
        position:absolute;
    }
    #navbar-main .nav-item {
        height:50px; /* To limit the size of the menu item when the entire navbar height will be set to something much higher. */
    }
    #navbar-main .nav-item .nav-link {
        height:50px;
        padding:10px 15px;
        z-index:3; /* To have the go over the submenu. */
        position:relative; /* For z-index */
    }
    #navbar-main .nav-item:hover .nav-link {
        background-color:rgba(0,106,153,1);
        color:#fff;
    }
    #navbar-main .nav-item.dropdown .custom_dropdown {
        width:100%;
        background-color:transparent;
        border-radius:0;
        border:none;
        z-index:2; /* This has to do with the z-index:3 for the .nav-link. We don't want it to hide the nav-link. */
    }
    #navbar-main .nav-item.dropdown:hover .custom_dropdown {
        background-color:rgba(0,52,89,.75);
    }
    .custom_dropdown {
        top:100% !important; /* Overwriting the master CSS file. */
        margin-top:0;
        display:block;
    }
    .custom_dropdown .dropdown-item a {
        white-space:normal;
        padding:.5em 1em !important;
        text-align:left;
        display:block; /* inline display makes it look funky obviously */
    }
    .custom_dropdown .dropdown-item a:hover {
        background-color:#fff;
        color:#484949;
        text-decoration:none;
    }
    .dropdown-toggle::after {
        display:none;
    }
    .navbar_bg {
        position:absolute;
        top:50px;
        left:0;
        background-color:rgba(0,108,146,.95);
        width:100%;
        z-index:1;
    }
    #navbar-main {
        display:block;
        padding-left:0;
        padding-right:0;
    }
    #navbar-main .nav-item .nav-link {
        line-height: 1;
    }
    .custom_dropdown {
        position: absolute;
        position: static;
        float: none;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1000;
        float: left;
        min-width: 10rem;
        padding: .5rem 0;
        margin: .125rem 0 0;
        font-size: 1rem;
        color: #212529;
        text-align: left;
        list-style: none;
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid rgba(0,0,0,.15);
        border-radius: .25rem;

        margin-bottom: 0;

        margin-top: 0;
        margin-bottom: 1rem;

        /* Overwritten rules */
        padding-top:0;
        padding-bottom:0;
    }
    .custom_dropdown .dropdown-item {
        display: block;
        width: 100%;
        padding: .25rem 1.5rem;
        clear: both;
        font-weight: 400;
        color: #212529;
        text-align: inherit;
        white-space: nowrap;
        background-color: transparent;
        border: 0;
    }
}
@media only screen
and (min-device-width: 1024px)
and (max-device-width: 1366px)
and (-webkit-min-device-pixel-ratio: 2) {

    /* On iPad Pro, the menu becomes two lines. Prevent this by removing arrows. */
    .dropdown-toggle::after {
        display:none;
    }
    /* Just for the 3 columns on the homepage. */
    h4 {
        font-size:1.25rem;
    }
}
@media (max-width:991px) {
    header #search-block-form {
        margin-top:1rem;
        padding:0;
    }
    .NewsBox[align="left"], #block-newsitemblock table[align="left"] {
        max-width:100% !important;
    }
    .NewsBox[align="left"] tr, #block-newsitemblock table[align="left"] tr, .NewsBox[align="left"] td, #block-newsitemblock table[align="left"] td {
        padding-left:0;
        padding-right:0;
    }


    /* For new UCSD Design */
    .custom_dropdown {
        display:none;
        background-color:rgba(0,52,89,.75);
    }
    #navbar-main {
        padding:0;
    }
    #navbar-main > .container {
        padding:1.5rem 1rem;
    }
    .navbar-collapse > .container {
        padding:0;
    }
    .navbar-collapse {
        background-color:rgba(0,108,146,.95);
    }
    .navbar-collapse .nav-item {
        border-bottom:1px solid rgba(255,255,255,.25);
    }
    #navbar-main .nav-item .nav-link {
        color:#fff !important;
        padding:1rem;
        display:flex;
        align-items:center;
        justify-content:space-between;
    }
    #navbar-main .nav-item .nav-link i {
        font-size:1.5rem;
    }
    #navbar-main .nav-item .nav-link::after {
        display:none;
    }
    .custom_dropdown .dropdown-item a {
        padding:1rem;
        display:block;
    }
    div.search-block-form {
        width:100%;
        margin-top:15px;
        display:none;
        /* box-shadow:0 2px 5px 0 rgba(0,0,0,.25); If we want to add a border between logo and search like on UCSD website */
    }
    .search-block-form .container-inline {
        width:100%;
    }
    .search-form {
        /* Not sure what this was for */
        /* display:flex; */
        margin:0;
    }
    .search-form fieldset {
        flex-grow:1;
    }
    .search_toggle {
        border:none;
        background-color:#d3d3d3;
        margin-right: .875rem;
        /* width:36px;
        height:36px; */
        padding:0 .75rem;
        text-align:left;
    }
    .search_toggle i {
        color:#333;
    }
    #block-navbartoggler .field {
        display:flex;
    }
    .search_toggle:focus,.navbar-toggler:focus {
        outline:none;
    }
}




/* For new UCSD Design */
#navbar-main .nav-item .nav-link {
    color:#484949;
    text-transform: uppercase;
    font-size: .875em;
    color: #484949;
    text-decoration: none;
    text-align: left;
    font-weight:700;
}
.custom_dropdown {
    padding-left:0;
}
.custom_dropdown .dropdown-item a {
    color:#fff;
}
.custom_dropdown .dropdown-item {
    padding:0;
}
.form-search.form-control {
    display: block;
    width: 100%;
    height: 49px;
    padding: 6px 12px;
    font-size: 16px;
    line-height: 1.44;
    color: #6d6d6d;
    background-color: #fff;
    background-image: none;
    border: 1px solid #8c8c8c;
    border-radius: 0px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.navbar-toggler {
    padding:0;
}
.navbar-toggler i {
    color:#888;
    font-size:2rem;
}





/* Homepage */
.path-frontpage h2 {
    font-size:3rem;
}
.path-frontpage #main-wrapper {
    padding-top:0;
}
#jsoeNewsCarousel img {
    width:100%;
}
.path-frontpage .featured-bottom .row > section[class^="col"] {
    margin-bottom:15px;
    margin-top:15px;
}
#jsoeNewsCarousel h2 {
    font-size:3rem;
}
.youtube_flickr_slice img {
    width:100%;
}
.youtube_flickr_slice .row > div:nth-child(3) img {
    max-width:150px;
}




/* Sidebar */
.sidebar_first .content ul {
    list-style:none;
    padding-left:0;
}
.sidebar_first .content ul li a {
    display:block;
    font-size:1.2rem;
    padding:.5rem 0;
}





/* Rankings Page */
.page-node-11 table {
    border-collapse:collapse;
    border:1px solid #182b49;
}
.page-node-11 tr {
    border:none;
}
.page-node-11 th, .page-node-11 td {
    padding:.75rem;
    border:none;
}
.page-node-11 th {
    background-color:#182b49;
}
.page-node-11 td {
    background-color:#FFF;
}
.page-node-11 th:first-child, .page-node-11 td:first-child {
    text-align:right;
    width:150px;
}



/* Publications */
.page-node-2377 .equal-row:not(.different) img {
    max-width:150px;
    height:auto;
}
.page-node-2377 #main-wrapper {
    background-color:#fafafa;
}




/* News Release Item Styles */
.NewsBox, #block-newsitemblock table {
    max-width:100%;
    color:#000000;
    font-size:.875rem;
    margin-bottom:10px;
}
.NewsBox tr:first-child td, #block-newsitemblock table tr:first-child td {
    text-align:center;
}
.NewsBox[align="center"], #block-newsitemblock table[align="center"] {
    max-width:100% !important;
}
.NewsBox[align="left"], #block-newsitemblock table[align="left"] {
    max-width:300px;
    margin-right:10px;
}
.NewsBox[align="right"], #block-newsitemblock table[align="right"] {
    max-width:300px;
    margin-left:10px;
}
.NewsBox .NewsBox {
    margin:0 !important;
}
.NewsBox .NewsBox td {
    border:none;
}
.NewsBox td {
    background-color:#FFF;
    padding:0;
    border:1px solid #0D80AF;
    text-align:center;
}
#block-newsitemblock p img:last-child {
    float:right;
    max-width:300px;
}
#block-newsitemblock td {
    background-color:#fff;
}
.drupal_news_block select, .drupal_news_block optgroup {
    font-size:1.4rem;
}
.block-news-item-block h1 {
    font-size:3rem;
    line-height:3rem;
}

/* Undergrad News Feed */
#block-bootstrap-dev2-undergraduate-news-block .archive-link {
  visibility: hidden;
  position: relative;
}
#block-bootstrap-dev2-undergraduate-news-block .archive-link:after {
  visibility: visible;
 position: absolute;
 top: 0;
 left: 0;
 content: "Undergraduate News Archive";
 width: 225px;
}

/* 6-2-20 Page */
.page-node-326 img.float-left {
    max-width:300px;
}





/* Monthly Newsletter */
.page-node-209 #sidebar_first {
    display:none;
}
.page-node-209 iframe {
    border:none;
}





/* Footer */
footer {
    margin-top:0 !important;
}
footer .nav-item {
    display:block;
    width:100%;
}
.site-footer {
    padding-top:35px;
    padding-bottom:0;
}
footer.site-footer section nav h2 {
    border-bottom:none; /* Overwriting default */
    color:#4E98C7;
    letter-spacing:2px;
    font-weight:700;
    margin-bottom:20px;
}
footer .nav-link {
    color:#FFF;
    padding:.3125rem 1rem;
    padding-left:0;
}
footer p, footer li, footer .content a {
    color:#FFF !important;
}
footer.site-footer .content ul {
    list-style:none;
    padding-left:0 !important;
}
footer .content ul li {
    float:left;
}
footer.site-footer .content ul li a {
    border:none;
    padding:0;
    margin-right:15px;
    text-indent:0;
}
footer img {
    max-width:250px !important;
}
.site-footer__top, .site-footer__top .region-footer-first, #block-jacobsschoolfooter-2 {
    width:100%;
}
#block-jacobsschoolfooter-2 {
    border:none;
}
.footer_end {
    background-color:#182b49;
    padding:1em;
}
.site-footer .block {
    border:none;
    margin:0;
    padding:0;
}
.footer_end p {
    text-align:center;
    margin:0;
    padding:0;
    font-size:1rem;
}
.footer_end a {
    text-decoration:underline;
}





/* Elements */
.view-frontpage {
    display:none;
}







#jsoeNewsCarousel {
    max-width:1170px;
    margin-top:100px;
    margin-bottom:100px;
    margin-left:auto;
    margin-right:auto;
}
.card {
    border:none;
    border-radius:.75rem;
}
.card-title {
    color:#006a96;
}
.page-node-2258 .card-body {
    background-color:#fff;
    height:180px;
}
.carousel img {
    border-radius:0;
}
a.view_all_news {
    letter-spacing:1px;
    font-size:1.1rem;
    font-weight:700;
}
.carousel-caption {
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.carousel-caption h1 {
    font-size:4rem;
    text-align:left;
    font-weight:700;
}

/* YouTube Video */
.jsoe_video_container {
    overflow:hidden;
    width:100%;
    height:0;
    padding-bottom:22.5%;
    position:relative;
}
#jsoe_video {
    position:absolute;
    width:100%;
    height:100%;
}
.jsoe_video_text {
    position:absolute;
    width:100%;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:1;
}
.jsoe_video_text h2 {
    color:#fff;
    font-size:4rem;
    font-weight:700;
    line-height:.9;
    text-shadow: 0 6px 12px rgb(0 0 0 / 50%);
    white-space:normal;
}
.jsoe_video_text h2:not(::first-line) {
    text-indent:0;
}
.jsoe_video_text p {
    color:#fff;
    max-width:600px;
}
.jsoe_video_text h1 {
    text-shadow:0 6px 12px rgba(0,0,0,.5);
}
.jsoe_video_text p {
    text-shadow:0 3px 6px rgba(0,0,0,.5);
}
.jsoe_video_container .btn_yellow {
    background-color:#ffcd00;
    color:#484949;
    padding:.8em 1.5em;
    border-radius:0;
    letter-spacing:1px;
    text-transform:uppercase;
    font-weight:700;
}
.jsoe_video_container .btn_yellow:hover {
    background-color:#fff;
    color:#484949;
}


@keyframes fadeInUp {
    from {
        transform: translate3d(0,40px,0)
    }

    to {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

@-webkit-keyframes fadeInUp {
    from {
        transform: translate3d(0,40px,0)
    }

    to {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

.slice_content_container h1, .slice_content_container h2, .slice_content_container h1 + p, .slice_content_container h2 + p, .slice_content_container h1 + p + p, .slice_content_container h2 + p + p, .block-page-title-block h1 {
    animation-duration: 1s;
    animation-fill-mode: both;
    -webkit-animation-duration: 1s;
    -webkit-animation-fill-mode: both
}

.slice_content_container h1, .slice_content_container h2, .slice_content_container h1 + p, .slice_content_container h2 + p, .slice_content_container h1 + p + p, .slice_content_container h2 + p + p, .block-page-title-block h1 {
    opacity: 0
}

.slice_content_container h1, .slice_content_container h2, .slice_content_container h1 + p, .slice_content_container h2 + p, .slice_content_container h1 + p + p, .slice_content_container h2 + p + p, .block-page-title-block h1 {
    opacity: 0;
    animation-name: fadeInUp;
    -webkit-animation-name: fadeInUp;
}
.slice_content_container h1 + p, .slice_content_container h2 + p {
    animation-delay:.5s;
}
.slice_content_container h1 + p + p, .slice_content_container h2 + p + p {
    animation-delay:1s;
}

.slice_header {

    color:#484949;

}
.slice_body {
    color:#484962;
    margin-bottom:15px;

}
.slice_body h2 {
    text-transform:uppercase;
    font-weight:700;
    font-size:2.5rem;
    margin-bottom:15px;
    padding-top:3em;
}
.slice_body p {
    font-size:1rem;
    font-weight:400;
}
.slice_link a {
    background-color:#ffcd00;
    color:#484949;
    padding:.8em 1.5em;
    border-radius:0;
    letter-spacing:1px;
    text-transform:uppercase;
    font-weight:700;
    display:inline-block;
    font-size:.875rem;
}

.slice-block .view-content > div {
    min-height:435px;
    position:relative;
}
.slice_container {
    /* min-height:435px; */
    /* height:435px; */
    /* Too thin. Let's go higher */
    height:500px;
    position:relative;
}
.slice_container.slice_tall {
    height:800px;
}
.slice_container.slice_fill_content {
    height:auto;
}
.slice_background_image_container {
    position:absolute;
    width:100%;
    height:100%;

}
.slice_background_image_container .row {
    height:100%;
}
.slice_background_image, .slice_background_image_container .views_img {
    height:100%;
    background-repeat:no-repeat;
}
.slice_background_image_container .bg_cover .slice_background_image {
    background-size:cover;
}
.slice_content_container {
    height:100%;
}
.slice_content_container .container {
    height:100%;
}
.slice_content_container > .container > .row {
    height:100%;
    align-items:center;
}
.slice_full_text {
    position:relative;
}
.slice_bg_darken {
    background-color:rgba(0,0,0,.3);
}
.slice_bg_darken h1, .slice_bg_darken h2, .slice_bg_darken .slice_content > p {
    text-shadow:0 6px 12px rgba(0,0,0,.5);
}
.slice_bg_darken .slice_content > p .btn {
    text-shadow:none;
}
.slice_content h1 {
    line-height:3.75rem;
}
.slice_bg_gray {background-color:#F5F0E6;}
.slice_bg_navy {background-color:#182b49;}
.slice_bg_blue {background-color:#006a96;}
.slice_bg_brown {background-color:#C69214;}
.slice_bg_gold {background-color:#FFCD00;}
.slice_bg_yellow {background-color:#F3E500;}
.slice_background_image_container.bg_navy {background-color:#182b49}
.slice_background_image_container.bg_gold {background-color:#FFCD00}
.slice_content_container.bg_navy .slice_header {color:#fff}
.slice_content_container.bg_navy .slice_body {color:#fff}
.slice_content_container.bg_blue .slice_header {color:#fff}
.slice_content_container.bg_blue .slice_body {color:#fff}
.slice_content_container.bg_gold .slice_header {color:#484849}
.slice_content_container.bg_gold .slice_body {color:#484849}
.slice_content_container.bg_gold .slice_link a {background-color:#006A96;color:#fff;}
.bg_position_center > div {background-position:center;background-size:auto 100% !important;background-repeat:no-repeat;}
.bg_position_center {text-align:center;}

.bg_y_position_top > div {background-position:top;}
.bg_y_position_bottom > div {background-position:bottom;}
.bg_y_position_center > div {background-position:center;}






.block-jsoe-news-card {
    background-color:#f5f5f5;
}
/*
.carousel-control-prev {
    left:-125px;
}
.carousel-control-next {
    right:-125px;
}
*/
.carousel-control-prev-icon {
    background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}
.carousel-control-next-icon {
    background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}
main.col {
    padding:0;
}

.carousel-indicators {
    bottom:-2.5rem;
}

.carousel-indicators li {
    background-color:rgba(0,0,0,.50);
}
.carousel-indicators li.active {
    background-color:rgba(0,0,0,.75);
}
.menu--menu-jsoe.contextual-region .contextual .contextual-links {
    top:-40px !important;
    right:40px !important;
}
nav .contextual-links {
    top:-40px !important;
    right:40px !important;
}
.jsoe_video_container {
    background-image: url(/sites/default/files/2021-04/ebu1_aerial_wide.jpg);
    background-size: cover;
    background-position: center;
}


.jsoe_main_banner_mobile .container {
    background-color:rgba(0,0,0,.25);
}
.jsoe_main_banner_mobile * {
    color:#fff;
}
.jsoe_main_banner_mobile h1, .jsoe_main_banner_mobile button {
    text-transform:uppercase;
}
.jsoe_main_banner_mobile button {
    background-color:#ffcd00;
    color:#484949;
    font-weight:700;
    border-radius:0;
}
.jsoe_main_banner_mobile p:last-child {
    margin-bottom:0;

}

@media (min-width:1400px) {
    #jsoe_news_cards .carousel-indicators {
        display:none;
    }
    .jsoe_video_text h1 {
        line-height:3.75rem;
    }
}
@media (max-width:1399px) {
    #jsoe_news_cards .carousel-control-prev, #jsoe_news_cards .carousel-control-next {
        display:none;
    }
}
@media (max-width:1199px) {
    h1 {
        font-size:2.5rem;
    }
}
@media (min-width:992px) {
    .menu--menu-jsoe .nav-link span {
        max-width:125px;
        display:block;
    }
    .block-field-blocknodepage-jacobs-schoolbody #jacobsschool-logo{scroll-margin-top: 12.25em;}

}
@media (max-width:991px) {
    .jsoe_video_container {
        padding-bottom:75%;
    }
    #jsoe_video {
        display:none; /* Display background image instead of video on devices with smaller width */
    }
    header {
        position:relative !important;
    }
    header .container, .region-top-header .container {
        margin:0; /* Mostly so that the navbar will not look so funny, but also the logo and the navbar-toggler should be near the edge of the window. */
        max-width:100%; /* There's a max-width set containers, so after margins are removed, we must stretch them out. */
    }
    .navbar-brand {
        margin:0;
    }
    .navbar-collapse {
        /* Funky behavior with absolutely positioned menu. */
        /*
        position:absolute;
        top:105px;
        width:100%;
        */
    }
}
@media (max-width:767px) {
    h1 {
        font-size:2rem;
    }
    h2 {
        font-size:1.5rem;
    }
    h3 {
        font-size:1.25rem;
    }
    p, li {
        font-size:.875rem;
    }
}
@media (min-width:767px) and (max-width:991px) {
    #jsoe_news_cards .card-body {
        height:250px;
    }
}
@media (max-width:575px) {
    .slice_container {
        border-top:1px solid #e5e5e5;
        border-bottom:1px solid #e5e5e5;
    }
    .slice_content_container {
        position:relative;
        background-color:rgba(0,0,0,.3);
    }
    .slice_content h2, .slice_content p, .slice_content li {
        color:#fff !important;
    }
    .slice_content .text-dark h2, .slice_content .text-dark p, .slice_content .text-dark li {
        color:#343a40!important
    }
    .slice_content {
    }
    .deans_message_photo_table{
        max-width: 100% !important;
    }
    .content .col-sm-4 h4.text-align-right, .content .col-sm-4 h3.text-align-right {
        text-align:left !important;
        margin-bottom:15px;
    }
    .page-node-2363 .slice_content_container {
        background-color:#f4f4f4;
    }
    .jsoe_video_text h2 {
        font-size:2rem;
    }
}



/* Leadership Page */
.page-node-2295 .slice_container .custom-row .col-sm-4 p {
    margin:0;
}
.page-node-2295 .slice_container .custom-row .col-sm-8 {
    padding:1rem;
}
.page-node-2295 .slice_container {
    font-size:.875rem;
}



/* Rankings */
.page-node-2296 .carousel p {
    margin-bottom:0;
}
.page-node-2296 .carousel hr {
    max-width:50px;
}
.page-node-2296 .carousel-item .row > div:last-child {
    padding:1rem;
    display:flex;
    align-items:center;
    justify-content:center;
}
.page-node-2296 .carousel-control-prev {
    left: -65px !important;
}
.page-node-2296 .carousel-control-next {
    right: -65px !important;
}
.page-node-2296 .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E") !important;
}
.page-node-2296 .carousel-control-next-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E") !important;
}




/* Careers */
.page-node-2297 .card {
    background-color:#00629B;
}
.page-node-2297 .card a {
    color:#FFF;
    letter-spacing:1px;
    font-weight:700;
    text-decoration:underline;
}






/* Departments */
.page-node-2287 .slice_body .image_text_container {
    background-color:rgba(0,0,0,.4)
}

/* We want this right up against the menu. */
.node__content {
    margin-top:0;
}

/* Containerizing the content body. */
.block-field-blocknodepage-jacobs-schoolbody,
.block-field-blocknodepage-research-ethicsbody {
    max-width:1140px;
    margin:0 auto;
    padding:0 15px;
}

/* For some reason, unpublished pages have padding. This makes it bad to show unpublished pages to clients. */
.node--unpublished {
    padding:0;
}







#jsoe_video {
    position:absolute;
    padding-bottom: 22.5%;
    height: 0; overflow: hidden;
    max-width: 100%; height: auto;
}
#jsoe_video iframe, #jsoe_video object, #jsoe_video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}





.page-node-2287 .displayed_text,
.page-node-2338 .displayed_text,
.page-node-2348 .displayed_text {
    padding:0 !important;
}
.page-node-2287 .displayed_text, .page-node-2287 .displayed_text h4, .page-node-2287 .displayed_text h4 a,
.page-node-2338 .displayed_text, .page-node-2338 .displayed_text h4, .page-node-2338 .displayed_text h4 a,
.page-node-2348 .displayed_text, .page-node-2348 .displayed_text h4, .page-node-2348 .displayed_text h4 a {
    height:100%;
    width:100%;
}
.page-node-2287 .displayed_text h4 a,
.page-node-2338 .displayed_text h4 a,
.page-node-2348 .displayed_text h4 a {
    display:flex;
    align-items:center;
    justify-content:center;
    background-color:rgba(0,0,0,.4);
    transition:background-color .3s ease-in-out;
    padding:10px;
}
.page-node-2287 .displayed_text h4 a:hover,
.page-node-2338 .displayed_text h4 a:hover,
.page-node-2348 .displayed_text h4 a:hover {
    background-color:rgba(0,0,0,.2);
    text-decoration:none;
}
.page-node-2338 .displayed_text h4 a,
.page-node-2348 .displayed_text h4 a {
    justify-content:center;
    background-color:rgba(0,0,0,.2);
}
.page-node-2338 .displayed_text h4 a:hover,
.page-node-2348 .displayed_text h4 a:hover {
    background-color:rgba(0,0,0,.1);
}






/* Rankings Page */
.page-node-2296 table {
    border-collapse:collapse;
    border:1px solid #182b49;
}
.page-node-2296 tr {
    border:none;
}
.page-node-2296 th, .page-node-2296 td {
    padding:.75rem;
    border:none;
}
.page-node-2296 th {
    background-color:#182b49;
}
.page-node-2296 td {
    background-color:#FFF;
}
.page-node-2296 th:first-child, .page-node-2296 td:first-child {
    text-align:right;
    width:150px;
}





/* COA Meetings Page, Faculty Page */
.coa-page img {
  width: 100%;
}
.page-view-private-content-view .block-page-title-block, .page-view-directory .block-page-title-block {
    /* background-image: url(/sites/default/files/2021-06/JS-blugrad-med_trident-1200x150-A.svg); */
    background-image: url(/sites/default/files/2023-08/20230-headr-blu_grit_blu_pink.png);
    background-size: cover;
    margin-bottom: 0;
}
.page-view-private-content-view .block-page-title-block .title {
    max-width: 1140px;
    display: block;
    margin: auto;
    font-size: 3rem;
    padding: 3.5rem 15px;
    color: #fff;
    background:none;
}






/* Faculty and Research Page */
.page-node-2348 .slice_content .image_text_container {
    background-color:rgba(0,0,0,.25)
}





.block-news-card .container {
    overflow:hidden;
}
#jsoe_news_cards .carousel-inner {
    overflow:visible !important;
}
#jsoe_news_cards .col .card {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    font-family: "Open Sans",sans-serif;
    font-size: 14px;
    line-height: 1.8;
    color: #636363;
    font-weight: 400;
    box-sizing: border-box;
    display: inline-block;
    margin: 0 0 40px 40px;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 6px;
    box-shadow: 5px 5px 18px 0 rgba(0,0,0,0.09);
    margin-left:10px;
    margin-right:10px;
}








.offset-1.col-10 > .row > .col-12 {
    margin-bottom:30px;
}
a[name] {
    padding-top:100px;
    margin-top:-100px;
}

.news_bg_container {
    width:100%;
    padding-bottom:52.33%;
    background-size:cover;
    background-position:top;
}

.news_page_card {
    box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.news_page_card h5 {
    font-size:1rem;
    font-weight:700;
}
.news_page_card a {
    color:#09A4F6;
}
.news_page_card .publish_date {
    color:#ccc;
}
.news_page_card p a {
    font-size:.875rem;
}
.block-jsoe-news-slice {
    background-color:#FAFAFA;
    padding-top:30px;
    padding-bottom:30px;
}


.phone_news_block .slice_container {
    height:auto;
}
.phone_news_block {
    background-size:cover;
    max-height:600px;
    background-image:url(/sites/default/files/groups/jsoe/img/homepage/Asset_1.svg);
    overflow:hidden;
    position:relative;
}
.phone_news_block .row > div:first-child {
    z-index:1;
}
.phone_area {
    /* margin-top:100px; */
    /* margin-left:auto; */
    position:absolute;
    top:-150px;
    right:0;
    overflow:hidden;
    max-width:316px;
    height:650px;
    transform:rotate(45deg);
    background-image:url(/sites/default/files/groups/jsoe/img/homepage/phone.png);
    background-size:cover;
    padding:40px 25px;
    background-color:#e5e5e5;
    border-radius:40px;
}
.phone_container {
    overflow:hidden;
    height:592px;
    border-radius:12px;
}
.phone_screen_container {
    overflow:hidden;
}
.phone_screen {
    /* overflow:scroll; */
}
.phone_screen h5 {
    font-size:1rem;
}
.phone_screen h6, .phone_screen p {
    font-size:.875rem;
}
.phone_news_block > .row {
    position:absolute;
    width:100%;
    top:0;
}
.phone_news_block > .container {
    padding-top:65px;
    padding-bottom:50px;
}
@keyframes scrollUp {
    from {
        transform: translate(0,500px)
    }

    to {
        transform: translate(0,-100%);
    }
}
@-webkit-keyframes scrollUp {
    from {
        transform: translate(0,500px)
    }

    to {
        transform: translate(0,-100%);
    }
}
.phone_screen {
    animation-duration:50s;
    animation-fill-mode:both;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    -webkit-animation-duration:50s;
    -webkit-animation-fill-mode:both;
    -webkit-animation-timing-function: linear;
}

.phone_screen {
    animation-name: scrollUp;
    -webkit-animation-name: scrollUp;
}





/* News */
#block-bootstrap-dev2-newsitemblock td {
    background-color:#fff;
}
.NewsBox[align="left"], #block-bootstrap-dev2-newsitemblock table[align="left"] {
    margin-right: 10px;
}
.NewsBox, #block-bootstrap-dev2-newsitemblock table {
    max-width: 100%;
    color: #000000;
    font-size: .875rem;
    margin-bottom: 10px;
}
.NewsBox[align="right"], #block-bootstrap-dev2-newsitemblock table[align="right"] {
    margin-left: 10px;
}

.subhead {
    color:#747678;
    font-size:1.25rem;
}
.NewsBox, #block-bootstrap-dev2-newsitemblock table {
    max-width:100%;
    color:#000000;
    font-size:.875rem;
    margin-bottom:10px;
}
.NewsBox tr:first-child td, #block-bootstrap-dev2-newsitemblock table tr:first-child td {
    text-align:center;
}
.NewsBox tr:first-child td, #block-bootstrap-dev2-newsitemblock table img {
    max-width:600px;
}
.NewsBox[align="center"], #block-bootstrap-dev2-newsitemblock table[align="center"] {
    max-width:100% !important;
    margin:auto;
}
.NewsBox[align="left"], #block-bootstrap-dev2-newsitemblock table[align="left"] {
    margin-right:10px;
}
.NewsBox[align="right"], #block-bootstrap-dev2-newsitemblock table[align="right"] {
    margin-left:10px;
}
.NewsBox .NewsBox {
    margin:0 !important;
}
.NewsBox .NewsBox td {
    border:none;
}
.NewsBox td {
    background-color:#FFF;
    padding:0;
    border:1px solid #0D80AF;
    text-align:center;
}
.NewsBox img {
    /* There are so many tables that are set to 1px */
    max-width:none;
}
#block-newsitemblock p img:last-child {
    float:right;
    max-width:300px;
}
#block-newsitemblock td {
    background-color:#fff;
}
.alert-embargo {
    color:#fff;
    background-color:#DB523C;
}
@media (max-width:768px) {
    header #search-block-form {
        margin-top:1rem;
        padding:0;
    }
    .NewsBox[align="left"], #block-newsitemblock table[align="left"] {
        max-width:100% !important;
    }
    .NewsBox[align="left"] tr, #block-newsitemblock table[align="left"] tr, .NewsBox[align="left"] td, #block-newsitemblock table[align="left"] td {
        padding-left:0;
        padding-right:0;
    }
    .page-node-204 .main-content .custom-row img {
        max-width:150px;
    }
    /* Request from Katherine. Too much scrolling when there are 6 news cards. */
    .page-node-2363 .drupal_news_block .row > div:nth-child(n+4) {
        display:none;
    }
}
.block-news-ucsd-carousel h2 {
    font-size:1.75rem;
}
.block-news-ucsd-carousel .btn {
    font-size: 15px;
    text-transform: uppercase;
    padding: .8em 1.5em;
    min-width: 200px;
    margin-bottom: 1em;
    letter-spacing: .08em;
    font-weight: 500;
    border-radius: 0;
}
.block-news-ucsd-carousel .carousel-indicators li {
    width:25px;
    height:5px;
}
.drupal_news_block, .anchor_container {
    position:relative;
}
.page_anchor {
    position:absolute;
    top:-250px;
}
.anchor {
    display: block;
    position: relative;
    top: -250px;
    visibility: hidden;
}




/* New CAP Design */
#block-captemporarylogo p {
    margin:0;
}
#block-captemporarylogo a {
    text-decoration:none;
    font-weight:300;
    color:#182b49;
}
#block-bootstrap-dev2-jacobsschoollogobluegold-4 p {
    margin:0;
}
#block-bootstrap-dev2-jacobsschoollogobluegold-4 p a {
    display:block;
    margin:2rem 0;
    padding:.3215rem 0;
}


/* Dean's Message */
.deans_message_photo_table {
    max-width:300px;
    margin:0;
    margin-right:1rem;
}
.deans_message_subheading {
    font-size:1.5rem;
}
.deans_message_subheading p {
    margin-bottom:0;
}
.deans_message_date {
    font-size:1.2rem;
    color:#999;
}
.deans_message_photo_table tr {
    background-color:transparent;
}
.deans_message_photo_table td {
    background-color:transparent;
    padding:0;
}




/* Not sure what this is for */
/* .js-pager__items {
    list-style:none;
    padding:0;
    margin:3rem 0;
    text-align:center;
}
.js-pager__items a {
    background-color:#00629b;
    color:#fff;
    padding:.8rem 1.5rem;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
} */






/* Qualcomm FMA */
.page-node-5100 main.main-content .card {
    border:1px solid #ccc;
}
.page-node-5101 main.main-content .card {
    background-color:#E4EBF2;
}
.page-node-5101 main.main-content .card table {
    border-bottom:1px solid #ccc;
}
.page-node-5101 main.main-content .card tr {
    background-color:transparent;
    border:none;
}
.page-node-5101 main.main-content .card td {
    border:none;
    background-color:transparent;
}
.page-node-5101 main.main-content .card td:first-child {
    width:150px;
}
