/*
Theme name: REF 2028 theme
Author: Gareth Edwards (UKRI)
Description: The theme for the REF 2028 website
Version: 1.15
Requires at least: 6.0
Tested up to: 6.3
Requires PHP: 7.0
Text Domain: REF 2028
*/

strong {
    color: var(--wp--preset--color--dark-blue);
}


.wp-block-button > a.wp-block-button__link:focus-visible,
.wp-block-button > a.wp-block-button__link:hover
{
    background-color: var(--wp--preset--color--dark-blue);
    color: white !important;
}

.wp-block-button.is-style-outline > a.wp-block-button__link:focus-visible,
.wp-block-button.is-style-outline > a.wp-block-button__link:hover
{
    color: var(--wp--preset--color--dark-blue) !important;
}

body:not([class~="wp-admin"]) a:focus-visible,
body:not([class~="wp-admin"]) a:hover
{
    color: var(--wp--preset--color--dark-blue);
    outline: none;   
}

ul.ref2028-list-unstyled {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.ref2028-bulleted-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ref2028-bulleted-list li {
    background: url('./assets/images/circle-solid.svg') no-repeat 0 0.4em;
    background-size: 0.6em;
    padding-left: 1.2em;
}

.ref2028-bulleted-list li ol li {
    background: none;
    padding-left: 0;
}

.ref2028-header {
    margin-bottom: 1rem;
}

.ref2028-header nav a {
    font-weight: 500;
    border-bottom: 4px solid transparent;

    &:hover, &:focus-visible {
        border-bottom: 4px solid var(--wp--preset--color--dark-blue);
    }
}

.ref2028-header nav a[aria-current="true"] {
    font-weight: 700;   
    border-bottom: 4px solid var(--wp--preset--color--primary);

    &:hover, &:focus-visible {
        border-color: var(--wp--preset--color--dark-blue) !important;
    }    
}

.ref2028-navigation-menu {
    gap: 24px;
}

li.wp-block-navigation-item {
    margin-bottom: 0px !important;
}

.ref2028-footer {
    font-size: var(--wp--preset--font-size--x-small);
    background-image: url('./assets/images/footer-banner-3840x1440.jpg');
    background-size: cover;
}

.ref2028-footer a {
    color: var(--wp--preset--color--white) !important;
    
    &:focus-visible, &:hover {
        color: var(--wp--preset--color--white) !important;
        text-decoration: underline;
    }
}

.ref2028-footer div {
    margin-bottom: 24px;
}

.ref2028-footer li.wp-block-navigation-item {
    &::after {
        content: "|";
        padding: 0.5em 0.5em 0.5em 0.8em;
        color: var(--wp--preset--color--white);
   }

   &:last-child::after {
        content: "";
   }    
}

.ref2028-heading-banner {
    background-image: url('./assets/images/hero-banner-background-3840x1440.jpg');
    background-size: cover;
    height: 15rem;
}

.ref2028-homepage-heading {
    padding: 1em 0;
    background-image: url('./assets/images/hero-banner-background-3840x1440.jpg');
    background-size: cover; 
}

.ref2028-full-width-container {
    margin-left: -12px;
    margin-right: -12px;
}

.ref2028-full-width-container > * {
    padding-left: 12px;
    padding-right: 12px;
}

.ref2028-homepage-heading strong {
    color: var(--wp--preset--color--white);   
}

.ref2028-news-panel, .ref2028-content-panel {
    padding: 24px;
}

.ref2028-content-panel {
    margin-bottom: 30px;
    font-size: 16px;
}

.ref2028-sticky-top-panel {
    position: sticky;
    top: 0;
}

.ref2028-news-panel li {
    margin-bottom: 0px;
}

.ref2028-news-panel h3 {
    margin-top: 24px;
    margin-bottom: 12px;
}

.ref2028-news-panel .email-sign-up {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.email-sign-up a img {
    vertical-align: middle;
    float: none;
}

.ref2028-quick-link-panel .email-sign-up {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

.ref2028-quick-link-panel .email-sign-up h2 {
    margin-top: 0 !important;
}

.ref2028-quick-links {
    background-image: url('./assets/images/quicklinks-background-3840x1440.jpg');
    background-size: cover;  
}

li {
    margin-bottom: 1em;
}


ul.ref2028-grouped-post-list {
    list-style: none;
    padding-left: 0px;
}

.ref2028-grouped-post-list h3 {
    margin-bottom: 0.25rem;
}

.ref2028-grouped-post-list div {
    font-size: var(--wp--preset--font-size--x-small);
}

.ref2028-alert p {
    margin: 0;
}

.ref2028-alert-panel__icon-column {
    flex-basis: 48px !important;
}

.ref2028-alert-panel__icon-column img {
    width:48px;
}

.ref2028-alert-panel__text-column {
    flex-basis: 100% !important;
}

details.ref2028-details-block {
    padding: 12px;
}

details.ref2028-details-block summary {
    list-style: none;
    background: url('./assets/images/expand_circle_down.svg') no-repeat 0px 0.1em;
    background-size: 1.5em;
    padding-left: 42px;
    padding-top: 4px;
}

details[open].ref2028-details-block summary {
    background: url('./assets/images/expand_circle_up.svg') no-repeat 0px 0.1em;
    background-size: 1.5em;  
}

.ref2028-details-block summary::-webkit-details-marker {
    display: none;
}

.ref2028-details-block p {
    margin: 12px !important;
}

details.ref2028-faq-block {
    padding: 0px 0px 10px 0px;
}

details.ref2028-faq-block summary {
    font-weight: 500;
    cursor: pointer;
}

details.ref2028-faq-block summary:hover {
    color: var(--wp--preset--color--dark-blue);
    cursor: pointer;
}

button.ref2028-faqs-show-all {
    list-style: none;
    background: url('./assets/images/expand_circle_down.svg') no-repeat 0px 0.1em;
    background-size: 1.5em;
    padding-left: 42px;    
    line-height: 1.7em;
    display: block;
    font-weight: 300;
    text-decoration: none;
    border: none;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 500;
    color: var(--wp--preset--color--primary);
    cursor: pointer;
}

button.ref2028-faqs-show-all:focus-visible {
    color: var(--wp--preset--color--dark-blue);
    outline: none;
}

button.ref2028-faqs-show-all[open] {
    background: url('./assets/images/expand_circle_up.svg') no-repeat 0px 0.1em;
    background-size: 1.5em;
}

button.ref2028-faqs-show-all::before {
    content: "Show ";
}

button.ref2028-faqs-show-all[open]::before {
    content: "Hide ";
}

.ref2028-quick-links-row {
    row-gap: 16px;
}

.ref2028-quick-link-panel {
    width: 100%;
    height: 95%;
    padding: 24px;
    overflow: visible;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: nowrap;
    display: flex;
    position: relative;
    box-sizing: border-box;
    border-radius: 4px;
}

.ref2028-quick-link-panel p {
    margin-top: 0 !important;
    margin-bottom: 1.5em !important;
}

.ref2028-quick-link-panel img {
    float: right;
    width: 40px;
}

.ref2028-quick-link-panel figure {
    margin-bottom: 0px;
}

.ref2028-crumb-trail {
    list-style: none;
    padding-left: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
}

.ref2028-crumb-trail li {
    display: inline-block;
    margin-bottom: 0px;
}

.ref2028-homepage-intro {
    border-bottom: 2px rgba(141, 89, 160, .5) solid;
}

.ref2028-homepage-columns {
    gap: 24px;
}

.ref2028-search {
    padding-left: 24px;
}

.ref2028-search input {
    border: 2px var(--wp--preset--color--dark-blue) solid;
    padding: 0.25em 0.5em;
    border-radius: 9999px;
    font-size: 1em;

    &::placeholder {
        color: var(--wp--preset--color--dark-blue);
        opacity: 100;
        font-weight: 700;
    }

    &:focus-visible, &:hover {
        box-shadow: 0 0 0 0.25rem rgba(141, 89, 160, 0.25);
        outline: none;
    }
}

.ref2028-previous-links {
    padding: 0px;
}

.ref2028-previous-links .is-layout-flex {
    gap: 0px;
}

.ref2028-previous-links a {
    border-radius: 0px;
    border-bottom: none !important; 
}

.ref2028-previous-links .wp-block-button > a.wp-block-button__link:focus-visible,
.ref2028-previous-links .wp-block-button > a.wp-block-button__link:hover
{
    background-color: var(--wp--preset--color--dark-blue) !important;
}

.ref2028-previous-links .wp-block-button.ref2028-current-link > a.wp-block-button__link {
    &:hover, &:focus-visible {
        color: var(--wp--preset--color--dark-blue) !important;
        background-color: var(--wp--preset--color--white) !important;
    }
}

.ref2028-previous-links p {
    font-weight: 500;
    padding: 0 calc(1.333em + 2px) 0 calc(1.333em + 2px);
}

.ref2028-previous-links > nav > div {
    justify-content: flex-end;
}

.ref2028-narrow {
    max-width: 960px !important;
}

.skip-link.screen-reader-text:focus {
    background-color: var(--wp--preset--color--dark-blue) !important;
    color: var(--wp--preset--color--white) !important;
    height: auto !important;
    width: 100% !important;
    position: static !important;
    margin: 0px !important;
    text-decoration: underline !important;
}

.bar {
    background: black;
    display: block;
    height: 2px;
    margin: 10px auto;
    width: 35px;
}

.wp-block-navigation__responsive-container-open {
    display: block;
    margin-right: 5px !important;
}

.ref2028-search__no-results input {
    font-size: 1em;

    &::placeholder {
        color: var(--wp--preset--color--dark-blue);
        opacity: 100;
        font-weight: 700;
    }

    &:focus-visible, &:hover {
        box-shadow: 0 0 0 0.25rem rgba(141, 89, 160, 0.25);
        outline: none;
    }    
}

.wp-block-search__button {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);

    &:hover, &:focus-visible {
        background-color: var(--wp--preset--color--dark-blue);
    }
}

.ref2028-timeline {
    border-left: 3px solid var(--wp--preset--color--primary);
    list-style-type: none;
    padding: 0;
}

.ref2028-timeline--event {
    margin: 32px 0;
    padding-left: 18px;
    position: relative;
    top: -10px;

    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 5px;
    }

    p {
        margin-top: 5px;
        margin-bottom: 5px;
    }
}

.ref2028-timeline--event::before {
    background-color: var(--wp--preset--color--primary);
    content: '';
    height: 3px;
    left: -1px;
    position: absolute;
    top: 10px;
    width: 11px;
}

.ref2028-numbered-paragraphs {
    counter-reset: paragraph;

    p::before {
        counter-increment: paragraph;
        content: counter(paragraph) " ";
        position: absolute;
        margin-left: -2em;
    }

    p {
        padding-left: 2em;
    }
}

ol.ref2028-heading-numbering {
    counter-reset: levelone;
    list-style: none;
    padding: 0;
    margin: 0;

    li {
        counter-increment: levelone;
        margin-bottom: 5px;
        display: table;
    }

    li::before {
        content: counter(levelone) ". ";
        min-width: 1.6em;
        display: table-cell;
    }

    ol {
        counter-reset: leveltwo;
        padding-left: 24px;

        li {
            counter-increment: leveltwo;
            margin-bottom: 5px;
            display: table;
        }

        li::before {
            content: counter(levelone) "." counter(leveltwo) ". ";
            min-width: 1.6em;
            display: table-cell;
        }
    }    
}

.ref2028-pub-numbering {
    counter-reset: headingone;

    h2::before {
        content: counter(headingone) ". ";
        position: absolute;
        margin-left: -75px;
    }

    h2 {
        counter-increment: headingone;
        counter-reset: headingtwo paragraph; 
        padding-left: 75px;
    }

    h3::before {
        content: counter(headingone) "." counter(headingtwo) ". ";
        position: absolute;
        margin-left: -75px;
    }

    h3 {
        counter-increment: headingtwo;
        counter-reset: paragraph;
        padding-left: 75px;
    }

    p::before {
        content: counter(headingone) "." counter(headingtwo) "." counter(paragraph) ". ";
        position: absolute;
        margin-left: -75px;
    }

    p {
        counter-increment: paragraph;        
        padding-left: 75px;
    }
    
    ul, ol {
        margin-left: 75px !important;        
    }

    li {
        margin-bottom: 0;
    }
}

.ref2028-download-document {
    position: relative;
    padding-left: 129px;
    margin-bottom: 30px;
    min-height: 160px;
}

.ref2028-download-document a {
    text-decoration: none;
}

.ref2028-download-document img {
    display: block;
    width: 99px;
    height: 140px;
    background-color: var(--wp--preset--color--white);
    outline: 5px solid rgba(11,12,12,0.1);
    box-shadow: 0 2px 2px rgba(11,12,12,0.4);
}

.ref2028-download-document p {
    margin: 10px 0;
    color: var(--wp--preset--color--black);
    font-weight: 300;
}

.ref2028-download-thumb {
    position: relative;
    float: left;
    margin-top: 5px;
    margin-left: -124px;
    padding-bottom: 15px;
}

.ref2028-download-title {
    display: inline;
    color: var(--wp--preset--color--primary) !important;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    font-weight: 500 !important;
    font-size: 1.6rem;
    line-height: 1.25;
}

.ref2028-download-meta {
    font-size: 19px;
}

.ref2028-download-document details {
    font-weight: 300;
    display: block;
    font-size: 19px;
    margin-bottom: 15px !important;
}

.ref2028-download-document summary {
    color: var(--wp--preset--color--primary);
    font-weight: 500;
    display: inline-block;
    position: relative;
    margin-bottom: 5px;
    padding-left: 25px;
    cursor: pointer;

    &::before {
        content: "";
        position: absolute;
        top: -1px;
        bottom: 0;
        left: 0;
        margin: auto;
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-color: transparent;
        clip-path: polygon(0%, 0%, 100%, 50%, 0%, 100%);
        border-width: 7px 0 7px 12.124px;
        border-left-color: inherit;
    }

    &:focus {
        color: var(--wp--preset--color--dark-blue);
        background-color: transparent;
        box-shadow: 0 3px var(--wp--preset--color--dark-blue);
        
        span {
            text-decoration: none;
        }
    }

    &:hover {
        color: var(--wp--preset--color--dark-blue);
    }
}

.ref2028-download-document summary span {
    text-decoration: underline;
}

.ref2028-download-document details[open] summary::before {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    clip-path: polygon(0%, 0%, 50%, 100%, 100%, 0%);
    border-width: 12.124px 7px 0 7px;
    border-top-color: inherit;
}

.ref2028-download-document .ref2028-details__text {
    padding: 15px;
    padding-left: 20px;
    border-left: 5px solid var(--wp--preset--color--light-primary);
}

.ref2028-print-panel {
    padding: 30px 15px;
}

.ref2028-print-panel a,
.editor-styles-wrapper .ref2028-print-panel a {
    color: var(--wp--preset--color--white);
    text-decoration: none;

    &:hover {
        text-decoration: none;
        color: var(--wp--preset--color--white) !important;
        box-shadow: 0 2px var(--wp--preset--color--white);
    }

    &:focus-visible {
        text-decoration: none;
        color: var(--wp--preset--color--white) !important;
        box-shadow: 0 2px var(--wp--preset--color--white);
    }
}

.ref2028-change-log-group dt {
    font-weight: 500;
}