*{margin: 0; padding: 0; box-sizing: border-box;}
@font-face {
  font-family: NotoSerif;
  src: url(../font/NotoSerif-Regular.ttf);
}
@font-face {
  font-family: OpenSans-Regular;
  src: url(../font/OpenSans-Regular.ttf);
  
}
@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat&family=Noto+Serif&display=swap');

:root{
	--jrad-red: #CA202A;
	--jrad-red-dark: #A81922;
	--jrad-text: #3a3a3a;
	--jrad-text-strong: #2f2f2f;
	--jrad-muted: #6b6b6b;
	--jrad-border: #e4e4e4;
	--jrad-surface: #f6f6f6;
	--jrad-nav: #ececed;
	--jrad-footer: #3d3d3d;
}

.container-fluid {width: 95%; max-width: 1700px; margin-left: auto; margin-right: auto;}
.heading-font{font-family: 'NotoSerif', serif; font-size: 40px; line-height: 1.15;}
p{margin: 0;}
.red-color{color: var(--jrad-red);}
.logo-font{font-family: OpenSans-Regular, sans-serif; font-size: 18px; line-height: 1.45;}
.c-container{max-width: 1270px; margin-left: auto; margin-right: auto; padding: 0px 15px;}
.light-red{color: var(--jrad-red);}
.site-header{padding: 1.35rem 0 1.2rem; border-bottom: 1px solid var(--jrad-border);}
.logo{display: flex; align-items: center; gap: 20px;}
.logo-mark{flex-shrink: 0; display: block; line-height: 0;}
.logo-img{width: 92px; height: auto; display: block;}
.logo-text{min-width: 0; flex: 1;}
.site-header .site-title{
	display: block;
	font-family: 'NotoSerif', serif;
	font-size: 36px;
	line-height: 1.2;
	color: var(--jrad-text-strong);
	text-decoration: none;
	margin: 0 0 8px;
}
.site-header .site-title:hover,
.site-header .site-title:focus{
	color: var(--jrad-text-strong);
	text-decoration: none;
}
.site-header .site-title .red-color{color: var(--jrad-red);}
.site-header .site-tagline{
	font-family: OpenSans-Regular, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: var(--jrad-muted);
	margin: 0 0 4px;
}
.site-header .site-meta{
	font-family: OpenSans-Regular, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	color: #8a8a8a;
	margin: 0;
	letter-spacing: 0.02em;
}
.site-header .site-meta-label{
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #9a9a9a;
	margin-right: 6px;
}
.navigation{width: 100%; min-height: 48px; background-color: var(--jrad-nav); border-bottom: 1px solid #e0e0e0;}
.menu{position: relative; display: block;}
.nav-wrap{width: 100%; padding-right: 250px;}
.search{position: absolute; right: 0; top: 0; z-index: 2;}
.search-form{position: relative; display: flex; align-items: center;}
.search-text{
	border-radius: 6px;
	border: 1px solid #d5d5d5;
	background: #fff;
	height: 34px;
	font-size: 13px;
	padding: 0 36px 0 14px;
	line-height: 34px;
	width: 235px;
	margin: 7px 0;
	color: var(--jrad-text);
}
.search-text:focus{
	border-color: #bdbdbd;
	box-shadow: 0 0 0 3px rgba(202,32,42,0.08);
}
.search-btn{position: absolute; right: 4px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; padding: 4px 8px; line-height: 1; cursor: pointer;}
.search-icon{font-weight: bold; color: #555; font-size: 16px;}
input:focus {outline: none;}
img{max-width: 100%; height: auto;}
.book img{max-width: 100%; height: auto; border: 1px solid var(--jrad-border); border-radius: 4px;}
.font-25{font-size: 22px; color: var(--jrad-text-strong); font-family: 'NotoSerif';}
.font-40{font-size: 40px; color: var(--jrad-text-strong); font-family: 'NotoSerif';}
.font-30{font-size: 30px; color: var(--jrad-text-strong); font-family: 'NotoSerif';}
.custom-html a {
    color: var(--jrad-red);
}
.custom-html a.light-blue-btn,
.custom-html a.green-btn,
.custom-html a.red-btn,
.custom-html a.yellow-btn {
	text-decoration: none;
}
.custom-html a.red-btn,
.custom-html a.red-btn:hover,
.custom-html a.red-btn:focus {
	color: #fff !important;
}
.custom-html a.light-blue-btn,
.custom-html a.light-blue-btn:hover,
.custom-html a.yellow-btn,
.custom-html a.yellow-btn:hover {
	color: var(--jrad-text-strong) !important;
}
p{color: var(--jrad-text); font-family: OpenSans-Regular;
font-size: 16px;
    line-height: 1.65;
    margin: 15px 0px;}
.font-15{font-size: 15px; color: var(--jrad-text); font-family: OpenSans-Regular; line-height: 1.55;}
.font-18{font-size: 16px; color: var(--jrad-text); font-family: OpenSans-Regular; line-height: 1.55;}
.slider{background-image: url(../images/banner-bg.png); background-size: cover; background-color: var(--jrad-surface);}
.slider .font-25{
	font-size: 15px;
	font-family: OpenSans-Regular, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--jrad-muted);
	margin-bottom: 6px;
}
.slider h1{
	font-size: 30px;
	line-height: 1.25;
	margin-bottom: 12px;
}
.details p{margin-top: 15px;}
.details {
    margin-bottom: 20PX;
}
h1{font-size: 30px;
    color: var(--jrad-text-strong); 
    font-family: 'NotoSerif'; 
    margin-bottom: 15px;
}
h2{font-size: 24px;
    color: var(--jrad-text-strong);   
    font-family: 'OpenSans-Regular';
	font-weight: 600;
}
h3{font-size: 18px;
    color: var(--jrad-text-strong);   
    font-family: OpenSans-Regular;
	line-height: 1.4;
}
h4{font-size: 16px;
    color: var(--jrad-text-strong);
    font-family: OpenSans-Regular; 
}
.heading h2{
	margin-bottom: 0;
}
.main-part{
	padding-top: 2rem !important;
	padding-bottom: 2.5rem !important;
}
.c-box p {
    line-height: 1.55;
}
hr {margin: 8px 0 18px; background-color: var(--jrad-border); border: 0; height: 1px; position: relative;}
hr:before{position: absolute; content: ''; width: 64px; height: 3px; background-color: var(--jrad-red); top: -1px; left: 0;}
.font-20{font-size: 18px; color: var(--jrad-text); font-family: OpenSans-Regular;}
.font-14{font-size: 14px; color: var(--jrad-muted); font-family: OpenSans-Regular;}
.c-box {
	box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.05);
	border: 1px solid var(--jrad-border);
	border-radius: 8px;
	padding: 22px 24px;
	margin-top: 22px;
	background: #fff;
}
.c-box hr {margin: 16px 0;}
.c-box hr::before {margin: 0; width: 0;}
.c-content + .c-content{
	margin-top: 8px;
}
.c-content h3{
	margin: 0 0 6px;
}
.article-authors{
	color: var(--jrad-muted) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	margin: 0 0 6px !important;
}
.article-doi{
	color: var(--jrad-muted) !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	margin: 0 !important;
}
.article-doi a{
	color: var(--jrad-red);
}
.article-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}
.view-all-link{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 18px !important;
	font-size: 15px !important;
}
.view-all-link .c-icon{
	font-size: 18px;
	color: var(--jrad-red);
}

/* Buttons: red primary + neutral secondary */
.light-blue-btn,
.green-btn,
.red-btn,
.yellow-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 38px;
	padding: 7px 18px;
	font-size: 14px;
	font-family: OpenSans-Regular, sans-serif;
	line-height: 1.2;
	border-radius: 6px;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
	cursor: pointer;
}
.red-btn {
	border: 1px solid var(--jrad-red);
	color: #fff !important;
	background-color: var(--jrad-red);
}
.red-btn:hover,
.red-btn:focus {
	border-color: var(--jrad-red-dark);
	background-color: var(--jrad-red-dark);
	color: #fff !important;
	text-decoration: none;
}
.red-btn i {
	color: #fff !important;
}
.yellow-btn {
	border: 1px solid #c8c8c8;
	color: var(--jrad-text-strong) !important;
	background: #fff;
}
.yellow-btn:hover,
.yellow-btn:focus {
	border-color: #a8a8a8;
	background-color: var(--jrad-surface);
	color: var(--jrad-text-strong) !important;
	text-decoration: none;
}
.light-blue-btn {
	border: 1px solid #c8c8c8;
	color: var(--jrad-text-strong) !important;
	background: #fff;
}
.light-blue-btn:hover,
.light-blue-btn:focus {
	border-color: #a8a8a8;
	background-color: var(--jrad-surface);
	color: var(--jrad-text-strong) !important;
	text-decoration: none;
}
.green-btn {
	border: 1px solid #5a8f6d;
	color: #2f6b46 !important;
	background: #fff;
}
.green-btn:hover,
.green-btn:focus {
	border-color: #2f6b46;
	background-color: #2f6b46;
	color: #fff !important;
	text-decoration: none;
}
.border-bottom { border-bottom: 1px solid var(--jrad-border) !important; margin: 10px 0px;}
.img-fluid { width: 100% !important; height: auto;}

.custom-html {
    /*margin: 1.5rem 0px;*/
}

.custom-html p{font-size: 16px;
    line-height: 1.65;
    margin: 15px 0px;}
.resize_thumb {
	max-width: 300px;
	border: 1px solid var(--jrad-border);
    padding: 5px;
	height : auto;
}
.indent{
	margin-left: 50px; font-size: 14px;
}
.small-font li {font-size: 12px;}
.custom-html h2 {
    margin-top: 30px;
    font-size: 25px;
}
.custom-html h3 {
    margin-top: 10px;
    font-size: 25px;
}
.custom-html h4 {
    margin-top: 10px;
    font-size: 22px;
}
.custom-html ul li{font-size: 16px;
    color: var(--jrad-text);
    font-family: OpenSans-Regular; list-style: disc;
    line-height: 1.55; margin-left: 50px;}
    .decimal{list-style-type: decimal}
ol {
    margin: 10px 0px;
}
ol li{font-size: 16px;
    color: var(--jrad-text);
    font-family: OpenSans-Regular;
    line-height: 1.55; 
    margin-left: 15px;}
.q-launch .heading h2{
	font-size: 20px;
}
.sidebar-menu { list-style: none; margin: 0; padding: 0;}
.sidebar-menu .c-icon { color: var(--jrad-red); font-size: 22px; margin-right: 10px; flex-shrink: 0;}
.sidebar-menu li a {color: var(--jrad-text); font-size: 15px; text-decoration: none; font-family: OpenSans-Regular;}
.sidebar-menu li{
	display: flex;
	vertical-align: middle;
	align-items: center;
	border-bottom: 1px solid var(--jrad-border);
	line-height: 1.45 !important;
	margin-left: 0px !important;
	padding: 10px 0;
}
.font-42{font-size: 42px;
    color: var(--jrad-text-strong);
    font-family: 'NotoSerif'; line-height: 1.15;}
footer,
.site-footer{background-color: var(--jrad-footer); color: #fff;}
.site-footer{padding: 2.25rem 0 0;}
.footer-grid{
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 2rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}
.footer-title{
	font-family: 'NotoSerif', serif;
	font-size: 18px;
	line-height: 1.35;
	color: #fff !important;
	margin: 0 0 10px !important;
}
.footer-text{
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: rgba(255,255,255,0.72) !important;
	margin: 0 0 12px !important;
}
.footer-meta{
	font-size: 13px !important;
	color: rgba(255,255,255,0.65) !important;
	margin: 0 !important;
}
.footer-meta .site-meta-label{
	color: rgba(255,255,255,0.45);
	margin-right: 6px;
}
.footer-heading{
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.55) !important;
	margin: 0 0 14px !important;
}
.footer-links{
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-links li{
	margin: 0 0 10px;
}
.footer-links a{
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	font-size: 14px;
	font-family: OpenSans-Regular, sans-serif;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.footer-links a:hover{
	color: #fff;
}
.footer-links i{
	font-size: 16px;
	opacity: 0.8;
}
.footer-bottom{
	padding: 14px 0 16px;
}
footer p,
.footer-font{
	color: rgba(255,255,255,0.7);
	font-size: 13px;
	padding: 0;
	margin: 0;
	line-height: 1.45;
}
.article-toolbar{
	margin: 8px 0 4px;
}
.article .font-14{
	margin: 4px 0 !important;
}
.contact .form-group label{
	font-size: 14px;
	font-weight: 600;
	color: var(--jrad-text-strong);
	margin-bottom: 6px;
}
.contact .form-group label span{
	color: var(--jrad-red);
}
.contact .form-control{
	border: 1px solid #d5d5d5;
	border-radius: 6px;
	min-height: 42px;
	font-size: 15px;
	color: var(--jrad-text);
	padding: 8px 12px;
	box-shadow: none;
}
.contact .form-control:focus{
	border-color: #bdbdbd;
	box-shadow: 0 0 0 3px rgba(202,32,42,0.08);
}
.contact textarea.form-control{
	min-height: 120px;
}
.contact .red-btn.btn{
	border: 1px solid var(--jrad-red);
}
.slider .font-40,
.slider .font-42{
	font-size: 28px;
	line-height: 1.25;
	margin: 0;
	color: var(--jrad-text-strong);
}
a:hover{text-decoration: none; color: var(--jrad-red);}
a.red-btn:hover,
a.red-btn:focus{color: #fff !important;}
a.light-blue-btn:hover,
a.light-blue-btn:focus,
a.yellow-btn:hover,
a.yellow-btn:focus{color: var(--jrad-text-strong) !important;}
a.green-btn:hover,
a.green-btn:focus{color: #fff !important;}
.icon-btn {
    padding: 10px 20px;
	min-height: 44px;
}
.icon-btn:hover {
    padding: 10px 20px;
}
.icon-btn i {
    font-size: 18px;
    position: relative;
    top: 0;
	color: inherit;
}
.icons-list {
    list-style: none;
}
.icons-list li {
    display: flex;
    vertical-align: middle;
    align-items: center;
    line-height: 1.5 !important;
    margin-left: 0px !important;
}
.icons-list .c-icon {
    color: var(--jrad-red);
    font-size: 22px;
    margin-right: 10px;
}
.icons-list li a {
    color: var(--jrad-text);
    font-size: 16px;
    text-decoration: none;
}
.icons-list li a:hover {
    color: var(--jrad-red);
}
.error {
    color: var(--jrad-red);
    font-style: italic;
}
.sidebar-menu li a:hover{color: var(--jrad-red);}
::-webkit-input-placeholder {color: #a8a8a8;}
:-ms-input-placeholder {color: #a8a8a8;}
::placeholder {color: #a8a8a8;}

/* Desktop nav hover/active aligned to brand red */
@media only screen and (min-width: 781px){
	.wsmenu-list > li > a:hover,
	.wsmenu-list > li > a.active{
		background-color: rgba(202,32,42,0.08) !important;
		color: var(--jrad-red) !important;
		border-top-color: var(--jrad-red) !important;
	}
}

/* ---- Responsive: tablet / laptop ---- */
@media only screen and (max-width: 1200px){
	.wsmenu-list > li > a {
		display: block;
		color: #000;
		padding: 10px 15px;
		font-size: 13px;
		text-decoration: none;
		position: relative;
		font-family: OpenSans-Regular;
		border-top: 2px solid transparent;
	}
	.heading-font {
		font-size: 34px;
	}
	.site-title {
		font-size: 30px;
	}
	.site-header .site-title {
		font-size: 30px;
	}
	.site-header .site-tagline {
		font-size: 13px;
	}
	.logo-font {
		font-size: 15px;
	}
	.search-text {
		width: 180px;
	}
	.nav-wrap {
		padding-right: 200px;
	}
}

@media only screen and (max-width: 992px){
	.heading-font {
		font-size: 28px;
	}
	.site-title {
		font-size: 24px;
		margin-bottom: 6px;
	}
	.site-header .site-title {
		font-size: 24px;
		margin-bottom: 6px;
	}
	.logo-img {
		width: 76px;
	}
	.logo {
		gap: 16px;
	}
	.site-tagline {
		font-size: 13px;
	}
	.site-header .site-tagline {
		font-size: 13px;
	}
	.site-meta {
		font-size: 12px;
	}
	.site-header .site-meta {
		font-size: 12px;
	}
	.logo-font {
		font-size: 14px;
	}
	h1 {
		font-size: 28px;
	}
	h2 {
		font-size: 24px;
	}
	.sidebar-menu li a {
		font-size: 14px;
	}
	.font-28 {
		font-size: 25px;
	}
	.c-box {
		padding: 18px 18px;
	}
}

/* ---- Responsive: mobile nav breakpoint (matches webslidemenu) ---- */
@media only screen and (max-width: 780px){
	.container-fluid {
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}
	.site-header {
		padding: 0.9rem 0 0.85rem;
	}
	.logo {
		align-items: flex-start;
		gap: 12px;
	}
	.logo-img {
		width: 58px;
	}
	.site-title {
		font-size: 18px;
		line-height: 1.25;
		margin-bottom: 6px;
	}
	.site-header .site-title {
		font-size: 18px;
		line-height: 1.25;
		margin-bottom: 6px;
	}
	.site-tagline {
		font-size: 12px;
		line-height: 1.45;
		margin-bottom: 3px;
	}
	.site-header .site-tagline {
		font-size: 12px;
		line-height: 1.45;
		margin-bottom: 3px;
		color: #6b6b6b;
	}
	.site-meta {
		font-size: 11px;
	}
	.site-header .site-meta {
		font-size: 11px;
		color: #8a8a8a;
		margin: 0;
	}
	.site-meta-label {
		font-size: 10px;
	}
	.site-header .site-meta-label {
		font-size: 10px;
	}
	.heading-font {
		font-size: 20px;
		line-height: 1.25;
	}
	.logo-font {
		font-size: 13px;
		line-height: 1.4;
	}
	.navigation {
		min-height: 52px;
		padding: 6px 0;
	}
	.menu {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}
	.nav-wrap {
		flex: 0 0 auto;
		width: auto;
		padding-right: 0;
	}
	.wsmenuexpandermain {
		position: relative !important;
		display: flex !important;
		align-items: center;
		height: 40px;
		width: 44px;
	}
	.animated-arrow {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		margin: 0 !important;
		padding: 10px 8px !important;
		opacity: 1;
		z-index: 5;
	}
	.wsmenuexpandermain .menuopen {
		left: auto !important;
		margin-top: 0 !important;
	}
	.search {
		position: relative;
		right: auto;
		top: auto;
		flex: 1;
		min-width: 0;
		margin-left: 0;
	}
	.search-form {
		width: 100%;
	}
	.search-text {
		width: 100%;
		max-width: none;
		height: 38px;
		line-height: 38px;
		font-size: 15px;
		margin: 0;
		padding-right: 42px;
	}
	.search-btn {
		padding: 8px 10px;
		min-width: 40px;
		min-height: 40px;
	}
	.search-icon {
		font-size: 18px;
	}
	.slider {
		padding-top: 1.5rem !important;
		padding-bottom: 1.5rem !important;
	}
	h1 {
		font-size: 24px;
		line-height: 1.3;
	}
	h2 {
		font-size: 22px;
	}
	h3 {
		font-size: 18px;
		line-height: 1.35;
	}
	.font-25 {
		font-size: 18px;
	}
	.font-20 {
		font-size: 16px;
	}
	.font-18 {
		font-size: 16px;
	}
	.font-28 {
		font-size: 20px;
	}
	p {
		font-size: 15px;
		line-height: 1.55;
	}
	.custom-html p,
	.custom-html ul li,
	ol li {
		font-size: 15px;
	}
	.custom-html ul li {
		margin-left: 22px;
	}
	.indent {
		margin-left: 16px;
	}
	.sidebar-col {
		margin-top: 1.75rem;
	}
	.sidebar-menu li {
		min-height: 48px;
		padding: 6px 0;
	}
	.sidebar-menu li a {
		font-size: 15px;
	}
	.book {
		margin-top: 8px;
		max-width: 220px;
		margin-left: auto;
		margin-right: auto;
	}
	.c-box {
		padding: 16px;
		margin-top: 20px;
	}
	.c-box .d-flex.mt-3,
	.article-actions {
		flex-wrap: wrap;
		gap: 10px;
	}
	.light-blue-btn,
	.green-btn,
	.red-btn,
	.yellow-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 40px;
		padding: 8px 18px;
		margin-right: 0 !important;
	}
	.icon-btn {
		padding: 10px 20px;
	}
	hr:before {
		width: 74px;
	}
	footer .footer-font {
		font-size: 12px;
		line-height: 1.45;
		text-align: center;
	}
	.footer-grid{
		grid-template-columns: 1fr;
		gap: 1.5rem;
		text-align: left;
	}
	.site-footer{
		padding-top: 1.75rem;
	}
	.footer-bottom{
		text-align: center;
	}
}

@media only screen and (max-width: 480px){
	.logo-img {
		width: 50px;
	}
	.site-title {
		font-size: 16px;
	}
	.site-header .site-title {
		font-size: 16px;
	}
	.site-tagline {
		font-size: 11px;
	}
	.site-header .site-tagline {
		font-size: 11px;
	}
	.heading-font {
		font-size: 17px;
	}
	.logo-font {
		font-size: 12px;
	}
	h1 {
		font-size: 22px;
	}
	.c-box .d-flex.mt-3,
	.article-actions {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
	}
	.light-blue-btn,
	.green-btn,
	.red-btn,
	.yellow-btn {
		width: 100%;
	}
}