@font-face {
    font-family: "DM Serif Display";
    src: url("../fonts/DMSerifDisplay-Regular.woff2") format("woff2"),url("../fonts/DMSerifDisplay-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
}
@font-face {
    font-family: "DM Serif Display";
    src: url("../fonts/DMSerifDisplay-Italic.woff2") format("woff2"),url("../fonts/DMSerifDisplay-Italic.woff") format("woff");
    font-style: italic;
    font-weight: 400;
}       
@font-face {
    font-family: "Source Sans Pro";
    src: url("../fonts/SourceSansPro-Regular.woff2") format("woff2"),url("../fonts/SourceSansPro-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
}
@font-face {
    font-family: "Source Sans Pro";
    src: url("../fonts/SourceSansPro-Italic.woff2") format("woff2"),url("../fonts/SourceSansPro-Italic.woff") format("woff");
    font-style: italic;
    font-weight: 400;
}
@font-face {
    font-family: "Source Sans Pro";
    src: url("../fonts/SourceSansPro-Bold.woff2") format("woff2"),url("../fonts/SourceSansPro-Bold.woff") format("woff");
    font-style: normal;
    font-weight: 700;
}
*,
*:after,
*:before {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box
}
html {
  background: #fff;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  text-rendering: optimizeLegibility;
  text-size-adjust: 100%;
}
body {
    font-family: "Source Sans Pro";
    font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.417), 1rem);
    line-height: 1.6;
    color: #000;
    margin: 0;
    padding: 0;
}
h1, h2, h3, h4, h5, h6{
    font-family: "DM Serif Display";
    font-weight: 400;
    line-height: 1.4;
}
h1{
    font-size: clamp(1.743rem, 1.743rem + ((1vw - 0.2rem) * 4.19), 3rem);
    line-height: 1.2;
}
h4{
    font-size: clamp(15.747px, 0.984rem + ((1vw - 3.2px) * 1.719), 24px);
}

.pkp_site_name_wrapper{
    padding: 24px 72px;
    width: 100%;
    border-bottom: 2px solid #808080;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.site-name p{
    font-size: 14px;
    line-height: 1.5em;
}
.site-name a{
    text-decoration: none;
    display: block;
}
.pkp_site_name{
    color: #b50d0d;
    font-size: clamp(2.288rem, 2.288rem + ((1vw - 0.2rem) * 6.373), 4.2rem);
    font-weight: 700;
    font-family: "DM Serif Display";
}
.site-logo img{
    width: 212px;
    height: auto;
    display: block;
}

.pkp_navigation_primary{
    display: flex;
    gap: 40px;
    justify-content: center;
    font-size: 18px;
    text-transform: uppercase;
    line-height: 30px;
    list-style: none;
    margin: 0;
    padding: 0 20px;
    border-bottom: 2px solid #808080;
}
.pkp_navigation_primary li{
    margin: 0;
    padding: 0;
}
.pkp_navigation_primary a{
    color: #000;
    text-decoration: none;
}
.pkp_navigation_primary a:hover{
    color: #b50d0d;
}

.cmp_breadcrumbs{
    display: none !important;
}

.issue_summary{
    display: flex;
    align-items: center;
    padding: 0 40px 40px;
}
.issue_summary:nth-of-type(even){
    flex-direction: row-reverse;
}
.issue_cover{
    width: 318px;
    flex: none;
}
.issue_cover img{
    width: 100%;
    height: auto;
    display: block;
}
.issue_details{
    padding: 0 8%;
}
.issue_details h3{
    font-size: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 1.667), 2.25rem);
    color: #b50d0d;
    line-height: 1;
    font-family: "Source Sans Pro";
    font-weight: 700;
}
.issue_details h3 a{
    color: #b50d0d;
}
.issue_details a{
    text-decoration: none;
}
.issue_actions{
    margin-top: 0.6rem;
}
.issue_read_more{
    color: #000;
    font-weight: 700;
}
.issue_read_more:hover{
    color: #b50d0d;
}

.page_issue .heading .cover{
    display: none;
}

.page_issue .galleys{
    background: #f5f5f5;
    border-radius: 16px;
    padding: 24px;
    margin-top: 24px;
}
.pkp_structure_content .page_issue .galleys ul{
    margin-block-start: 0.5rem;
}
.page_issue .galleys a{
    color: #000;
    text-decoration: none;
}
.page_issue .galleys a:hover{
    color: #b50d0d;
}
.page_issue h1{
    margin-bottom: 24px;
}
.page_issue .description p{
    margin-bottom: 1rem;
}

.pkp_structure_content{
    padding: 60px 20px 80px;
}
.pkp_structure_content .page{
    max-width: 800px;
    margin: 0 auto;
}
h1.page_title{
    margin-bottom: 20px;
}
.pkp_structure_content .page p{
    text-align: left;
}
.pkp_structure_content .page h4,
.pkp_structure_content .page ul,
.pkp_structure_content .page ol{
    margin-block-start: 1.5rem;
    margin-block-end: 0;
}
.pkp_structure_content .page ul,
.pkp_structure_content .page ol{
    padding-inline-start: 40px;
}

.pkp_structure_footer{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
    width: 100%;
}

.pkp_footer_content{
    padding-top: 40px;
    border-top: 1px solid #DEDEDE;
}

.pkp_footer_info{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 40px;
}
.pkp_footer_info h4{
    margin-bottom: 24px;
}
.pkp_footer_info ul{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}
.pkp_footer_info ul li{
    margin: 0;
    padding: 0;
    list-style: none;
}
.pkp_footer_info ul li a{
    text-decoration: none;
    color: #000;
}
.pkp_footer_info ul li a:hover{
    color: #b50d0d;
}

.pkp_footer_bottom{
    padding: 15px 0 35px;
    border-top: 1px solid #DEDEDE;
    margin-top: 40px;
    text-align: center;
    color: #666;
}

.pkp_navigation_user{
    padding: 12px 72px 0;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    list-style: none;
}
.pkp_navigation_user a{
    color: #000;
    text-decoration: none;
    font-size: 15px;
    line-height: 20px;
}
.pkp_navigation_user a:hover{
    color: #b50d0d;
    text-decoration: underline;
}
.pkp_navigation_user li{
    position: relative;
} 
.pkp_navigation_user li ul{
    list-style: none;
    margin: 0;
    padding: 16px;
    border-radius: 8px;
    background: #b50d0d;
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 150px;
    position: absolute;
    top: 24px;
    left: 0;
    opacity: 0;
    transition: all 0.2s ease;
    transform: translateY(-100%);
}
.pkp_navigation_user li:hover > ul{
    opacity: 1;
    transform: translateY(0);
}
.pkp_navigation_user ul a{
    color: #fff;
}
.pkp_navigation_user ul a:hover{
    color: #fff;
    text-decoration: underline;
}

.pkp_navigation_user .task_count{
    display: none !important;
}

.pkp_structure_content .page_login{
    max-width: 450px;
}
.cmp_form{
    background: #f5f5f5;
    padding: 24px;
    border-radius: 16px;
    margin-top: 20px;
}
.cmp_form fieldset{
    border: none !important
}
.cmp_form fieldset legend{
    display: none !important;
}
.cmp_form .required{
    color: red;
}
.cmp_form .pkp_screen_reader{
    display: none;
}
.cmp_form span.label{
    display: block;
}
.cmp_form input[type="text"], 
.cmp_form input[type="password"],
.cmp_form input[type="email"]{
    width: 100%;
    padding: 8px 12px;
    background: #fff;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.5em;
    border: none;
    outline: none;
}
.cmp_form select{
    width: 100%;
    padding: 8px 12px;
    background: #fff;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.5em;
    border: none;
    outline: none;
}
.cmp_form .remember label{
    display: flex;
    gap: 10px;
    align-items: center;
}

.cmp_form button.submit{
    width: 100%;
    border-radius: 8px;
    padding: 8px 12px;
    text-align: center;
    display: block;
    background: #b50d0d;
    color: #fff;
    font-weight: 700;
    border: none;
    outline: none;
    font-size: 16px;
    line-height: 1.5em;
    transition: all 0.3s ease;
    cursor: pointer;
}
.cmp_form button.submit:hover{
    background: #7d1515;
}
.cmp_form a.register,
.cmp_form a.login{
    display: block;
    margin-top: 5px;
    color: #000;
    text-align: center;
}
.cmp_form a.register:hover,
.cmp_form a.login:hover{
    color: #b50d0d;
}

.cmp_form a{
    color: #000;
}
.cmp_form a:hover{
    color: #b50d0d;
}

.cmp_form .username,
.cmp_form .password,
.cmp_form .remember{
    margin-bottom: 12px;
}

.cmp_form.register .given_name,
.cmp_form.register .family_name,
.cmp_form.register .affiliation,
.cmp_form.register .country,
.cmp_form.register .email,
.cmp_form.register .optin,
.cmp_form.register .reviewer_interests{
    margin-bottom: 12px;
}

@media screen and (max-width:768px){
    .pkp_site_name_wrapper{
        padding: 20px;
        flex-direction: column-reverse;
    }
    .pkp_site_name_wrapper .site-name{
        text-align: center;
    }
    .site-logo img{
        width: 142px;
    }
    .site-name a{
        line-height: 1.2;
    }
    .pkp_navigation_primary{
        padding: 0 10px;
        font-size: 12px;
        gap: 15px;
        line-height: 1em;
        align-items: center;
    }
    .pkp_navigation_primary a{
        padding: 14px 0;
        display: block;
    }
    .issue_summary{
        flex-direction: column !important;
        gap: 24px;
        padding: 0 20px 40px;
    }
    .pkp_footer_content{
        padding-top: 0;
    }
    .pkp_footer_info{
        grid-template-columns: 100%;
    }
    .pkp_structure_content{
        padding: 40px 20px;
    }
}