/* Theme colours */
:root{
    --primary: #0d6efd;
}


/* Bootstrap variables */


/* Blockquote */
blockquote {
    padding: 1rem;
    font-style: italic;
    background-color: #f8f9fa;
    border-radius: 0.25rem;
}

/* Definition list */
dt {
    font-weight: bold;
    margin: 1em 0;
}
dd {
    font-style: italic;
    margin: 0 0 .5em 1em;
}

/* Code */
pre{ 
    padding: 0.2rem 0.4rem;
    font-size: 90%;
    color: #bd4147;
    background-color: #f8f9fa;
    border-radius: 0.25rem;
}

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

/* Global layout styles */
.page-wrapper{
    overflow: hidden;
}

/* Overrides */
body.home .hide-on-home{
    display: none !important;
}

body.home main > section {
    padding: 0;
}

/* Hide the main left col on top level pages that have no sub-nav children
body.has-no-children.page-level-1 .main-left-col{
    display: none !important;
}

/* Containers */

/* Make sure the default container class has a max-width of 1140px; */
.container{
    max-width: 1140px;
}

/* Navbar */
header .logo img{
    max-height: 40px;
}

/* Main menu navigation */

.main-navbar{
    .navbar-nav{
        margin-bottom: -1px;
        
        > .nav-item{
            border-bottom: 3px solid transparent;
        }
        > .nav-item:hover{
            border-bottom-color: #d8d8d8;
        }
        > .nav-item.active{
            border-bottom-color: var(--primary);
            > a{
                color: #333;
            }
        }
        .dropdown-menu{
            padding: 0;
            border: none;
            margin-top: 3px;
            box-shadow: 1px 1px 0.25rem 1px #e6e6e6;
            
            li{
                padding: 0;
            
                a{
                    padding: 0.6rem 1rem;
                }
            }
            li.active a{
                color: #fff;
            }
        }
    }
}

/* GU EDIT to make site name a home page link and fix header item clipping on mobile views. Drops the site name to preserve search and hamburger */
.header__personalised {
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.header__personalised__link {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    text-decoration: none;
    color: inherit;
}

.header__personalised__link:hover,
.header__personalised__link:focus {
    color: inherit !important;
    text-decoration: none !important;
}

.header__personalised__icon {
    height: 1em;
    width: auto;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .header__personalised__label {
        display: none;
    }
}

/* List group for navigation */
.list-group-nav{
    .list-group-item{
        padding: 0px;
        
        a{
            display: block;
            padding: .6rem 1rem;
            text-decoration: none;
            color: #495057;
        }
    }
    .list-group-item.active > {
        a{
            color: #fff;
        }
    }
    .list-group-item.hierarchy{
        background: transparent;
        > a{
            color: var(--primary);
        }
    }
    .list-group-sub{
        padding-left: 0;
        list-style: none;
        border-radius: 0;
        font-size: 0.9rem;
        
        .list-group-item {
            border-width: 0px;
            border-top-width: 1px;
            border-style: dotted;
        }
        a{
            padding-left: 1.4rem;
        }
    }
}
a .text .description {
    color: var(--black) !important;
    font-weight: 300 !important;
}

/* Layout utilities */
.full-width-section{
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.hidden {
    display: none;
}
.superHidden {
    display: none !important;
}
.has-subnav .toggle.hidden {
    display: block;
}


/* Hover based dropdown menu */
@media (min-width: 768px){
    li:hover > .dropdown-menu.dropdown-menu-hover {
        display: block;
    }
}

/* original custom-WYSIWYG component */
main section.main__content {
    & > section {
        
        &:first-of-type {margin: var(--spacing-md) 0 0 0;}
        &:last-of-type {margin-bottom: var(--spacing-md);}
        &.latest-news {margin-bottom: 0;}
        &.contact-us:last-of-type {margin-bottom: 0;}
        &.wysiwyg {
            h1, h2, h3, h4, h5 {margin: 0 0 var(--spacing-md) 0;}
            h1, h2, h3, h4, h5, h6 {
                strong, bold {font-weight: inherit;}
            }
            h2:nth-child(n+2) {margin: var(--spacing-lg) 0 var(--spacing-md) 0;}
            h3 {margin: 0 0 var(--spacing-xs) 0;}
            h4 {margin: 0 0 var(--spacing-xs) 0;}
            h5 {margin: 0 0 var(--spacing-xs) 0;}
            h6 {margin: 0 0 var(--spacing-xs) 0;}
            p, div {
                line-height: var(--spacing-md);
                font-size: var(--base-font-size);
                font-weight: var(--font-light);
                color: var(--dark-grey);
            }
            p {margin: 0 0 var(--spacing-md) 0;}
            &> img {margin: 0 0 var(--spacing-md) 0;}
            ul, ol {
                li {
                    margin-bottom: var(--spacing-xs);
                    p {margin-bottom: 0;}
                    &:last-child {margin-bottom: 0;}
                    ul, ol {margin-top: var(--spacing-xs);}
                }
            }
            .responsive-table__wrapper {margin: 0 0 var(--spacing-md) 0;}
            & > :last-child {margin-bottom: 0;}
        }
        &.page-introduction .page-introduction__description {
            p, div {
                line-height: var(--spacing-md);
                font-size: var(--base-font-size);
                font-weight: var(--font-light);
                color: var(--dark-grey);
            }
        }
    }
}

.home main section.main__content > section:first-of-type {margin: 0;}

/* Cleanup Service now import into FAQ */

div.faqs-accordion {
    article {
        div:has(section):first-of-type {}
        h3:has(+ section) {margin-bottom: var(--spacing-xs);}
        span > br {display: none;}
        span:empty {display: none;}
        ul {
            li {
                list-style-type: circle;
                span {display: inline;}
            }
            ul {
                li {list-style-type: square;}
            }
        }
        ol {
            li {
                br {display: none;}
                span {display: inline;}
            }
        }
    }
}
/* Staff / Student Homepage - Important links */
.custom-link-section {
  max-width: 1170px;
  margin: 0 auto 2rem;
  padding: 0 1rem;
}


.custom-link-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}



@media (max-width: 768px) {
  .custom-link-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .custom-link-grid {
    grid-template-columns: 1fr;
  }
}

/*footer */
.footer {
    color: #000000 !important;
    font-weight: 300 !important;
}

/*sdg */
.sdg-card {
    padding:1rem;
    padding-bottom:1rem;
    background: #000;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.sdg-card__image {
    flex: 0 0 10%;
    min-width: 120px;
}

.sdg-card__image img {
    width: 100%;
    height: auto;
    display: block;
}

.sdg-card__content {
    flex: 1;
}

.sdg-card__content h3 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #ffffff !important;
}

.sdg-card__content p {
    margin: 0;
    color: #ffffff !important;
}


/* Exit button */
.quick-exit-btn {
    position: fixed;
    top: 80%;
    right: 20%;
    transform: translateY(-50%);
    z-index: 9999;
    background: #000;
    color: #ffffff !important;
    padding: 14px 22px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    transition: all 0.2s ease;
}

.quick-exit-btn:hover {
    background: #E51F30;
}

.student main:has(section.wysiwyg .notice-container) nav.breadcrumbs {margin-top: 80px;}

main section.wysiwyg:has(.notice-container) {margin-bottom: 0;}


main section.wysiwyg .notice-container {
    position: fixed;
    top: 96px;
    z-index: 99;
    margin: 0;

    .notice {
        background-color: hsla(0, 0%, 0%, 1.0);
        display: flex;
        padding: 10px 5px;
        align-items: center;
        position: relative;
        p {margin: 0;}
        a {
            display: flex;
            width: fit-content;
            color: hsla(0, 0%, 0%, 1.0);
            border-width: .5px;
            border-style: solid;
            border-color: hsla(0, 0%, 0%, 1.0);
            background-color: hsla(0, 0%, 100%, 1.0);
            border-radius: 1px;
            padding: 10px 5px;
            box-shadow: -4.1px -6.9px 8.3px -3.19px hsla(0, 0%, 0%, 0.05), -2.5px -3.2px 15.1px 2.6px hsla(0, 0%, 0%, 0.05), -6.8px -9px 9.7px -4px hsla(0, 0%, 0%, 0.05), -10.1px -16.4px 16px -5.6px hsla(0, 0%, 0%, 0.05);
            transition: all 300ms ease-in;
            place-items: center;
            text-align: center;
            text-decoration: none;
            justify-content: center;
            font-weight: 500;
            text-wrap: pretty;
            line-height: 1;
            font-size: 13px;
        }
        ul {
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            width: 100%;
        }
        ul li {margin: 0; margin-bottom: 0;}

    }
    .notice-text {
  display: flex;
  align-items: center;
  color:#fff;
}
}

@media all and (width < 62rem) {
.student main:has(section.wysiwyg .notice-container) nav.breadcrumbs {margin-top: 0px;}
.student main:has(section.wysiwyg .notice-container) .jump-to-content {}
.student main:has(section.wysiwyg .notice-container) .jump-to-content--inner.sticky {}
main section.wysiwyg .notice-container {left: 0; right: 0;bottom:0;top:inherit;}
}

@media screen and (min-width: 62rem) {
main section.wysiwyg .notice-container {left:15rem;right:15rem;}
}

@media screen and (min-width: 86.5rem) {.student main:has(section.wysiwyg .notice-container) nav.breadcrumbs {margin-top: 50px;}}

@media screen and (min-width: 97rem) {main section.wysiwyg .notice-container .notice a {font-weight: 600;font-size: 16px;}}

@media screen and (min-width: 109rem) {
main section.wysiwyg .notice-container .notice {
    padding: 10px;
    a {padding: 10px 20px;}
    ul {gap: 20px;}
}
}

@media screen and (min-width: 74rem) {main section.wysiwyg .notice-container {left:20rem;right:20rem;}}
