/* =========================================================
   JMDET FOOTER
   Distinct engineering-inspired design
   Same color family as JMDET header
   ========================================================= */

.jmdet-footer {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;
	--jmdet-white: #ffffff;
	--jmdet-soft: #dcecf5;

	position: relative;
	width: 100%;
	color: var(--jmdet-white);
	font-family: inherit;
	overflow: hidden;
	background: var(--jmdet-deep);
}

.jmdet-footer *,
.jmdet-footer *::before,
.jmdet-footer *::after {
	box-sizing: border-box;
}


/* =========================================================
   TOP ACCENT
   ========================================================= */

.jmdet-footer__accent {
	position: relative;
	height: 6px;
	display: flex;
	width: 100%;
	overflow: hidden;
}

.jmdet-footer__accent span:nth-child(1) {
	width: 35%;
	background: var(--jmdet-green);
}

.jmdet-footer__accent span:nth-child(2) {
	width: 30%;
	background: var(--jmdet-green-light);
}

.jmdet-footer__accent span:nth-child(3) {
	flex: 1;
	background: var(--jmdet-cyan);
}


/* =========================================================
   MAIN FOOTER
   ========================================================= */

.jmdet-footer__main {
	position: relative;
	background:
		linear-gradient(
			135deg,
			#0d2c4d 0%,
			#123a63 45%,
			#0b6fa4 100%
		);
	padding: 65px 30px 55px;
	overflow: hidden;
}


/* subtle engineering glow */

.jmdet-footer__glow {
	position: absolute;
	width: 500px;
	height: 500px;
	right: -180px;
	top: -250px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.07);
	box-shadow:
		0 0 0 45px rgba(255,255,255,.025),
		0 0 0 90px rgba(255,255,255,.018);
	pointer-events: none;
}


/* =========================================================
   INNER CONTAINER
   ========================================================= */

.jmdet-footer__inner {
	position: relative;
	z-index: 3;

	width: min(1400px, 100%);
	margin: 0 auto;

	display: grid;

	grid-template-columns:
		minmax(280px, 1.5fr)
		minmax(150px, .8fr)
		minmax(170px, .9fr)
		minmax(260px, 1.2fr);

	gap: 50px;
}


/* =========================================================
   BRAND
   ========================================================= */

.jmdet-footer__brand {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	min-width: 0;
}

.jmdet-footer__logo {
	width: 92px;
	height: 92px;

	flex: 0 0 92px;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 8px;

	background: rgba(255,255,255,.96);

	border-radius: 18px;

	box-shadow:
		0 12px 30px rgba(0,0,0,.20);
}

.jmdet-footer__logo img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: contain;
}

.jmdet-footer__brand-text {
	min-width: 0;
	padding-top: 3px;
}

.jmdet-footer__title {
	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 22px;
	line-height: 1.25;

	font-weight: 700;

	color: #fff;
}

.jmdet-footer__acronym {
	margin-top: 5px;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	color: var(--jmdet-green-light);
}

.jmdet-footer__tagline {
	margin: 13px 0 0;

	font-size: 10px;
	font-weight: 700;

	letter-spacing: 2px;

	color: #cfe8f5;
}


/* =========================================================
   COLUMNS
   ========================================================= */

.jmdet-footer__column {
	min-width: 0;
}

.jmdet-footer__heading {
	font-size: 15px;
	font-weight: 800;

	color: #fff;

	letter-spacing: .5px;
}

.jmdet-footer__heading-line {
	position: relative;

	width: 45px;
	height: 3px;

	margin-top: 11px;
	margin-bottom: 20px;

	border-radius: 10px;

	background: linear-gradient(
		90deg,
		var(--jmdet-green),
		var(--jmdet-green-light)
	);
}


/* =========================================================
   LINKS
   ========================================================= */

.jmdet-footer__links {
	margin: 0;
	padding: 0;

	list-style: none;
}

.jmdet-footer__links li {
	margin: 0;
	padding: 0;
}

.jmdet-footer__links li + li {
	margin-top: 11px;
}

.jmdet-footer__links a {
	display: inline-flex;
	align-items: center;

	gap: 8px;

	color: #d9ebf5;

	font-size: 12px;
	font-weight: 500;

	text-decoration: none;

	transition:
		color .2s ease,
		transform .2s ease;
}

.jmdet-footer__links a span {
	color: var(--jmdet-green-light);

	font-size: 17px;
	line-height: 1;

	transition: transform .2s ease;
}

.jmdet-footer__links a:hover {
	color: #fff;

	transform: translateX(4px);
}

.jmdet-footer__links a:hover span {
	transform: translateX(3px);
}


/* =========================================================
   CONTACT
   ========================================================= */

.jmdet-footer__contact-item {
	display: flex;
	align-items: flex-start;

	gap: 12px;

	margin-bottom: 16px;
}

.jmdet-footer__contact-icon {
	width: 32px;
	height: 32px;

	flex: 0 0 32px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 9px;

	background: rgba(58,166,85,.16);

	border: 1px solid rgba(125,207,90,.25);

	color: var(--jmdet-green-light);

	font-size: 15px;
}

.jmdet-footer__contact-item div:last-child {
	display: flex;
	flex-direction: column;

	gap: 3px;

	min-width: 0;
}

.jmdet-footer__contact-item strong {
	font-size: 11px;
	color: #fff;
}

.jmdet-footer__contact-item span {
	font-size: 10px;
	line-height: 1.45;
	color: #c5dfec;
}


/* =========================================================
   DECORATIVE ENGINEERING DIAGRAM
   ========================================================= */

.jmdet-footer__diagram {
	position: absolute;

	right: -30px;
	bottom: -35px;

	width: 360px;
	height: 150px;

	opacity: .12;

	transform: rotate(-8deg);

	pointer-events: none;
}

.jmdet-footer__diagram span {
	position: absolute;

	display: block;

	border: 1px solid #fff;
}

.jmdet-footer__diagram span:nth-child(1) {
	width: 260px;
	height: 80px;

	right: 0;
	bottom: 0;

	transform: skewX(-25deg);
}

.jmdet-footer__diagram span:nth-child(2) {
	width: 180px;
	height: 55px;

	right: 70px;
	bottom: 30px;

	transform: skewX(-25deg);
}

.jmdet-footer__diagram span:nth-child(3) {
	width: 90px;
	height: 90px;

	right: 40px;
	bottom: 15px;

	border-radius: 50%;
}

.jmdet-footer__diagram span:nth-child(4) {
	width: 12px;
	height: 12px;

	right: 120px;
	bottom: 55px;

	background: #fff;
	border-radius: 50%;
}


/* =========================================================
   BOTTOM BAR
   ========================================================= */

.jmdet-footer__bottom {
	position: relative;

	background: #092642;

	border-top: 1px solid rgba(255,255,255,.09);
}

.jmdet-footer__bottom-inner {
	width: min(1400px, calc(100% - 50px));

	min-height: 58px;

	margin: 0 auto;

	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 20px;
}

.jmdet-footer__copyright {
	color: #a9c9da;

	font-size: 10px;

	line-height: 1.5;
}

.jmdet-footer__separator {
	margin: 0 7px;

	color: var(--jmdet-green);
}

.jmdet-footer__powered {
	display: flex;
	align-items: center;

	gap: 6px;

	color: #9ebdce;

	font-size: 10px;
}

.jmdet-footer__powered a {
	color: var(--jmdet-green-light);

	text-decoration: none;

	font-weight: 700;
}

.jmdet-footer__powered a:hover {
	color: #fff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

	.jmdet-footer__inner {
		grid-template-columns:
			1.4fr
			1fr
			1fr;

		gap: 40px;
	}

	.jmdet-footer__contact {
		grid-column: 1 / -1;

		display: grid;

		grid-template-columns: repeat(3, 1fr);

		column-gap: 25px;
	}

	.jmdet-footer__contact .jmdet-footer__heading,
	.jmdet-footer__contact .jmdet-footer__heading-line {
		grid-column: 1 / -1;
	}

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 760px) {

	.jmdet-footer__main {
		padding: 50px 22px 45px;
	}

	.jmdet-footer__inner {
		grid-template-columns: 1fr 1fr;

		gap: 38px 28px;
	}

	.jmdet-footer__brand {
		grid-column: 1 / -1;
	}

	.jmdet-footer__contact {
		grid-column: 1 / -1;

		display: block;
	}

	.jmdet-footer__contact-item {
		margin-bottom: 14px;
	}

	.jmdet-footer__bottom-inner {
		width: calc(100% - 35px);

		padding: 14px 0;

		flex-direction: column;

		align-items: center;

		text-align: center;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-footer {
		margin-top: 45px;
	}

	.jmdet-footer__main {
		padding: 42px 18px 40px;
	}

	.jmdet-footer__inner {
		grid-template-columns: 1fr;

		gap: 30px;
	}

	.jmdet-footer__brand {
		display: flex;
		align-items: center;

		gap: 15px;
	}

	.jmdet-footer__logo {
		width: 70px;
		height: 70px;

		flex-basis: 70px;

		border-radius: 14px;
	}

	.jmdet-footer__title {
		font-size: 17px;
	}

	.jmdet-footer__acronym {
		font-size: 20px;
	}

	.jmdet-footer__tagline {
		font-size: 8px;
		letter-spacing: 1.2px;
	}

	.jmdet-footer__heading {
		font-size: 14px;
	}

	.jmdet-footer__links a {
		font-size: 12px;
	}

	.jmdet-footer__diagram {
		display: none;
	}

	.jmdet-footer__bottom-inner {
		width: calc(100% - 28px);
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-footer__brand {
		align-items: flex-start;
	}

	.jmdet-footer__logo {
		width: 58px;
		height: 58px;

		flex-basis: 58px;
	}

	.jmdet-footer__title {
		font-size: 15px;
	}

	.jmdet-footer__acronym {
		font-size: 18px;
	}

	.jmdet-footer__tagline {
		display: none;
	}

}
.pkp_footer_content {
    text-align: left
}
.pkp_structure_footer_wrapper{
	background:
		linear-gradient(
			135deg,
			#0d2c4d 0%,
			#123a63 45%,
			#0b6fa4 100%
		);
}
/* ============================================================
   JMDET HEADER
   Clean Responsive OJS / PKP Version
   ============================================================ */

.jmdet-header {
    --jmdet-navy: #123A63;
    --jmdet-navy-dark: #0D2C4D;
    --jmdet-blue: #14638F;
    --jmdet-blue-light: #1B709E;

    --jmdet-green: #3AA655;
    --jmdet-green-dark: #1B7A49;
    --jmdet-green-light: #7DCF5A;

    --jmdet-white: #FFFFFF;
    --jmdet-soft: #EEF6F8;

    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;

    color: var(--jmdet-white);
    background: var(--jmdet-navy-dark);

    font-family: Arial, Helvetica, sans-serif;

    z-index: 1000;
}

.jmdet-header *,
.jmdet-header *::before,
.jmdet-header *::after {
    box-sizing: border-box;
}


/* ============================================================
   OJS WRAPPER RESET
   Scoped only to JMDET
   ============================================================ */

.jmdet-header .pkp_head_wrapper,
.jmdet-header__wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ============================================================
   HERO
   ============================================================ */

.jmdet-header__hero {
    position: relative;
    width: 100%;
    min-height: 365px;

    overflow: hidden;

    background-color: #F5FAFC;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

.jmdet-header__hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.02),
            rgba(13,44,77,.06)
        );

    pointer-events: none;
}


/* ============================================================
   HERO INNER
   ============================================================ */

.jmdet-header__hero-inner {
    position: relative;
    z-index: 2;

    width: min(1450px, calc(100% - 60px));
    min-height: 365px;

    margin: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}


/* ============================================================
   BRAND
   ============================================================ */

.jmdet-header__brand {
    display: flex;
    align-items: center;

    min-width: 0;
    max-width: 900px;

    padding: 30px 0;
}


/* ============================================================
   LOGO
   ============================================================ */

.jmdet-header__logo {
    width: 155px;
    min-width: 155px;
    height: 155px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;
}

.jmdet-header__logo-link {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none !important;
}

.jmdet-header__logo img {
    display: block;

    width: auto;
    height: auto;

    max-width: 150px;
    max-height: 150px;

    object-fit: contain;
}


/* ============================================================
   DIVIDER
   ============================================================ */

.jmdet-header__divider {
    width: 2px;
    height: 150px;

    flex: 0 0 2px;

    margin: 0 30px;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(18,58,99,.65),
            transparent
        );
}


/* ============================================================
   JOURNAL IDENTITY
   ============================================================ */

.jmdet-header__identity {
    min-width: 0;
}

.jmdet-header__eyebrow {
    margin: 0 0 8px;

    color: var(--jmdet-blue);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 2px;
    line-height: 1.3;

    text-transform: uppercase;
}

.jmdet-header__title {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--jmdet-navy) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(30px, 3.2vw, 52px);
    font-weight: 700;

    line-height: 1.08;
    letter-spacing: -.7px;
}

.jmdet-header__acronym {
    margin-top: 7px;

    color: var(--jmdet-green);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(23px, 2.2vw, 36px);
    font-weight: 700;

    line-height: 1;
}

.jmdet-header__tagline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px;

    margin-top: 18px;

    color: var(--jmdet-blue);

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 2.5px;
    line-height: 1.5;
}

.jmdet-header__tagline span {
    color: var(--jmdet-green);
    font-weight: 800;
}


/* ============================================================
   ENGINEERING BADGE
   ============================================================ */

.jmdet-header__badge {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;

    min-width: 155px;

    color: #ffffff;

    font-size: 11px;
    line-height: 1.7;

    letter-spacing: 1.8px;

    text-align: right;
    text-transform: uppercase;
}

.jmdet-header__badge strong {
    color: #ffffff;

    font-size: 15px;
    letter-spacing: 1px;
}

.jmdet-header__badge-line {
    width: 60px;
    height: 3px;

    margin-bottom: 10px;

    background:
        linear-gradient(
            90deg,
            var(--jmdet-green),
            var(--jmdet-green-light)
        );

    border-radius: 10px;
}


/* ============================================================
   HAMBURGER
   ============================================================ */

.jmdet-header__mobile-toggle {
    display: none;

    position: absolute;
    top: 18px;
    right: 18px;

    width: 44px;
    height: 44px;

    padding: 0;

    border: 1px solid rgba(18,58,99,.25);
    border-radius: 10px;

    background: rgba(255,255,255,.95);

    cursor: pointer;

    z-index: 20000;
}

.jmdet-header__mobile-toggle span {
    position: absolute;
    left: 10px;
    right: 10px;

    height: 2px;

    background: var(--jmdet-navy);

    border-radius: 3px;

    transition:
        transform .2s ease,
        opacity .2s ease,
        top .2s ease;
}

.jmdet-header__mobile-toggle span:nth-child(1) {
    top: 13px;
}

.jmdet-header__mobile-toggle span:nth-child(2) {
    top: 21px;
}

.jmdet-header__mobile-toggle span:nth-child(3) {
    top: 29px;
}


/* Hamburger → X */

.jmdet-header.is-mobile-open
.jmdet-header__mobile-toggle span:nth-child(1) {
    top: 21px;
    transform: rotate(45deg);
}

.jmdet-header.is-mobile-open
.jmdet-header__mobile-toggle span:nth-child(2) {
    opacity: 0;
}

.jmdet-header.is-mobile-open
.jmdet-header__mobile-toggle span:nth-child(3) {
    top: 21px;
    transform: rotate(-45deg);
}


/* ============================================================
   NAVIGATION BAR
   ============================================================ */

.jmdet-header__nav {
    position: relative;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    background:
        linear-gradient(
            110deg,
            var(--jmdet-navy-dark),
            var(--jmdet-navy) 45%,
            var(--jmdet-blue)
        );

    border: 0 !important;
    border-bottom: 4px solid var(--jmdet-green);

    box-shadow:
        0 10px 28px rgba(13,44,77,.18);

    z-index: 5000;
}

.jmdet-header__nav-inner {
    width: min(1500px, calc(100% - 40px));
    min-height: 68px;

    margin: auto;

    display: flex;
    align-items: stretch;
}


/* ============================================================
   PRIMARY MENU
   ============================================================ */

.jmdet-header__menu {
    position: relative;

    flex: 1 1 auto;
    min-width: 0;

    overflow: visible;
}

.jmdet-header__menu .jmdet-primary-menu {
    display: flex !important;
    align-items: stretch !important;

    width: 100%;
    height: 68px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.jmdet-header__menu
.jmdet-primary-menu > li {
    position: relative;

    display: flex !important;
    align-items: stretch;

    flex: 0 1 auto;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* ============================================================
   PRIMARY LINKS
   ============================================================ */

.jmdet-header__menu
.jmdet-primary-menu > li > a {
    position: relative;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 68px;

    padding: 0 15px !important;

    color: #F2F7FA !important;
    background: transparent !important;

    border: 0 !important;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px !important;
    font-weight: 700 !important;

    letter-spacing: .25px;
    line-height: 1.2;

    text-decoration: none !important;
    text-transform: uppercase;

    white-space: nowrap;

    transition:
        background .2s ease,
        color .2s ease;
}


/* Hover line */

.jmdet-header__menu
.jmdet-primary-menu > li > a::before {
    content: "";

    position: absolute;
    left: 50%;
    bottom: 0;

    width: 0;
    height: 3px;

    background: var(--jmdet-green-light);

    transform: translateX(-50%);

    transition: width .2s ease;
}

.jmdet-header__menu
.jmdet-primary-menu > li:hover > a,
.jmdet-header__menu
.jmdet-primary-menu > li:focus-within > a {
    color: #fff !important;
    background: rgba(255,255,255,.07) !important;
}

.jmdet-header__menu
.jmdet-primary-menu > li:hover > a::before,
.jmdet-header__menu
.jmdet-primary-menu > li:focus-within > a::before {
    width: 55%;
}


/* ============================================================
   DROPDOWN ARROW
   ============================================================ */

.jmdet-header__menu
.jmdet-primary-menu > li > a[aria-haspopup="true"]::after,
.jmdet-header__menu
.jmdet-primary-menu > li.has_submenu > a::after {
    content: "";

    width: 6px;
    height: 6px;

    margin-left: 8px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg);

    transition: transform .2s ease;
}

.jmdet-header__menu
.jmdet-primary-menu > li:hover > a::after,
.jmdet-header__menu
.jmdet-primary-menu > li:focus-within > a::after {
    transform: rotate(225deg);
}


/* ============================================================
   DESKTOP DROPDOWNS
   ============================================================ */

.jmdet-header__menu
.jmdet-primary-menu li {
    position: relative;
}

.jmdet-header__menu
.jmdet-primary-menu li > ul {
    position: absolute !important;

    top: 100% !important;
    left: 0 !important;

    min-width: 220px;

    margin: 0 !important;
    padding: 8px !important;

    background: #fff !important;

    border: 1px solid #DCE7ED !important;
    border-top: 3px solid var(--jmdet-green) !important;

    border-radius: 0 0 10px 10px !important;

    box-shadow:
        0 16px 35px rgba(13,44,77,.20) !important;

    list-style: none !important;

    visibility: hidden;
    opacity: 0;

    pointer-events: none;

    transform: translateY(5px);

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;

    z-index: 10000;
}

.jmdet-header__menu
.jmdet-primary-menu li:hover > ul,
.jmdet-header__menu
.jmdet-primary-menu li:focus-within > ul,
.jmdet-header__menu
.jmdet-primary-menu li.is-submenu-open > ul {
    visibility: visible;
    opacity: 1;

    pointer-events: auto;

    transform: translateY(0);
}


/* Dropdown items */

.jmdet-header__menu
.jmdet-primary-menu li > ul > li {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.jmdet-header__menu
.jmdet-primary-menu li > ul > li > a {
    display: flex !important;
    align-items: center;

    width: 100%;
    min-height: 40px;

    padding: 9px 12px !important;

    border-radius: 6px;

    color: var(--jmdet-navy) !important;
    background: transparent !important;

    font-size: 11px !important;
    font-weight: 600 !important;

    line-height: 1.35;

    text-decoration: none !important;
    white-space: normal;

    transition:
        background .18s ease,
        color .18s ease,
        padding-left .18s ease;
}

.jmdet-header__menu
.jmdet-primary-menu li > ul > li > a:hover,
.jmdet-header__menu
.jmdet-primary-menu li > ul > li > a:focus {
    padding-left: 17px !important;

    background: #EDF8F0 !important;
    color: var(--jmdet-green-dark) !important;
}


/* ============================================================
   NESTED DESKTOP DROPDOWN
   ============================================================ */

.jmdet-header__menu
.jmdet-primary-menu li > ul li > ul {
    top: -8px !important;
    left: 100% !important;

    margin-left: 6px !important;

    border-top: 1px solid #DCE7ED !important;
    border-left: 3px solid var(--jmdet-green) !important;

    border-radius: 8px !important;
}


/* ============================================================
   TOOLS
   ============================================================ */

.jmdet-header__tools {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 9px;

    padding: 0 10px 0 12px;
}


/* Search */

.jmdet-header__search {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    min-width: 40px;
    height: 38px;

    padding: 0 13px;

    border: 1px solid rgba(255,255,255,.20);
    border-radius: 20px;

    background: rgba(255,255,255,.07);

    color: #fff !important;

    font-size: 11px;
    font-weight: 600;

    text-decoration: none !important;
    white-space: nowrap;

    transition:
        background .2s ease,
        border-color .2s ease;
}

.jmdet-header__search:hover,
.jmdet-header__search:focus {
    background: rgba(255,255,255,.15);
    border-color: rgba(255,255,255,.35);

    color: #fff !important;
}

.jmdet-header__search .fa {
    font-size: 14px;
}


/* ============================================================
   USER MENU
   ============================================================ */

.jmdet-header__user {
    position: relative;
    z-index: 12000;
}

.jmdet-header__user
.jmdet-user-menu {
    display: flex !important;
    align-items: center;

    gap: 5px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.jmdet-header__user
.jmdet-user-menu > li {
    position: relative;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.jmdet-header__user
.jmdet-user-menu > li > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    gap: 7px;

    height: 38px;
    max-width: 180px;

    padding: 0 13px !important;

    border-radius: 20px !important;

    background:
        linear-gradient(
            135deg,
            var(--jmdet-green),
            var(--jmdet-green-dark)
        ) !important;

    color: #fff !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    text-decoration: none !important;
    white-space: nowrap;

    overflow: hidden;
    text-overflow: ellipsis;
}

.jmdet-header__user
.jmdet-user-menu > li > a:hover {
    background:
        linear-gradient(
            135deg,
            var(--jmdet-green-light),
            var(--jmdet-green)
        ) !important;

    color: #fff !important;
}


/* User dropdown */

.jmdet-header__user
.jmdet-user-menu > li > ul {
    position: absolute !important;
    top: calc(100%) !important;
    min-width: 205px;
	 left: auto !important;
    background: #fff !important;
    border: 1px solid #DCE7ED !important;
    border-top: 3px solid var(--jmdet-green) !important;
    border-radius: 0 0 9px 9px !important;
    box-shadow:
        0 16px 35px rgba(13,44,77,.20) !important;
    list-style: none !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(5px);
    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
    z-index: 13000;
}

.jmdet-header__user
.jmdet-user-menu > li:hover > ul,
.jmdet-header__user
.jmdet-user-menu > li:focus-within > ul,
.jmdet-header__user
.jmdet-user-menu > li.is-submenu-open > ul {
    visibility: visible;
    opacity: 1;

    pointer-events: auto;

    transform: translateY(0);
}

.jmdet-header__user
.jmdet-user-menu > li > ul > li {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.jmdet-header__user
.jmdet-user-menu > li > ul > li > a {
    display: flex !important;
    align-items: center;

    width: 100%;
    min-height: 38px;

    padding: 8px 12px !important;

    border-radius: 6px;

    color: var(--jmdet-navy) !important;
    background: transparent !important;

    font-size: 11px !important;
    font-weight: 600 !important;

    text-decoration: none !important;
}

.jmdet-header__user
.jmdet-user-menu > li > ul > li > a:hover {
    background: #EDF8F0 !important;
    color: var(--jmdet-green-dark) !important;
}


/* ============================================================
   TABLET / SMALL LAPTOP
   901px – 1250px
   ============================================================ */

@media (max-width: 1250px) {

    .jmdet-header__hero {
        min-height: 330px;
    }

    .jmdet-header__hero-inner {
        width: calc(100% - 40px);
        min-height: 330px;
    }

    .jmdet-header__logo {
        width: 125px;
        min-width: 125px;
        height: 125px;
    }

    .jmdet-header__logo img {
        max-width: 120px;
        max-height: 120px;
    }

    .jmdet-header__divider {
        height: 120px;
        margin: 0 22px;
    }

    .jmdet-header__title {
        font-size: 25px;
    }

    .jmdet-header__acronym {
        font-size: 27px;
    }

    .jmdet-header__badge {
        display: none;
    }

    .jmdet-header__menu
    .jmdet-primary-menu > li > a {
        padding-left: 10px !important;
        padding-right: 10px !important;

        font-size: 10px !important;
    }

    .jmdet-header__search-text {
        display: none;
    }
}


/* ============================================================
   TABLET + MOBILE
   <= 900px
   ============================================================ */

@media (max-width: 900px) {

    /* -------------------------
       HERO
       ------------------------- */

    .jmdet-header__hero {
        min-height: 285px;
        background-position: center center !important;
    }

    .jmdet-header__hero-inner {
        width: calc(100% - 30px);
        min-height: 285px;

        justify-content: center;
    }

    .jmdet-header__brand {
        width: 100%;

        justify-content: center;

        padding: 45px 45px 25px 0;
    }

    .jmdet-header__logo {
        width: 105px;
        min-width: 105px;
        height: 105px;
    }

    .jmdet-header__logo img {
        max-width: 100px;
        max-height: 100px;
    }

    .jmdet-header__divider {
        height: 95px;
        margin: 0 17px;
    }

    .jmdet-header__eyebrow {
        font-size: 9px;
        letter-spacing: 1.4px;
    }

    .jmdet-header__title {
        font-size: clamp(25px, 4.5vw, 34px);
        letter-spacing: -.3px;
    }

    .jmdet-header__acronym {
        font-size: 24px;
    }

    .jmdet-header__tagline {
        margin-top: 12px;
        gap: 7px;

        font-size: 9px;
        letter-spacing: 1.6px;
    }


    /* -------------------------
       HAMBURGER
       ------------------------- */

    .jmdet-header__mobile-toggle {
        display: block;
    }


    /* -------------------------
       NAVIGATION
       ------------------------- */

    .jmdet-header__nav {
        border-bottom-width: 3px;
    }

    .jmdet-header__nav-inner {
        width: 100%;
        min-height: 0;

        display: block;
    }


    /* -------------------------
       PRIMARY MENU
       ------------------------- */

    .jmdet-header__menu {
        width: 100%;

        display: block !important;

        max-height: 0;
        overflow: hidden;

        opacity: 0;
        visibility: hidden;

        transition:
            max-height .3s ease,
            opacity .2s ease,
            visibility .2s ease;
    }

    .jmdet-header.is-mobile-open
    .jmdet-header__menu {
        max-height: 80vh;

        overflow-y: auto;
        overflow-x: hidden;

        opacity: 1;
        visibility: visible;
    }

    .jmdet-header__menu
    .jmdet-primary-menu {
        display: block !important;

        width: 100%;
        height: auto;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
    }

    .jmdet-header__menu
    .jmdet-primary-menu > li {
        display: block !important;

        width: 100%;

        border-bottom:
            1px solid rgba(255,255,255,.10);
    }


    /* -------------------------
       MOBILE LINKS
       ------------------------- */

    .jmdet-header__menu
    .jmdet-primary-menu > li > a {
        display: flex !important;

        align-items: center !important;
        justify-content: space-between !important;

        width: 100%;
        min-height: 50px;

        padding: 0 20px !important;

        font-size: 11px !important;

        text-align: left;

        white-space: normal;
    }

    .jmdet-header__menu
    .jmdet-primary-menu > li > a::before {
        display: none !important;
    }


    /* -------------------------
       MOBILE DROPDOWN ARROW
       ------------------------- */

    .jmdet-header__menu
    .jmdet-primary-menu > li > a[aria-haspopup="true"]::after,
    .jmdet-header__menu
    .jmdet-primary-menu > li.has_submenu > a::after {
        flex: 0 0 auto;

        margin-left: 12px;
    }


    /* -------------------------
       MOBILE SUBMENUS
       ------------------------- */

    .jmdet-header__menu
    .jmdet-primary-menu li > ul {
        position: static !important;

        width: 100%;
        min-width: 0;
        max-width: none;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: rgba(0,0,0,.14) !important;

        box-shadow: none !important;

        visibility: visible !important;
        opacity: 1 !important;

        pointer-events: auto !important;

        transform: none !important;

        max-height: 0;
        overflow: hidden;

        transition:
            max-height .25s ease;
    }

    .jmdet-header__menu
    .jmdet-primary-menu li.is-submenu-open > ul {
        max-height: 1000px;
    }


    /* Submenu links */

    .jmdet-header__menu
    .jmdet-primary-menu li > ul > li > a {
        display: flex !important;

        align-items: center;

        min-height: 44px;

        padding: 10px 35px !important;

        color: #EAF4F8 !important;

        background: transparent !important;

        border-radius: 0;
    }

    .jmdet-header__menu
    .jmdet-primary-menu li > ul > li > a:hover,
    .jmdet-header__menu
    .jmdet-primary-menu li > ul > li > a:focus {
        padding-left: 40px !important;

        background: rgba(255,255,255,.08) !important;

        color: #fff !important;
    }


    /* Nested submenu */

    .jmdet-header__menu
    .jmdet-primary-menu li > ul li > ul {
        position: static !important;

        width: 100%;
        min-width: 0;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: rgba(0,0,0,.10) !important;

        box-shadow: none !important;

        visibility: visible !important;
        opacity: 1 !important;

        pointer-events: auto !important;

        transform: none !important;

        max-height: 0;
        overflow: hidden;

        transition:
            max-height .25s ease;
    }

    .jmdet-header__menu
    .jmdet-primary-menu li > ul li.is-submenu-open > ul {
        max-height: 1000px;
    }


    /* -------------------------
       TOOLS
       ------------------------- */

    .jmdet-header__tools {
        width: 100%;

        display: none;

        flex-direction: column;
        align-items: stretch;

        gap: 10px;

        padding: 12px 18px 16px;

        background: rgba(0,0,0,.12);
    }

    .jmdet-header.is-mobile-open
    .jmdet-header__tools {
        display: flex;
    }


    /* Search */

    .jmdet-header__search {
        width: 100%;
        height: 42px;
    }

    .jmdet-header__search-text {
        display: inline;
    }


    /* User */

    .jmdet-header__user {
        width: 100%;
    }

    .jmdet-header__user
    .jmdet-user-menu {
        display: block !important;

        width: 100%;
    }

    .jmdet-header__user
    .jmdet-user-menu > li {
        width: 100%;
    }

    .jmdet-header__user
    .jmdet-user-menu > li > a {
        width: 100%;
        max-width: none;

        height: 42px;
    }


    /* User submenu */

    .jmdet-header__user
    .jmdet-user-menu > li > ul {
        position: static !important;

        width: 100%;
        min-width: 0;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: rgba(0,0,0,.10) !important;

        box-shadow: none !important;

        visibility: visible !important;
        opacity: 1 !important;

        pointer-events: auto !important;

        transform: none !important;

        max-height: 0;
        overflow: hidden;

        transition:
            max-height .25s ease;
    }

    .jmdet-header__user
    .jmdet-user-menu > li.is-submenu-open > ul {
        max-height: 600px;

        padding: 5px 0 !important;
    }

    .jmdet-header__user
    .jmdet-user-menu > li > ul > li > a {
        color: #EAF4F8 !important;

        padding: 10px 25px !important;
    }
}


/* ============================================================
   MOBILE
   <= 600px
   ============================================================ */

@media (max-width: 600px) {

    .jmdet-header__hero {
        min-height: 235px;
        background-position: 60% center !important;
    }

    .jmdet-header__hero-inner {
        width: calc(100% - 20px);
        min-height: 235px;
    }

    .jmdet-header__brand {
        padding: 48px 38px 20px 0;
    }

    .jmdet-header__logo {
        width: 76px;
        min-width: 76px;
        height: 76px;
    }

    .jmdet-header__logo img {
        max-width: 73px;
        max-height: 73px;
    }

    .jmdet-header__divider {
        width: 1px;
        height: 72px;

        margin: 0 12px;
    }

    .jmdet-header__eyebrow {
        display: none;
    }

    .jmdet-header__title {
        font-size: 21px;
        line-height: 1.12;
    }

    .jmdet-header__acronym {
        margin-top: 5px;
        font-size: 18px;
    }

    .jmdet-header__tagline {
        margin-top: 9px;

        gap: 4px;

        font-size: 7px;
        letter-spacing: 1px;
    }

    .jmdet-header__mobile-toggle {
        top: 13px;
        right: 13px;

        width: 40px;
        height: 40px;
    }
}


/* ============================================================
   VERY SMALL PHONES
   <= 420px
   ============================================================ */

@media (max-width: 420px) {

    .jmdet-header__hero,
    .jmdet-header__hero-inner {
        min-height: 205px;
    }

    .jmdet-header__logo {
        width: 62px;
        min-width: 62px;
        height: 62px;
    }

    .jmdet-header__logo img {
        max-width: 60px;
        max-height: 60px;
    }

    .jmdet-header__divider {
        height: 60px;
        margin: 0 9px;
    }

    .jmdet-header__title {
        font-size: 17px;
    }

    .jmdet-header__acronym {
        font-size: 16px;
    }

    .jmdet-header__tagline {
        display: none;
    }
}


/* ============================================================
   EXTRA SMALL WIDTH SAFETY
   <= 360px
   ============================================================ */

@media (max-width: 360px) {

    .jmdet-header__brand {
        padding-right: 32px;
    }

    .jmdet-header__logo {
        width: 55px;
        min-width: 55px;
        height: 55px;
    }

    .jmdet-header__logo img {
        max-width: 53px;
        max-height: 53px;
    }

    .jmdet-header__divider {
        height: 52px;
        margin: 0 7px;
    }

    .jmdet-header__title {
        font-size: 15px;
    }

    .jmdet-header__acronym {
        font-size: 14px;
    }
}
/* ============================================================
   JMDET MOBILE NAVIGATION - OJS OVERRIDE
   IMPORTANT: Must be AFTER OJS responsive CSS
   ============================================================ */

@media (max-width: 900px) {

    /* Force the JMDET navigation itself to exist on mobile */
    .jmdet-header .jmdet-header__nav,
    .jmdet-header .pkp_site_nav_menu {
        display: block !important;

        position: relative !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        visibility: visible !important;
        opacity: 1 !important;

        overflow: visible !important;

        background:
            linear-gradient(
                110deg,
                #0D2C4D,
                #123A63 45%,
                #14638F
            ) !important;

        z-index: 9999 !important;
    }


    /* Navigation inner must also be visible */
    .jmdet-header .jmdet-header__nav-inner {
        display: block !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        visibility: visible !important;
        opacity: 1 !important;
    }


    /* Menu closed */
    .jmdet-header .jmdet-header__menu {
        display: block !important;

        width: 100% !important;

        max-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        visibility: hidden !important;
        opacity: 0 !important;

        transition:
            max-height .3s ease,
            opacity .2s ease,
            visibility .2s ease;
    }


    /* Menu OPEN */
    .jmdet-header.is-mobile-open .jmdet-header__menu {
        display: block !important;

        width: 100% !important;

        max-height: 75vh !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        visibility: visible !important;
        opacity: 1 !important;
    }


    /* Force OJS primary menu to display */
    .jmdet-header
    .jmdet-header__menu
    .jmdet-primary-menu,
    .jmdet-header
    .jmdet-header__menu
    ul.pkp_navigation_primary {
        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        visibility: visible !important;
        opacity: 1 !important;

        overflow: visible !important;

        list-style: none !important;
    }


    /* Primary menu items */
    .jmdet-header
    .jmdet-primary-menu > li {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;

        border-bottom:
            1px solid rgba(255,255,255,.12) !important;
    }


    /* Primary menu links */
    .jmdet-header
    .jmdet-primary-menu > li > a {
        display: flex !important;

        width: 100% !important;
        min-height: 52px !important;

        align-items: center !important;
        justify-content: space-between !important;

        margin: 0 !important;
        padding: 0 20px !important;

        color: #FFFFFF !important;
        background: transparent !important;

        font-size: 12px !important;
        font-weight: 700 !important;

        text-decoration: none !important;
    }


    /* Remove desktop hover underline */
    .jmdet-header
    .jmdet-primary-menu > li > a::before {
        display: none !important;
    }


    /* ========================================================
       MOBILE SUBMENU
       ======================================================== */

    .jmdet-header
    .jmdet-primary-menu li > ul {
        display: block !important;

        position: static !important;

        width: 100% !important;
        min-width: 0 !important;

        max-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        visibility: visible !important;
        opacity: 1 !important;

        pointer-events: auto !important;

        transform: none !important;

        background: rgba(0,0,0,.18) !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;
    }


    /* OPEN SUBMENU */
    .jmdet-header
    .jmdet-primary-menu li.is-submenu-open > ul {
        max-height: 1000px !important;
    }


    /* Submenu links */
    .jmdet-header
    .jmdet-primary-menu li > ul > li > a {
        display: flex !important;

        width: 100% !important;
        min-height: 45px !important;

        align-items: center !important;

        margin: 0 !important;
        padding: 10px 35px !important;

        color: #EAF4F8 !important;
        background: transparent !important;

        font-size: 11px !important;

        text-decoration: none !important;
    }


    /* Nested submenu */
    .jmdet-header
    .jmdet-primary-menu li > ul li > ul {
        display: block !important;

        position: static !important;

        width: 100% !important;

        max-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        background: rgba(0,0,0,.12) !important;

        border: 0 !important;

        visibility: visible !important;
        opacity: 1 !important;

        transform: none !important;
    }


    .jmdet-header
    .jmdet-primary-menu li > ul li.is-submenu-open > ul {
        max-height: 1000px !important;
    }


    /* ========================================================
       MOBILE TOOLS
       ======================================================== */

    .jmdet-header .jmdet-header__tools {
        display: none !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 14px 18px 18px !important;

        background: rgba(0,0,0,.12) !important;
    }


    .jmdet-header.is-mobile-open .jmdet-header__tools {
        display: flex !important;

        flex-direction: column !important;
        align-items: stretch !important;

        gap: 10px !important;
    }


    /* Search */
    .jmdet-header .jmdet-header__search {
        display: flex !important;

        width: 100% !important;
        height: 42px !important;

        align-items: center !important;
        justify-content: center !important;
    }


    /* User menu */
    .jmdet-header .jmdet-header__user {
        display: block !important;

        width: 100% !important;
    }

    .jmdet-header
    .jmdet-header__user
    .jmdet-user-menu {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .jmdet-header
    .jmdet-header__user
    .jmdet-user-menu > li {
        display: block !important;

        width: 100% !important;
    }

    .jmdet-header
    .jmdet-header__user
    .jmdet-user-menu > li > a {
        display: flex !important;

        width: 100% !important;
        max-width: none !important;
        height: 42px !important;

        align-items: center !important;
        justify-content: center !important;
    }
}
/* ============================================================
   JMDET - AUTOMATIC SUBMENU ARROWS
   Detects ANY <li> that directly contains a <ul>
   Works with OJS dynamic menus
   ============================================================ */


/* ------------------------------------------------------------
   DESKTOP / LAPTOP
   ------------------------------------------------------------ */

@media (min-width: 901px) {

    /* Primary OJS menu */
    .jmdet-header__menu
    .jmdet-primary-menu
    li:has(> ul) > a {

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 8px;
    }


    /* User / Admin menu */
    .jmdet-header__user
    .jmdet-user-menu
    li:has(> ul) > a {

        display: flex !important;
        align-items: center !important;

        gap: 8px;
    }


    /* Arrow */
    .jmdet-header__menu
    .jmdet-primary-menu
    li:has(> ul) > a::after,

    .jmdet-header__user
    .jmdet-user-menu
    li:has(> ul) > a::after {

        content: "";

        display: inline-block;

        width: 7px;
        height: 7px;

        flex: 0 0 7px;

        margin-left: 4px;

        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;

        transform: rotate(45deg);

        transition:
            transform .2s ease;
    }


    /* Rotate when hovering */
    .jmdet-header__menu
    .jmdet-primary-menu
    li:has(> ul):hover > a::after,

    .jmdet-header__menu
    .jmdet-primary-menu
    li:has(> ul):focus-within > a::after,

    .jmdet-header__user
    .jmdet-user-menu
    li:has(> ul):hover > a::after,

    .jmdet-header__user
    .jmdet-user-menu
    li:has(> ul):focus-within > a::after {

        transform: rotate(225deg);
    }
}



/* ============================================================
   TABLET + MOBILE
   <= 900px
   ============================================================ */

@media (max-width: 900px) {

    /* --------------------------------------------------------
       Primary menu parent links
       -------------------------------------------------------- */

    .jmdet-header__menu
    .jmdet-primary-menu
    li:has(> ul) > a {

        position: relative !important;

        display: flex !important;

        align-items: center !important;

        justify-content: space-between !important;

        width: 100% !important;

        padding-right: 52px !important;
    }


    /* --------------------------------------------------------
       User / Admin parent links
       -------------------------------------------------------- */

    .jmdet-header__user
    .jmdet-user-menu
    li:has(> ul) > a {

        position: relative !important;

        display: flex !important;

        align-items: center !important;

        justify-content: space-between !important;

        width: 100% !important;

        padding-right: 52px !important;
    }


    /* --------------------------------------------------------
       DOWN ARROW
       -------------------------------------------------------- */

    .jmdet-header__menu
    .jmdet-primary-menu
    li:has(> ul) > a::after,

    .jmdet-header__user
    .jmdet-user-menu
    li:has(> ul) > a::after {

        content: "";

        position: absolute !important;

        right: 21px;
        top: 50%;

        width: 8px;
        height: 8px;

        margin: 0 !important;

        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;

        transform:
            translateY(-70%)
            rotate(45deg);

        transition:
            transform .2s ease;
    }


    /* --------------------------------------------------------
       OPEN SUBMENU = UP ARROW
       -------------------------------------------------------- */

    .jmdet-header__menu
    .jmdet-primary-menu
    li:has(> ul).is-submenu-open > a::after,

    .jmdet-header__user
    .jmdet-user-menu
    li:has(> ul).is-submenu-open > a::after {

        transform:
            translateY(-25%)
            rotate(225deg);
    }


    /* --------------------------------------------------------
       Keep arrow visible when submenu is focused
       -------------------------------------------------------- */

    .jmdet-header__menu
    .jmdet-primary-menu
    li:has(> ul):focus-within > a::after,

    .jmdet-header__user
    .jmdet-user-menu
    li:has(> ul):focus-within > a::after {

        opacity: 1;
    }
}
/* ============================================================
   JMDET CONTACT PAGE
   Responsive Contact Cards
   ============================================================ */

.contact_section {
    width: 100%;
    max-width: 1100px;

    margin: 50px auto;
    padding: 0 20px;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 28px;

    box-sizing: border-box;
}


/* ============================================================
   CONTACT CARD
   ============================================================ */

.contact_section .contact {
    position: relative;

    background: #ffffff;

    padding: 32px 30px 30px;

    border-radius: 14px;

    border: 1px solid #dbe8ef;

    border-top: 5px solid #14638F;

    box-shadow:
        0 8px 28px rgba(13, 44, 77, 0.10);

    box-sizing: border-box;

    overflow: hidden;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


/* Decorative top accent */

.contact_section .contact::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #D5B45B 0%,
            #14638F 50%,
            #2F96C9 100%
        );
}


/* Hover */

.contact_section .contact:hover {
    transform: translateY(-5px);

    box-shadow:
        0 14px 35px rgba(13, 44, 77, 0.16);

    border-color: #bcd5e2;
}


/* ============================================================
   CONTACT HEADING
   ============================================================ */

.contact_section .contact h2 {
    margin: 0 0 24px;

    padding-bottom: 14px;

    color: #0D2C4D;

    font-family: inherit;

    font-size: 22px;
    font-weight: 700;

    line-height: 1.3;

    border-bottom: 1px solid #dbe8ef;

    position: relative;
}


/* Gold heading underline */

.contact_section .contact h2::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -1px;

    width: 55px;
    height: 3px;

    background: #D5B45B;

    border-radius: 3px;
}


/* ============================================================
   CONTACT NAME
   ============================================================ */

.contact_section .contact .name {
    margin-bottom: 22px;

    color: #123A63;

    font-size: 16px;
    font-weight: 600;

    line-height: 1.6;
}


/* ============================================================
   PHONE
   ============================================================ */

.contact_section .contact .phone {
    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 15px;

    color: #374b59;

    font-size: 15px;

    line-height: 1.5;
}


/* Phone label */

.contact_section .contact .phone .label {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 65px;

    padding: 5px 10px;

    border-radius: 5px;

    background: #eaf4f8;

    color: #0D2C4D;

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.5px;
}


/* Phone value */

.contact_section .contact .phone .value {
    color: #405563;

    font-weight: 500;

    word-break: break-word;
}


/* ============================================================
   EMAIL
   ============================================================ */

.contact_section .contact .email {
    display: flex;

    align-items: center;

    min-height: 42px;

    padding: 0 13px;

    background: #f4f9fb;

    border-left: 3px solid #D5B45B;

    border-radius: 6px;

    box-sizing: border-box;
}


/* Email link */

.contact_section .contact .email a {
    color: #14638F;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    word-break: break-word;

    transition:
        color 0.2s ease;
}


.contact_section .contact .email a:hover {
    color: #0D2C4D;

    text-decoration: underline;
}


/* ============================================================
   PRIMARY CONTACT
   ============================================================ */

.contact_section .contact.primary {
    border-top-color: #14638F;
}


/* ============================================================
   SUPPORT CONTACT
   ============================================================ */

.contact_section .contact.support {
    border-top-color: #D5B45B;
}


/* ============================================================
   OPTIONAL CONTACT ICON EFFECT
   ============================================================ */

.contact_section .contact .phone::before {
    content: "☎";

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    flex: 0 0 30px;

    border-radius: 50%;

    background: #eaf4f8;

    color: #14638F;

    font-size: 14px;
}


/* ============================================================
   TABLET
   901px - 1100px
   ============================================================ */

@media (max-width: 1100px) {

    .contact_section {
        max-width: 950px;

        gap: 22px;

        padding: 0 18px;
    }


    .contact_section .contact {
        padding: 28px 25px;
    }

}


/* ============================================================
   SMALL TABLET
   601px - 900px
   ============================================================ */

@media (max-width: 900px) {

    .contact_section {
        max-width: 750px;

        grid-template-columns: 1fr;

        gap: 22px;

        margin: 40px auto;

        padding: 0 20px;
    }


    .contact_section .contact {
        width: 100%;

        padding: 28px 25px;
    }


    .contact_section .contact h2 {
        font-size: 21px;
    }

}


/* ============================================================
   MOBILE
   <= 600px
   ============================================================ */

@media (max-width: 600px) {

    .contact_section {
        width: 100%;

        margin: 30px auto;

        padding: 0 14px;

        gap: 18px;
    }


    .contact_section .contact {
        padding: 25px 20px;

        border-radius: 11px;
    }


    .contact_section .contact h2 {
        margin-bottom: 20px;

        padding-bottom: 12px;

        font-size: 19px;
    }


    .contact_section .contact .name {
        margin-bottom: 19px;

        font-size: 15px;
    }


    .contact_section .contact .phone {
        gap: 9px;

        font-size: 14px;

        flex-wrap: wrap;
    }


    .contact_section .contact .phone .label {
        min-width: 60px;

        padding: 4px 8px;

        font-size: 11px;
    }


    .contact_section .contact .email {
        min-height: 40px;

        padding: 8px 11px;
    }


    .contact_section .contact .email a {
        font-size: 13px;
    }

}


/* ============================================================
   VERY SMALL PHONES
   <= 420px
   ============================================================ */

@media (max-width: 420px) {

    .contact_section {
        margin: 25px auto;

        padding: 0 10px;

        gap: 15px;
    }


    .contact_section .contact {
        padding: 22px 17px;

        border-radius: 10px;
    }


    .contact_section .contact h2 {
        font-size: 18px;
    }


    .contact_section .contact .name {
        font-size: 14px;

        line-height: 1.5;
    }


    .contact_section .contact .phone {
        display: flex;

        align-items: flex-start;

        flex-direction: column;

        gap: 6px;
    }


    .contact_section .contact .phone::before {
        display: none;
    }


    .contact_section .contact .email {
        width: 100%;
    }


    .contact_section .contact .email a {
        font-size: 12px;
    }

}


/* ============================================================
   EXTRA SMALL PHONES
   <= 360px
   ============================================================ */

@media (max-width: 360px) {

    .contact_section {
        padding: 0 8px;
    }


    .contact_section .contact {
        padding: 20px 15px;
    }


    .contact_section .contact h2 {
        font-size: 17px;
    }


    .contact_section .contact .email a {
        font-size: 11px;
    }

}
/* ============================================================
   JMDET SIDEBAR
   Blue + Gold Color Combination
   ============================================================ */

.pkp_structure_sidebar.left{
    padding:0 20px;
}


/* ---------- shared card shell ---------- */

.pkp_structure_sidebar .pkp_block{
    background:#FFFFFF;

    border:1px solid #DBE8EF;

    border-left:4px solid #14638F;

    border-radius:10px;

    padding:22px;

    margin-bottom:22px;

    box-shadow:0 4px 14px rgba(13,44,77,.07);

    transition:.3s;
}


.pkp_structure_sidebar .pkp_block:hover{
    box-shadow:0 10px 25px rgba(13,44,77,.12);

    border-color:#BCD5E2;
}


/* ---------- block title ---------- */

.pkp_structure_sidebar .pkp_block .title{
    font-family:Georgia,"Times New Roman",serif;

    font-size:16.5px;

    font-weight:700;

    color:#0D2C4D;

    margin:0 0 16px;

    padding-bottom:12px;

    border-bottom:1px solid #DBE8EF;

    position:relative;
}


/* Gold title accent */

.pkp_structure_sidebar .pkp_block .title::after{
    content:"";

    position:absolute;

    left:0;

    bottom:-1px;

    width:45px;

    height:3px;

    background:#D5B45B;

    border-radius:3px;
}


/* ---------- information block ---------- */

.pkp_structure_sidebar .block_information .content ul{
    list-style:none;

    margin:0;

    padding:0;
}


.pkp_structure_sidebar .block_information .content ul li + li{
    margin-top:2px;
}


.pkp_structure_sidebar .block_information .content ul li a{
    display:flex;

    align-items:center;

    gap:8px;

    padding:9px 4px;

    font-size:14.5px;

    color:#14638F;

    text-decoration:none;

    font-weight:600;

    transition:all .25s ease;
}


/* Gold bullet */

.pkp_structure_sidebar .block_information .content ul li a::before{
    content:"";

    width:6px;

    height:6px;

    border-radius:50%;

    background:#D5B45B;

    flex-shrink:0;

    transition:.25s ease;
}


/* Information hover */

.pkp_structure_sidebar .block_information .content ul li a:hover{
    color:#0D2C4D;

    padding-left:8px;
}


.pkp_structure_sidebar .block_information .content ul li a:hover::before{
    background:#2F96C9;

    transform:scale(1.2);
}


/* ---------- web feed block ---------- */

.pkp_structure_sidebar .block_web_feed .content ul{
    display:flex;

    flex-direction:column;

    gap:12px;

    list-style:none;

    margin:0;

    padding:0;
}


.pkp_structure_sidebar .block_web_feed .content ul li{
    display:block;

    width:100%;
}


/* Individual feed row */

.pkp_structure_sidebar .block_web_feed .content ul li a{
    display:flex;

    align-items:center;

    justify-content:flex-start;

    width:100%;

    padding:14px 16px;

    background:#F4F9FB;

    border:1px solid #DBE8EF;

    border-radius:10px;

    transition:all .25s ease;

    box-sizing:border-box;
}


/* Feed hover */

.pkp_structure_sidebar .block_web_feed .content ul li a:hover{
    background:#EAF4F8;

    border-color:#D5B45B;

    transform:translateX(3px);
}


/* Feed logos */

.pkp_structure_sidebar .block_web_feed .content ul li img{
    max-width:80px;

    max-height:40px;

    width:auto;

    height:auto;
}


/* ---------- Navigation Block ---------- */

.pkp_structure_sidebar .block_navigation .content ul{
    list-style:none;

    margin:0;

    padding:0;
}


.pkp_structure_sidebar .block_navigation .content ul li{
    margin-bottom:8px;
}


.pkp_structure_sidebar .block_navigation .content ul li a{
    display:block;

    padding:10px 12px;

    border-radius:6px;

    color:#14638F;

    text-decoration:none;

    transition:.3s;
}


.pkp_structure_sidebar .block_navigation .content ul li a:hover{
    background:#F4F9FB;

    color:#0D2C4D;
}


/* ---------- Search Block ---------- */

.pkp_structure_sidebar .block_search input[type="text"]{
    width:100%;

    border:1px solid #DBE8EF;

    border-radius:6px;

    padding:10px 12px;

    background:#FFFFFF;

    color:#0D2C4D;

    box-sizing:border-box;
}


.pkp_structure_sidebar .block_search input[type="text"]:focus{
    outline:none;

    border-color:#14638F;

    box-shadow:0 0 0 3px rgba(47,150,201,.12);
}


.pkp_structure_sidebar .block_search input[type="submit"]{
    width:100%;

    margin-top:10px;

    background:#14638F;

    color:#FFFFFF;

    border:none;

    border-radius:6px;

    padding:10px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;
}


.pkp_structure_sidebar .block_search input[type="submit"]:hover{
    background:#0D2C4D;
}


/* ---------- Responsive ---------- */

@media (max-width:991px){

    .pkp_structure_sidebar.left{
        padding:0 20px;

        margin-top:10px;
    }

    .pkp_structure_sidebar .pkp_block{
        padding:18px;

        margin-bottom:16px;
    }

}


/* ---------- Mobile ---------- */

@media (max-width:600px){

    .pkp_structure_sidebar.left{
        padding:0 14px;
    }

    .pkp_structure_sidebar .pkp_block{
        padding:16px;

        border-radius:9px;

        margin-bottom:15px;
    }

    .pkp_structure_sidebar .pkp_block .title{
        font-size:16px;

        margin-bottom:14px;
    }

    .pkp_structure_sidebar .block_information .content ul li a{
        font-size:14px;

        padding:9px 3px;
    }

    .pkp_structure_sidebar .block_web_feed .content ul{
        gap:9px;
    }

    .pkp_structure_sidebar .block_web_feed .content ul li a{
        padding:12px 14px;
    }

}
/* =========================================
   DESKTOP — CONTENT + SIDEBAR ALIGNMENT
   ========================================= */
@media (min-width: 1025px) {

    .pkp_structure_content.has_sidebar {
        max-width: 1240px; /* 860px main + 380px sidebar */
        margin-left: auto;
        margin-right: auto;

        display: flex;
        align-items: flex-start;
        gap: 30px;
    }

    .pkp_structure_main {
        float: none !important;
        width: 860px;
        flex: 1 1 860px;
        min-width: 0;
    }

    .pkp_structure_sidebar.left {
        float: none !important;
        width: 350px;
        flex: 0 0 350px;
    }
}


/* =========================================
   TABLET + MOBILE — RESTORE OJS LAYOUT
   ========================================= */
@media (max-width: 1024px) {

    .pkp_structure_content.has_sidebar {
        display: block;
        max-width: 100%;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .pkp_structure_main,
    .pkp_structure_sidebar.left {
        float: none !important;
        width: 100%;
        max-width: 100%;
    }

    .pkp_structure_sidebar.left {
        margin-top: 30px;
    }
}


/* =========================================
   MOBILE
   ========================================= */
@media (max-width: 767px) {

    .pkp_structure_content.has_sidebar {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .pkp_structure_main,
    .pkp_structure_sidebar.left {
        width: 100%;
        max-width: 100%;
        float: none !important;
    }

    .pkp_structure_sidebar.left {
        margin-top: 24px;
    }
}
/* ============================================================
   JMDET LOGIN PAGE
   Blue + Gold Professional Design
   Scoped only to .page_login
   ============================================================ */


/* ---------- Main Login Page ---------- */

.page.page_login{
    max-width:850px;

    margin:35px auto 55px;

    padding:0 25px;

    box-sizing:border-box;

    color:#0D2C4D;
}


/* ============================================================
   BREADCRUMBS
   ============================================================ */

.page.page_login .cmp_breadcrumbs{
    margin-bottom:25px;
}


.page.page_login .cmp_breadcrumbs ol{
    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:7px;

    list-style:none;

    margin:0;

    padding:0;

    font-size:14px;
}


.page.page_login .cmp_breadcrumbs li{
    display:flex;

    align-items:center;

    color:#6B7C87;
}


.page.page_login .cmp_breadcrumbs a{
    color:#14638F;

    text-decoration:none;

    font-weight:600;

    transition:.25s ease;
}


.page.page_login .cmp_breadcrumbs a:hover{
    color:#0D2C4D;
}


.page.page_login .cmp_breadcrumbs .separator{
    margin-left:7px;

    color:#B5C4CC;
}


.page.page_login .cmp_breadcrumbs .current{
    color:#687985;

    font-weight:500;
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.page.page_login > h1{
    position:relative;

    margin:0 0 20px;

    padding-bottom:14px;

    color:#0D2C4D;

    font-family:Georgia,"Times New Roman",serif;

    font-size:34px;

    font-weight:700;

    line-height:1.2;

    border-bottom:1px solid #DBE8EF;
}


.page.page_login > h1::after{
    content:"";

    position:absolute;

    left:0;

    bottom:-1px;

    width:60px;

    height:4px;

    background:#D5B45B;

    border-radius:4px;
}


/* ============================================================
   REQUIRED FIELDS TEXT
   ============================================================ */

.page.page_login > p{
    margin:0 0 24px;

    color:#687985;

    font-size:14px;

    line-height:1.6;
}


.page.page_login abbr.required{
    color:#B08A2E;

    text-decoration:none;

    font-weight:700;
}


/* ============================================================
   LOGIN FORM
   ============================================================ */

.page.page_login form.login{
    position:relative;

    background:#FFFFFF;

    border:1px solid #DBE8EF;

    border-left:4px solid #14638F;

    border-radius:12px;

    padding:30px;

    box-sizing:border-box;

    box-shadow:0 7px 25px rgba(13,44,77,.08);
}


/* Remove default fieldset appearance */

.page.page_login form.login fieldset.fields{
    margin:0;

    padding:0;

    border:0;
}


/* ============================================================
   USERNAME + PASSWORD
   ============================================================ */

.page.page_login .username,
.page.page_login .password{
    margin-bottom:20px;
}


.page.page_login .username label,
.page.page_login .password label{
    display:block;
}


/* Field labels */

.page.page_login .username .label,
.page.page_login .password .label{
    display:block;

    margin-bottom:8px;

    color:#0D2C4D;

    font-size:14px;

    font-weight:700;
}


/* Required asterisk */

.page.page_login .username .required,
.page.page_login .password .required{
    color:#B08A2E;

    font-weight:700;
}


/* Inputs */

.page.page_login .username input,
.page.page_login .password input{
    display:block;

    width:100%;

    min-height:48px;

    padding:11px 14px;

    box-sizing:border-box;

    background:#FFFFFF;

    border:1px solid #C9DCE5;

    border-radius:7px;

    color:#0D2C4D;

    font-size:15px;

    transition:all .25s ease;
}


/* Input hover */

.page.page_login .username input:hover,
.page.page_login .password input:hover{
    border-color:#AFC8D6;
}


/* Input focus */

.page.page_login .username input:focus,
.page.page_login .password input:focus{
    outline:none;

    border-color:#14638F;

    box-shadow:0 0 0 3px rgba(47,150,201,.12);
}


/* ============================================================
   FORGOT PASSWORD
   ============================================================ */

.page.page_login .password a{
    display:inline-block;

    margin-top:9px;

    color:#14638F;

    font-size:13.5px;

    font-weight:600;

    text-decoration:none;

    transition:.25s ease;
}


.page.page_login .password a:hover{
    color:#0D2C4D;

    text-decoration:underline;
}


/* ============================================================
   REMEMBER ME
   ============================================================ */

.page.page_login .remember{
    margin:4px 0 25px;
}


.page.page_login .remember label{
    display:flex;

    align-items:center;

    gap:9px;

    cursor:pointer;
}


.page.page_login .remember input[type="checkbox"]{
    width:17px;

    height:17px;

    margin:0;

    accent-color:#14638F;

    cursor:pointer;
}


.page.page_login .remember .label{
    color:#526774;

    font-size:14px;

    font-weight:500;
}


/* ============================================================
   BUTTON AREA
   ============================================================ */

.page.page_login .buttons{
    display:flex;

    align-items:center;

    gap:12px;

    margin-top:5px;
}


/* ---------- Login Button ---------- */

.page.page_login .buttons button.submit{
    min-width:125px;

    min-height:46px;

    padding:11px 25px;

    background:#14638F;

    border:1px solid #14638F;

    border-radius:7px;

    color:#FFFFFF;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    box-shadow:0 4px 12px rgba(13,44,77,.12);

    transition:all .25s ease;
}


.page.page_login .buttons button.submit:hover{
    background:#0D2C4D;

    border-color:#0D2C4D;

    transform:translateY(-1px);

    box-shadow:0 7px 17px rgba(13,44,77,.18);
}


.page.page_login .buttons button.submit:focus{
    outline:none;

    box-shadow:0 0 0 3px rgba(213,180,91,.30);
}


/* ---------- Register Button ---------- */

.page.page_login .buttons a.register{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:125px;

    min-height:46px;

    padding:10px 24px;

    box-sizing:border-box;

    background:#FFFFFF;

    border:1px solid #D5B45B;

    border-radius:7px;

    color:#14638F;

    font-size:15px;

    font-weight:700;

    text-decoration:none;

    transition:all .25s ease;
}


.page.page_login .buttons a.register:hover{
    background:#D5B45B;

    border-color:#D5B45B;

    color:#0D2C4D;

    transform:translateY(-1px);
}


/* ============================================================
   ACCESSIBILITY
   ============================================================ */

.page.page_login .pkp_screen_reader{
    position:absolute !important;

    width:1px !important;

    height:1px !important;

    padding:0 !important;

    margin:-1px !important;

    overflow:hidden !important;

    clip:rect(0,0,0,0) !important;

    white-space:nowrap !important;

    border:0 !important;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width:991px){

    .page.page_login{
        max-width:780px;

        margin:30px auto 45px;

        padding:0 20px;
    }


    .page.page_login > h1{
        font-size:30px;
    }


    .page.page_login form.login{
        padding:25px;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width:600px){

    .page.page_login{
        margin:25px auto 35px;

        padding:0 15px;
    }


    .page.page_login .cmp_breadcrumbs{
        margin-bottom:20px;
    }


    .page.page_login .cmp_breadcrumbs ol{
        font-size:13px;
    }


    .page.page_login > h1{
        margin-bottom:18px;

        font-size:27px;
    }


    .page.page_login > p{
        margin-bottom:20px;

        font-size:13.5px;
    }


    .page.page_login form.login{
        padding:20px;

        border-left-width:3px;

        border-radius:9px;
    }


    .page.page_login .username,
    .page.page_login .password{
        margin-bottom:18px;
    }


    .page.page_login .username input,
    .page.page_login .password input{
        min-height:46px;

        font-size:14px;
    }


    /* Buttons stack on small screens */

    .page.page_login .buttons{
        flex-direction:column;

        align-items:stretch;

        gap:10px;
    }


    .page.page_login .buttons button.submit,
    .page.page_login .buttons a.register{
        width:100%;

        min-height:46px;
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media (max-width:420px){

    .page.page_login{
        padding:0 12px;
    }


    .page.page_login > h1{
        font-size:24px;
    }


    .page.page_login form.login{
        padding:16px;
    }


    .page.page_login .remember .label{
        font-size:13px;
    }

}
/* ============================================================
   JMDET REGISTER PAGE
   Blue + Gold Professional Design
   Scoped only to .page_register
   ============================================================ */


/* ============================================================
   MAIN REGISTER PAGE
   ============================================================ */

.page.page_register{
    max-width:1050px;

    margin:35px auto 55px;

    padding:0 25px;

    box-sizing:border-box;

    color:#0D2C4D;
}


/* ============================================================
   BREADCRUMBS
   ============================================================ */

.page.page_register .cmp_breadcrumbs{
    margin-bottom:25px;
}


.page.page_register .cmp_breadcrumbs ol{
    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:7px;

    list-style:none;

    margin:0;

    padding:0;

    font-size:14px;
}


.page.page_register .cmp_breadcrumbs li{
    display:flex;

    align-items:center;

    color:#6B7C87;
}


.page.page_register .cmp_breadcrumbs a{
    color:#14638F;

    text-decoration:none;

    font-weight:600;

    transition:.25s ease;
}


.page.page_register .cmp_breadcrumbs a:hover{
    color:#0D2C4D;
}


.page.page_register .cmp_breadcrumbs .separator{
    margin-left:7px;

    color:#B5C4CC;
}


.page.page_register .cmp_breadcrumbs .current{
    color:#687985;

    font-weight:500;
}


/* ============================================================
   PAGE HEADING
   ============================================================ */

.page.page_register > h1{
    position:relative;

    margin:0 0 20px;

    padding-bottom:14px;

    color:#0D2C4D;

    font-family:Georgia,"Times New Roman",serif;

    font-size:34px;

    font-weight:700;

    line-height:1.2;

    border-bottom:1px solid #DBE8EF;
}


.page.page_register > h1::after{
    content:"";

    position:absolute;

    left:0;

    bottom:-1px;

    width:65px;

    height:4px;

    background:#D5B45B;

    border-radius:4px;
}


/* ============================================================
   REQUIRED FIELD MESSAGE
   ============================================================ */

.page.page_register > p{
    margin:0 0 25px;

    color:#687985;

    font-size:14px;

    line-height:1.6;
}


.page.page_register abbr.required{
    color:#B08A2E;

    text-decoration:none;

    font-weight:700;
}


/* ============================================================
   MAIN REGISTER FORM
   ============================================================ */

.page.page_register form.register{
    background:#FFFFFF;

    border:1px solid #DBE8EF;

    border-left:4px solid #14638F;

    border-radius:12px;

    padding:30px;

    box-sizing:border-box;

    box-shadow:0 7px 25px rgba(13,44,77,.08);
}


/* ============================================================
   ALL FIELDSETS
   ============================================================ */

.page.page_register form.register fieldset{
    margin:0 0 25px;

    padding:24px;

    background:#F4F9FB;

    border:1px solid #DBE8EF;

    border-radius:10px;

    box-sizing:border-box;
}


/* Fieldset legends */

.page.page_register form.register fieldset > legend{
    padding:0 10px;

    color:#0D2C4D;

    font-family:Georgia,"Times New Roman",serif;

    font-size:19px;

    font-weight:700;
}


/* ============================================================
   PROFILE SECTION
   ============================================================ */

.page.page_register fieldset.identity .fields{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;
}


/* Profile fields */

.page.page_register fieldset.identity .given_name,
.page.page_register fieldset.identity .family_name,
.page.page_register fieldset.identity .affiliation,
.page.page_register fieldset.identity .country{
    min-width:0;
}


/* Affiliation full width */

.page.page_register fieldset.identity .affiliation{
    grid-column:1 / -1;
}


/* ============================================================
   LOGIN SECTION
   ============================================================ */

.page.page_register fieldset.login .fields{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;
}


/* ============================================================
   FIELD LABELS
   ============================================================ */

.page.page_register .fields label{
    display:block;
}


.page.page_register .fields .label{
    display:block;

    margin-bottom:8px;

    color:#0D2C4D;

    font-size:14px;

    font-weight:700;
}


/* Required marker */

.page.page_register .fields .required{
    color:#B08A2E;

    font-weight:700;
}


/* ============================================================
   TEXT INPUTS + EMAIL + PASSWORD + SELECT
   ============================================================ */

.page.page_register .fields input[type="text"],
.page.page_register .fields input[type="email"],
.page.page_register .fields input[type="password"],
.page.page_register .fields select{
    display:block;

    width:100%;

    min-height:47px;

    padding:10px 13px;

    box-sizing:border-box;

    background:#FFFFFF;

    border:1px solid #C9DCE5;

    border-radius:7px;

    color:#0D2C4D;

    font-size:14px;

    transition:all .25s ease;
}


/* Hover */

.page.page_register .fields input[type="text"]:hover,
.page.page_register .fields input[type="email"]:hover,
.page.page_register .fields input[type="password"]:hover,
.page.page_register .fields select:hover{
    border-color:#AFC8D6;
}


/* Focus */

.page.page_register .fields input[type="text"]:focus,
.page.page_register .fields input[type="email"]:focus,
.page.page_register .fields input[type="password"]:focus,
.page.page_register .fields select:focus{
    outline:none;

    border-color:#14638F;

    box-shadow:0 0 0 3px rgba(47,150,201,.12);
}


/* Country dropdown */

.page.page_register .fields select{
    cursor:pointer;

    appearance:auto;
}


/* ============================================================
   PRIVACY + EMAIL CONSENT
   ============================================================ */

.page.page_register fieldset.consent{
    background:#FFFFFF;

    border-left:4px solid #D5B45B;
}


.page.page_register fieldset.consent .fields{
    margin:0;
}


.page.page_register fieldset.consent .fields + .fields{
    margin-top:14px;
}


.page.page_register .optin label{
    display:flex;

    align-items:flex-start;

    gap:10px;

    color:#526774;

    font-size:14px;

    line-height:1.6;

    cursor:pointer;
}


.page.page_register .optin input[type="checkbox"]{
    flex:0 0 auto;

    width:17px;

    height:17px;

    margin:3px 0 0;

    accent-color:#14638F;

    cursor:pointer;
}


/* Privacy link */

.page.page_register .optin a{
    color:#14638F;

    font-weight:700;

    text-decoration:none;

    transition:.25s ease;
}


.page.page_register .optin a:hover{
    color:#0D2C4D;

    text-decoration:underline;
}


/* ============================================================
   REVIEWER SECTION
   ============================================================ */

.page.page_register fieldset.reviewer{
    background:#F4F9FB;

    border-left:4px solid #14638F;
}


.page.page_register fieldset.reviewer .fields{
    margin:0;
}


.page.page_register fieldset.reviewer .reviewer_interests{
    margin-top:18px;
}


.page.page_register fieldset.reviewer .reviewer_interests .label{
    display:block;

    margin-bottom:8px;

    color:#0D2C4D;

    font-size:14px;

    font-weight:700;
}


.page.page_register fieldset.reviewer .reviewer_interests input{
    display:block;

    width:100%;

    min-height:46px;

    padding:10px 13px;

    box-sizing:border-box;

    background:#FFFFFF;

    border:1px solid #C9DCE5;

    border-radius:7px;

    color:#0D2C4D;

    font-size:14px;

    transition:.25s ease;
}


.page.page_register fieldset.reviewer .reviewer_interests input:focus{
    outline:none;

    border-color:#14638F;

    box-shadow:0 0 0 3px rgba(47,150,201,.12);
}


/* ============================================================
   BUTTONS
   ============================================================ */

.page.page_register form.register > .buttons{
    display:flex;

    align-items:center;

    gap:12px;

    margin-top:5px;
}


/* ---------- Register Button ---------- */

.page.page_register .buttons button.submit{
    min-width:135px;

    min-height:47px;

    padding:11px 26px;

    background:#14638F;

    border:1px solid #14638F;

    border-radius:7px;

    color:#FFFFFF;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    box-shadow:0 4px 12px rgba(13,44,77,.12);

    transition:all .25s ease;
}


.page.page_register .buttons button.submit:hover{
    background:#0D2C4D;

    border-color:#0D2C4D;

    transform:translateY(-1px);

    box-shadow:0 7px 17px rgba(13,44,77,.18);
}


.page.page_register .buttons button.submit:focus{
    outline:none;

    box-shadow:0 0 0 3px rgba(213,180,91,.30);
}


/* ---------- Login Button ---------- */

.page.page_register .buttons a.login{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:120px;

    min-height:47px;

    padding:10px 24px;

    box-sizing:border-box;

    background:#FFFFFF;

    border:1px solid #D5B45B;

    border-radius:7px;

    color:#14638F;

    font-size:15px;

    font-weight:700;

    text-decoration:none;

    transition:all .25s ease;
}


.page.page_register .buttons a.login:hover{
    background:#D5B45B;

    border-color:#D5B45B;

    color:#0D2C4D;

    transform:translateY(-1px);
}


/* ============================================================
   SCREEN READER
   ============================================================ */

.page.page_register .pkp_screen_reader{
    position:absolute !important;

    width:1px !important;

    height:1px !important;

    padding:0 !important;

    margin:-1px !important;

    overflow:hidden !important;

    clip:rect(0,0,0,0) !important;

    white-space:nowrap !important;

    border:0 !important;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width:991px){

    .page.page_register{
        margin:30px auto 45px;

        padding:0 20px;
    }


    .page.page_register > h1{
        font-size:30px;
    }


    .page.page_register form.register{
        padding:24px;
    }


    .page.page_register form.register fieldset{
        padding:20px;
    }


    .page.page_register fieldset.identity .fields,
    .page.page_register fieldset.login .fields{
        gap:15px;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width:700px){

    .page.page_register{
        margin:25px auto 35px;

        padding:0 15px;
    }


    .page.page_register .cmp_breadcrumbs{
        margin-bottom:20px;
    }


    .page.page_register .cmp_breadcrumbs ol{
        font-size:13px;
    }


    .page.page_register > h1{
        margin-bottom:18px;

        font-size:27px;
    }


    .page.page_register > p{
        margin-bottom:20px;

        font-size:13.5px;
    }


    .page.page_register form.register{
        padding:17px;

        border-left-width:3px;

        border-radius:9px;
    }


    /* Stack profile fields */

    .page.page_register fieldset.identity .fields{
        grid-template-columns:1fr;

        gap:16px;
    }


    .page.page_register fieldset.identity .affiliation{
        grid-column:auto;
    }


    /* Stack login fields */

    .page.page_register fieldset.login .fields{
        grid-template-columns:1fr;

        gap:16px;
    }


    .page.page_register form.register fieldset{
        padding:16px;

        margin-bottom:18px;

        border-radius:8px;
    }


    .page.page_register form.register fieldset > legend{
        font-size:17px;
    }


    .page.page_register .fields input[type="text"],
    .page.page_register .fields input[type="email"],
    .page.page_register .fields input[type="password"],
    .page.page_register .fields select{
        min-height:45px;

        font-size:14px;
    }


    /* Consent text */

    .page.page_register .optin label{
        font-size:13.5px;
    }


    /* Stack buttons */

    .page.page_register form.register > .buttons{
        flex-direction:column;

        align-items:stretch;

        gap:10px;
    }


    .page.page_register .buttons button.submit,
    .page.page_register .buttons a.login{
        width:100%;

        min-height:46px;
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media (max-width:420px){

    .page.page_register{
        padding:0 12px;
    }


    .page.page_register > h1{
        font-size:24px;
    }


    .page.page_register form.register{
        padding:13px;
    }


    .page.page_register form.register fieldset{
        padding:13px;
    }


    .page.page_register form.register fieldset > legend{
        font-size:16px;
    }


    .page.page_register .optin label{
        font-size:13px;

        gap:8px;
    }


    .page.page_register .optin input[type="checkbox"]{
        width:16px;

        height:16px;
    }

}


/* =========================================================
   JMDET HOME PAGE
   Clean academic / engineering design
   Scoped only to .jmdet-home
   ========================================================= */

.jmdet-home {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;
	--jmdet-soft: #f3f8fb;
	--jmdet-border: #d9e7ef;
	--jmdet-text: #30495a;
	--jmdet-muted: #627887;
	--jmdet-white: #ffffff;

	width: 100%;
	color: var(--jmdet-text);
	font-family: inherit;
	line-height: 1.7;
}

.jmdet-home *,
.jmdet-home *::before,
.jmdet-home *::after {
	box-sizing: border-box;
}


/* =========================================================
   COMMON CONTAINER
   ========================================================= */

.jmdet-home__container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}


/* =========================================================
   INTRO
   ========================================================= */

.jmdet-home__intro {
	padding: 15px 15px;
	background: #f7fbfd;
	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-home__intro-inner {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

.jmdet-home__intro-line {
	width: 65px;
	height: 3px;
	margin: 0 auto 25px;
	border-radius: 5px;
	background: linear-gradient(
		90deg,
		var(--jmdet-green),
		var(--jmdet-green-light)
	);
}

.jmdet-home__intro-line--right {
	margin: 25px auto 0;
}

.jmdet-home__statement {
	margin: 0;
	color: var(--jmdet-deep);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 22px;
	font-weight: 600;
	line-height: 1.65;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.jmdet-home__section {
	padding: 35px 0;
	background: var(--jmdet-white);
}

.jmdet-home__section--soft {
	background: var(--jmdet-soft);
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.jmdet-home__section-heading {
	margin-bottom: 35px;
}

.jmdet-home__section-heading > span {
	display: block;

	margin-bottom: 7px;

	color: var(--jmdet-green-dark);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 1.8px;
	text-transform: uppercase;
}

.jmdet-home__section-heading h2 {
	max-width: 800px;

	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;
	line-height: 1.35;
}

.jmdet-home__heading-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 5px;

	background: linear-gradient(
		90deg,
		var(--jmdet-green),
		var(--jmdet-green-light)
	);
}


/* =========================================================
   CONTENT
   ========================================================= */

.jmdet-home__content {
	max-width: 1000px;
}

.jmdet-home__content p,
.jmdet-home__about-main p {
	margin: 0 0 18px;

	color: var(--jmdet-text);

	font-size: 15px;
	line-height: 1.8;
}

.jmdet-home__content p:last-child {
	margin-bottom: 0;
}

.jmdet-home__about-main {
	max-width: 950px;

	padding-left: 22px;

	border-left: 4px solid var(--jmdet-green);
}


/* =========================================================
   FEATURES
   ========================================================= */

.jmdet-home__feature-grid {
	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 18px;
}

.jmdet-home__feature {
	position: relative;

	padding: 25px 24px 24px;

	background: #fff;

	border: 1px solid var(--jmdet-border);
	border-radius: 8px;

	box-shadow: 0 4px 15px rgba(13,44,77,.05);

	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}

.jmdet-home__feature:hover {
	transform: translateY(-3px);

	border-color: rgba(27,143,197,.35);

	box-shadow: 0 9px 24px rgba(13,44,77,.09);
}

.jmdet-home__feature-number {
	display: block;

	margin-bottom: 12px;

	color: var(--jmdet-green);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 1px;
}

.jmdet-home__feature h3 {
	margin: 0 0 9px;

	color: var(--jmdet-navy);

	font-size: 16px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-home__feature p {
	margin: 0;

	color: var(--jmdet-muted);

	font-size: 13px;
	line-height: 1.65;
}


/* =========================================================
   AUTHOR BENEFITS
   ========================================================= */

.jmdet-home__benefits {
	display: grid;

	grid-template-columns: .8fr 1.5fr;

	gap: 50px;

	align-items: start;
}

.jmdet-home__benefits-intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 16px;
	line-height: 1.8;
}

.jmdet-home__check-list {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 12px 25px;

	margin: 0;
	padding: 0;

	list-style: none;
}

.jmdet-home__check-list li {
	position: relative;

	padding: 10px 10px 10px 31px;

	color: var(--jmdet-navy);

	font-size: 13px;
	font-weight: 600;

	background: #fff;

	border: 1px solid var(--jmdet-border);
	border-radius: 6px;
}

.jmdet-home__check-list li::before {
	content: "✓";

	position: absolute;

	left: 10px;
	top: 9px;

	color: var(--jmdet-green);

	font-weight: 800;
}


/* =========================================================
   JOURNAL TABLE
   ========================================================= */

.jmdet-home__table-wrap {
	width: 100%;

	overflow-x: auto;

	border: 1px solid var(--jmdet-border);
	border-radius: 8px;

	background: #fff;

	box-shadow: 0 4px 15px rgba(13,44,77,.04);
}

.jmdet-home__table {
	width: 100%;

	border-collapse: collapse;

	margin: 0;
}

.jmdet-home__table th,
.jmdet-home__table td {
	padding: 17px 20px;

	border-bottom: 1px solid var(--jmdet-border);

	text-align: left;

	vertical-align: top;

	font-size: 13px;
	line-height: 1.65;
}

.jmdet-home__table tr:last-child th,
.jmdet-home__table tr:last-child td {
	border-bottom: 0;
}

.jmdet-home__table th {
	width: 30%;

	background: #f4f9fc;

	color: var(--jmdet-navy);

	font-weight: 700;
}

.jmdet-home__table td {
	color: var(--jmdet-text);

	background: #fff;
}


/* =========================================================
   COMMITMENT
   ========================================================= */

.jmdet-home__commitment > p {
	max-width: 800px;

	margin: 0 0 25px;

	color: var(--jmdet-text);

	font-size: 15px;
}

.jmdet-home__commitment-grid {
	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 12px;
}

.jmdet-home__commitment-grid div {
	padding: 14px 16px;

	background: #fff;

	border: 1px solid var(--jmdet-border);
	border-left: 3px solid var(--jmdet-green);

	border-radius: 5px;

	color: var(--jmdet-navy);

	font-size: 13px;
	font-weight: 600;
}


/* =========================================================
   GLOBAL RESEARCH COMMUNITY
   ========================================================= */

.jmdet-home__community {
	position: relative;

	padding: 70px 20px;

	overflow: hidden;

	background:
		linear-gradient(
			135deg,
			#0d2c4d 0%,
			#123a63 52%,
			#0b6fa4 100%
		);

	color: #fff;
}

.jmdet-home__community-inner {
	position: relative;

	z-index: 2;

	width: min(900px, 100%);

	margin: 0 auto;

	text-align: center;
}

.jmdet-home__community-label {
	display: inline-block;

	margin-bottom: 12px;

	color: var(--jmdet-green-light);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 2px;
}

.jmdet-home__community h2 {
	margin: 0 0 22px;

	color: #fff;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 32px;
	line-height: 1.35;
}

.jmdet-home__community p {
	max-width: 820px;

	margin: 0 auto 16px;

	color: #dcecf5;

	font-size: 14px;
	line-height: 1.8;
}

.jmdet-home__community-message {
	display: inline-block;

	margin-top: 14px;
	padding: 13px 22px;

	border-left: 3px solid var(--jmdet-green-light);

	color: #fff;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;

	background: rgba(255,255,255,.06);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 950px) {

	.jmdet-home__feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jmdet-home__benefits {
		grid-template-columns: 1fr;

		gap: 30px;
	}

	.jmdet-home__commitment-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-home__section {
		padding: 55px 0;
	}

	.jmdet-home__container {
		width: min(100% - 32px, 1180px);
	}

	.jmdet-home__statement {
		font-size: 19px;
	}

	.jmdet-home__section-heading h2 {
		font-size: 26px;
	}

	.jmdet-home__feature-grid {
		grid-template-columns: 1fr;
	}

	.jmdet-home__check-list {
		grid-template-columns: 1fr;
	}

	.jmdet-home__table th,
	.jmdet-home__table td {
		padding: 14px 15px;
	}

	.jmdet-home__table th {
		width: 35%;
	}

	.jmdet-home__community {
		padding: 55px 18px;
	}

	.jmdet-home__community h2 {
		font-size: 20px;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-home__intro {
		padding: 35px 18px;
	}

	.jmdet-home__statement {
		font-size: 18px;
		line-height: 1.6;
	}

	.jmdet-home__section {
		padding: 45px 0;
	}

	.jmdet-home__container {
		width: calc(100% - 30px);
	}

	.jmdet-home__section-heading {
		margin-bottom: 27px;
	}

	.jmdet-home__section-heading > span {
		font-size: 10px;
		letter-spacing: 1.4px;
	}

	.jmdet-home__section-heading h2 {
		font-size: 20px;
	}

	.jmdet-home__content p,
	.jmdet-home__about-main p {
		font-size: 14px;
		line-height: 1.75;
	}

	.jmdet-home__about-main {
		padding-left: 16px;
	}

	.jmdet-home__feature {
		padding: 21px 19px;
	}

	.jmdet-home__commitment-grid {
		grid-template-columns: 1fr;
	}

	.jmdet-home__table {
		min-width: 650px;
	}

	.jmdet-home__community h2 {
		font-size: 20px;
	}

	.jmdet-home__community p {
		font-size: 13px;
	}

	.jmdet-home__community-message {
		font-size: 14px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-home__statement {
		font-size: 16px;
	}

	.jmdet-home__section-heading h2 {
		font-size: 21px;
	}

	.jmdet-home__feature h3 {
		font-size: 15px;
	}

	.jmdet-home__community h2 {
		font-size: 22px;
	}

}   
/* =========================================================
   JMDET ABOUT PAGE
   Clean academic / engineering design
   Scoped only to .jmdet-about
   ========================================================= */

.jmdet-about {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-soft: #f3f8fb;
	--jmdet-border: #d9e7ef;
	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);
	font-family: inherit;

	line-height: 1.7;
}

.jmdet-about *,
.jmdet-about *::before,
.jmdet-about *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-about__container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}


/* =========================================================
   PAGE INTRO
   ========================================================= */

.jmdet-about__hero {
	padding: 5px 0 52px;

	background:
		linear-gradient(
			180deg,
			#f7fbfd 0%,
			#ffffff 100%
		);

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-about__eyebrow,
.jmdet-about__section-label {
	margin-bottom: 8px;

	color: var(--jmdet-green-dark);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 1.8px;
	text-transform: uppercase;
}

.jmdet-about__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-about__line {
	width: 50px;
	height: 3px;

	margin-top: 15px;

	border-radius: 5px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
	);
}

.jmdet-about__lead {
	max-width: 900px;

	margin: 25px 0 0;

	color: var(--jmdet-text);

	font-size: 17px;
	line-height: 1.8;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.jmdet-about__section {
	padding: 30px 0;

	background: #fff;
}

.jmdet-about__section--soft {
	background: var(--jmdet-soft);
}


/* =========================================================
   TEXT
   ========================================================= */

.jmdet-about__text {
	max-width: 980px;
}

.jmdet-about__text p {
	margin: 0 0 20px;

	color: var(--jmdet-text);

	font-size: 15px;
	line-height: 1.85;
}

.jmdet-about__text p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   TWO INFORMATION COLUMNS
   ========================================================= */

.jmdet-about__two-column {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 28px;
}

.jmdet-about__info-block {
	padding: 32px;

	background: #fff;

	border: 1px solid var(--jmdet-border);
	border-radius: 8px;

	box-shadow: 0 5px 18px rgba(13,44,77,.05);
}

.jmdet-about__info-block h2,
.jmdet-about__section-header h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	line-height: 1.35;
}

.jmdet-about__small-line {
	width: 42px;
	height: 3px;

	margin: 13px 0 20px;

	border-radius: 5px;

	background: var(--jmdet-green);
}

.jmdet-about__info-block > p {
	margin: 0 0 18px;

	color: var(--jmdet-text);

	font-size: 14px;
	line-height: 1.75;
}


/* =========================================================
   LISTS
   ========================================================= */

.jmdet-about__list {
	margin: 0;
	padding: 0;

	list-style: none;
}

.jmdet-about__list li {
	position: relative;

	margin-bottom: 9px;

	padding-left: 23px;

	color: var(--jmdet-text);

	font-size: 13px;
	line-height: 1.6;
}

.jmdet-about__list li:last-child {
	margin-bottom: 0;
}

.jmdet-about__list li::before {
	content: "";

	position: absolute;

	left: 0;
	top: 9px;

	width: 7px;
	height: 7px;

	border-radius: 50%;

	background: var(--jmdet-green);
}


/* =========================================================
   SECTION HEADER
   ========================================================= */

.jmdet-about__section-header {
	margin-bottom: 35px;
}

.jmdet-about__section-header > p {
	max-width: 850px;

	margin: 20px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;
	line-height: 1.75;
}


/* =========================================================
   VISION / MISSION
   ========================================================= */

.jmdet-about__vision-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 28px;
}

.jmdet-about__vision-card {
	position: relative;

	padding: 32px;

	background: #fff;

	border: 1px solid var(--jmdet-border);
	border-top: 4px solid var(--jmdet-green);

	border-radius: 8px;

	box-shadow: 0 5px 18px rgba(13,44,77,.05);
}

.jmdet-about__card-number {
	margin-bottom: 8px;

	color: var(--jmdet-blue-light);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 1.5px;
}

.jmdet-about__vision-card h3 {
	margin: 0 0 13px;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
}

.jmdet-about__vision-card > p {
	margin: 0 0 20px;

	color: var(--jmdet-text);

	font-size: 14px;
	line-height: 1.75;
}


/* =========================================================
   CLOSING TEXT
   ========================================================= */

.jmdet-about__closing {
	max-width: 950px;

	margin-top: 32px;

	padding: 22px 25px;

	background: #f5fafc;

	border-left: 4px solid var(--jmdet-blue);

	border-radius: 4px;
}

.jmdet-about__closing p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;
	line-height: 1.8;
}


/* =========================================================
   SUBJECT AREAS
   ========================================================= */

.jmdet-about__subjects {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 20px;
}

.jmdet-about__subject {
	padding: 25px;

	background: #fff;

	border: 1px solid var(--jmdet-border);
	border-radius: 7px;

	box-shadow: 0 4px 14px rgba(13,44,77,.04);
}

.jmdet-about__subject-top {
	display: flex;

	align-items: flex-start;

	gap: 14px;

	margin-bottom: 20px;
}

.jmdet-about__subject-top span {
	flex: 0 0 auto;

	display: flex;

	align-items: center;
	justify-content: center;

	width: 34px;
	height: 34px;

	border-radius: 6px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 11px;
	font-weight: 800;
}

.jmdet-about__subject-top h3 {
	margin: 3px 0 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 19px;
	line-height: 1.4;
}

.jmdet-about__subject ul {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 7px 22px;

	margin: 0;
	padding: 0;

	list-style: none;
}

.jmdet-about__subject li {
	position: relative;

	padding-left: 16px;

	color: var(--jmdet-text);

	font-size: 12px;

	line-height: 1.55;
}

.jmdet-about__subject li::before {
	content: "•";

	position: absolute;

	left: 0;
	top: 0;

	color: var(--jmdet-green);

	font-weight: 800;
}

.jmdet-about__subject--wide {
	grid-column: 1 / -1;
}

.jmdet-about__subject--wide ul {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* =========================================================
   FINAL SECTION
   ========================================================= */

.jmdet-about__closing-section {
	padding: 55px 0;

	background: #fff;
}

.jmdet-about__closing-box {
	padding: 32px 35px;

	text-align: center;

	background:
		linear-gradient(
			135deg,
			#f1f8fb 0%,
			#ffffff 100%
		);

	border: 1px solid var(--jmdet-border);
	border-radius: 8px;
}

.jmdet-about__closing-box span {
	display: block;

	margin-bottom: 8px;

	color: var(--jmdet-green-dark);

	font-size: 12px;
	font-weight: 800;

	letter-spacing: 2px;
}

.jmdet-about__closing-box p {
	max-width: 750px;

	margin: 0 auto;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 18px;
	font-weight: 600;

	line-height: 1.65;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

	.jmdet-about__two-column,
	.jmdet-about__vision-grid {
		grid-template-columns: 1fr;
	}

	.jmdet-about__subjects {
		grid-template-columns: 1fr;
	}

	.jmdet-about__subject--wide {
		grid-column: auto;
	}

	.jmdet-about__subject--wide ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-about__container {
		width: min(100% - 32px, 1180px);
	}

	.jmdet-about__hero {
		padding: 45px 0 42px;
	}

	.jmdet-about__hero h1 {
		font-size: 31px;
	}

	.jmdet-about__lead {
		font-size: 15px;
	}

	.jmdet-about__section {
		padding: 52px 0;
	}

	.jmdet-about__info-block,
	.jmdet-about__vision-card,
	.jmdet-about__subject {
		padding: 25px;
	}

	.jmdet-about__subject ul,
	.jmdet-about__subject--wide ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-about__container {
		width: calc(100% - 30px);
	}

	.jmdet-about__hero {
		padding: 38px 0;
	}

	.jmdet-about__hero h1 {
		font-size: 27px;
	}

	.jmdet-about__lead {
		font-size: 14px;
		line-height: 1.75;
	}

	.jmdet-about__section {
		padding: 43px 0;
	}

	.jmdet-about__section-header h2,
	.jmdet-about__info-block h2 {
		font-size: 24px;
	}

	.jmdet-about__two-column,
	.jmdet-about__vision-grid {
		gap: 20px;
	}

	.jmdet-about__info-block,
	.jmdet-about__vision-card {
		padding: 22px;
	}

	.jmdet-about__subject {
		padding: 20px;
	}

	.jmdet-about__subject-top h3 {
		font-size: 17px;
	}

	.jmdet-about__subject ul,
	.jmdet-about__subject--wide ul {
		grid-template-columns: 1fr;
	}

	.jmdet-about__closing {
		padding: 18px 20px;
	}

	.jmdet-about__closing-box {
		padding: 25px 20px;
	}

	.jmdet-about__closing-box p {
		font-size: 16px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-about__hero h1 {
		font-size: 24px;
	}

	.jmdet-about__section-header h2,
	.jmdet-about__info-block h2 {
		font-size: 22px;
	}

	.jmdet-about__subject-top {
		gap: 10px;
	}

	.jmdet-about__subject-top h3 {
		font-size: 16px;
	}

}
/* =========================================================
   JMDET AIM & SCOPE PAGE
   Clean academic / engineering design
   Scoped only to .jmdet-aimscope
   ========================================================= */

.jmdet-aimscope {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-soft: #f3f8fb;
	--jmdet-border: #d9e7ef;
	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);
	font-family: inherit;

	line-height: 1.7;
}

.jmdet-aimscope *,
.jmdet-aimscope *::before,
.jmdet-aimscope *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-aimscope__container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-aimscope__hero {
	padding: 0px 0 52px;

	background:
		linear-gradient(
			180deg,
			#f7fbfd 0%,
			#ffffff 100%
		);

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-aimscope__eyebrow {
	margin-bottom: 8px;

	color: var(--jmdet-green-dark);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 1.8px;
	text-transform: uppercase;
}

.jmdet-aimscope__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-aimscope__line {
	width: 50px;
	height: 3px;

	margin-top: 15px;

	border-radius: 5px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-aimscope__hero p {
	max-width: 850px;

	margin: 22px 0 0;

	color: var(--jmdet-text);

	font-size: 16px;
	line-height: 1.8;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.jmdet-aimscope__section {
	padding: 30px 0;

	background: var(--jmdet-white);
}

.jmdet-aimscope__section--soft {
	background: var(--jmdet-soft);
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.jmdet-aimscope__section-heading {
	margin-bottom: 32px;
}

.jmdet-aimscope__section-heading span {
	display: block;

	margin-bottom: 7px;

	color: var(--jmdet-green-dark);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 1.8px;
	text-transform: uppercase;
}

.jmdet-aimscope__section-heading h2 {
	max-width: 850px;

	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-aimscope__heading-line {
	width: 48px;
	height: 3px;

	margin-top: 13px;

	border-radius: 5px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}


/* =========================================================
   AIM SECTION
   ========================================================= */

.jmdet-aimscope__aim-layout {
	display: grid;

	grid-template-columns: .75fr 1.6fr;

	gap: 45px;

	align-items: start;
}

.jmdet-aimscope__accent-box {
	padding: 28px;

	background: #f5fafc;

	border-left: 4px solid var(--jmdet-green);

	border-radius: 5px;
}

.jmdet-aimscope__accent-box strong {
	display: block;

	margin-bottom: 10px;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
}

.jmdet-aimscope__accent-box p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;
	line-height: 1.75;
}

.jmdet-aimscope__aim-list {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 13px;
}

.jmdet-aimscope__aim-item {
	display: flex;

	align-items: flex-start;

	gap: 13px;

	padding: 15px 16px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 6px;
}

.jmdet-aimscope__aim-item span {
	flex: 0 0 auto;

	color: var(--jmdet-green);

	font-size: 10px;
	font-weight: 800;

	letter-spacing: 1px;
}

.jmdet-aimscope__aim-item p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;
	line-height: 1.6;
}


/* =========================================================
   SCOPE INTRO
   ========================================================= */

.jmdet-aimscope__scope-intro {
	max-width: 850px;

	margin-bottom: 28px;
}

.jmdet-aimscope__scope-intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 15px;
	line-height: 1.8;
}


/* =========================================================
   SCOPE GRID
   ========================================================= */

.jmdet-aimscope__scope-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 12px 18px;
}

.jmdet-aimscope__scope-item {
	display: flex;

	align-items: center;

	gap: 14px;

	min-height: 66px;

	padding: 13px 17px;

	background: #fff;

	border: 1px solid var(--jmdet-border);
	border-radius: 6px;

	transition:
		border-color .2s ease,
		transform .2s ease;
}

.jmdet-aimscope__scope-item:hover {
	border-color: rgba(27,143,197,.4);

	transform: translateY(-2px);
}

.jmdet-aimscope__scope-item span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;

	flex: 0 0 32px;

	border-radius: 6px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 10px;
	font-weight: 800;
}

.jmdet-aimscope__scope-item strong {
	color: var(--jmdet-navy);

	font-size: 13px;
	font-weight: 650;

	line-height: 1.45;
}


/* =========================================================
   PARTICULARLY WELCOMES
   ========================================================= */

.jmdet-aimscope__welcome-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 15px 20px;
}

.jmdet-aimscope__welcome-item {
	display: flex;

	align-items: flex-start;

	gap: 15px;

	padding: 18px 20px;

	background: #fff;

	border: 1px solid var(--jmdet-border);
	border-left: 3px solid var(--jmdet-green);

	border-radius: 6px;
}

.jmdet-aimscope__welcome-item span {
	flex: 0 0 auto;

	color: var(--jmdet-blue-light);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 1px;
}

.jmdet-aimscope__welcome-item p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;
	line-height: 1.65;
}

.jmdet-aimscope__welcome-item:last-child {
	grid-column: 1 / -1;

	max-width: calc(50% - 10px);
}


/* =========================================================
   CLOSING
   ========================================================= */

.jmdet-aimscope__closing {
	display: flex;

	align-items: center;

	gap: 20px;

	margin-top: 38px;

	padding: 22px 25px;

	background:
		linear-gradient(
			135deg,
			#f1f8fb,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-radius: 7px;
}

.jmdet-aimscope__closing-mark {
	flex: 0 0 auto;

	color: var(--jmdet-green-dark);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 18px;
	font-weight: 700;
}

.jmdet-aimscope__closing p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;
	line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

	.jmdet-aimscope__aim-layout {
		grid-template-columns: 1fr;

		gap: 28px;
	}

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-aimscope__container {
		width: min(100% - 32px, 1180px);
	}

	.jmdet-aimscope__hero {
		padding: 45px 0 42px;
	}

	.jmdet-aimscope__hero h1 {
		font-size: 31px;
	}

	.jmdet-aimscope__section {
		padding: 52px 0;
	}

	.jmdet-aimscope__aim-list,
	.jmdet-aimscope__scope-grid,
	.jmdet-aimscope__welcome-grid {
		grid-template-columns: 1fr;
	}

	.jmdet-aimscope__welcome-item:last-child {
		grid-column: auto;
		max-width: none;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-aimscope__container {
		width: calc(100% - 30px);
	}

	.jmdet-aimscope__hero {
		padding: 38px 0;
	}

	.jmdet-aimscope__hero h1 {
		font-size: 27px;
	}

	.jmdet-aimscope__hero p {
		font-size: 14px;
		line-height: 1.75;
	}

	.jmdet-aimscope__section {
		padding: 43px 0;
	}

	.jmdet-aimscope__section-heading h2 {
		font-size: 24px;
	}

	.jmdet-aimscope__accent-box {
		padding: 22px;
	}

	.jmdet-aimscope__aim-item {
		padding: 14px;
	}

	.jmdet-aimscope__scope-item {
		min-height: 60px;

		padding: 12px 14px;
	}

	.jmdet-aimscope__welcome-item {
		padding: 15px 16px;
	}

	.jmdet-aimscope__closing {
		align-items: flex-start;

		flex-direction: column;

		gap: 8px;

		padding: 20px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-aimscope__hero h1 {
		font-size: 24px;
	}

	.jmdet-aimscope__section-heading h2 {
		font-size: 22px;
	}

	.jmdet-aimscope__scope-item strong {
		font-size: 12px;
	}

}
/* =========================================================
   AUTHOR GUIDELINES
   Clean internal-page design
   Scoped only to .jmdet-guidelines
   ========================================================= */

.jmdet-guidelines {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-border: #d9e7ef;
	--jmdet-soft: #f4f8fa;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);

	font-family: inherit;

	line-height: 1.7;
}

.jmdet-guidelines *,
.jmdet-guidelines *::before,
.jmdet-guidelines *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-guidelines__container {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-guidelines__hero {
	padding: 1px 0 1px;

	background: #f7fafc;

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-guidelines__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-guidelines__title-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-guidelines__hero p {
	max-width: 760px;

	margin: 17px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;

	line-height: 1.7;
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

.jmdet-guidelines__section {
	padding: 58px 0 70px;

	background: #fff;
}


/* =========================================================
   INTRO
   ========================================================= */

.jmdet-guidelines__intro {
	max-width: 930px;

	margin-bottom: 48px;

	padding: 24px 28px;

	background: #f5f9fb;

	border-left: 4px solid var(--jmdet-green);

	border-radius: 5px;
}

.jmdet-guidelines__intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 15px;

	line-height: 1.8;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.jmdet-guidelines__content-block {
	margin-bottom: 58px;
}

.jmdet-guidelines__content-block:last-child {
	margin-bottom: 0;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.jmdet-guidelines__heading {
	margin-bottom: 24px;
}

.jmdet-guidelines__heading h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-guidelines__heading span {
	display: block;

	width: 42px;
	height: 3px;

	margin-top: 11px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}


/* =========================================================
   PARAGRAPHS
   ========================================================= */

.jmdet-guidelines__content-block > p {
	max-width: 950px;

	margin: 0 0 17px;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}


/* =========================================================
   CHECK LIST
   ========================================================= */

.jmdet-guidelines__check-list {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 11px 18px;
}

.jmdet-guidelines__check-item {
	display: flex;

	align-items: flex-start;

	gap: 11px;

	padding: 13px 15px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;
}

.jmdet-guidelines__check-item span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 22px;
	height: 22px;

	flex: 0 0 22px;

	margin-top: 1px;

	border-radius: 50%;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 12px;
	font-weight: 800;
}

.jmdet-guidelines__check-item p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.6;
}


/* =========================================================
   MANUSCRIPT STRUCTURE
   ========================================================= */

.jmdet-guidelines__two-column-list {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 10px 18px;

	margin-top: 20px;
}

.jmdet-guidelines__two-column-list div {
	padding: 12px 15px;

	background: var(--jmdet-soft);

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.55;
}


/* =========================================================
   BULLET LIST
   ========================================================= */

.jmdet-guidelines__bullet-list {
	margin: 20px 0 0;
	padding: 0;

	list-style: none;
}

.jmdet-guidelines__bullet-list li {
	position: relative;

	margin: 0;

	padding: 8px 0 8px 22px;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.65;
}

.jmdet-guidelines__bullet-list li::before {
	content: "";

	position: absolute;

	left: 0;
	top: 17px;

	width: 7px;
	height: 7px;

	border-radius: 50%;

	background: var(--jmdet-green);
}


/* =========================================================
   NOTE
   ========================================================= */

.jmdet-guidelines__note {
	margin-top: 25px;

	padding: 17px 20px;

	background: #f4f9fc;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.7;
}

.jmdet-guidelines__note strong {
	color: var(--jmdet-navy);
}


/* =========================================================
   SUBMISSION STEPS
   ========================================================= */

.jmdet-guidelines__steps {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 14px 20px;
}

.jmdet-guidelines__step {
	display: flex;

	align-items: flex-start;

	gap: 15px;

	padding: 17px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 6px;
}

.jmdet-guidelines__step > span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 35px;
	height: 35px;

	flex: 0 0 35px;

	border-radius: 6px;

	background: var(--jmdet-navy);

	color: #fff;

	font-size: 10px;
	font-weight: 800;
}

.jmdet-guidelines__step strong {
	display: block;

	margin-bottom: 3px;

	color: var(--jmdet-navy);

	font-size: 13px;
	font-weight: 700;
}

.jmdet-guidelines__step p {
	margin: 0;

	color: var(--jmdet-muted);

	font-size: 12px;

	line-height: 1.6;
}


/* =========================================================
   REVISION NOTE
   ========================================================= */

.jmdet-guidelines__revision {
	margin-top: 25px;

	padding: 20px 23px;

	background: #f8fafb;

	border-left: 3px solid var(--jmdet-blue);

	border-radius: 4px;
}

.jmdet-guidelines__revision p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}


/* =========================================================
   CLOSING
   ========================================================= */

.jmdet-guidelines__closing {
	max-width: 900px;

	margin-top: 5px;

	padding: 25px 28px;

	background:
		linear-gradient(
			135deg,
			#f2f8fb,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-top: 3px solid var(--jmdet-green);

	border-radius: 6px;
}

.jmdet-guidelines__closing p {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 15px;

	line-height: 1.75;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 800px) {

	.jmdet-guidelines__check-list,
	.jmdet-guidelines__two-column-list,
	.jmdet-guidelines__steps {
		grid-template-columns: 1fr 1fr;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

	.jmdet-guidelines__container {
		width: calc(100% - 32px);
	}

	.jmdet-guidelines__hero {
		padding: 42px 0 38px;
	}

	.jmdet-guidelines__hero h1 {
		font-size: 20px;
	}

	.jmdet-guidelines__section {
		padding: 45px 0 55px;
	}

	.jmdet-guidelines__intro {
		padding: 20px;
		margin-bottom: 38px;
	}

	.jmdet-guidelines__check-list,
	.jmdet-guidelines__two-column-list,
	.jmdet-guidelines__steps {
		grid-template-columns: 1fr;
	}

	.jmdet-guidelines__content-block {
		margin-bottom: 45px;
	}

	.jmdet-guidelines__heading h2 {
		font-size: 22px;
	}

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

	.jmdet-guidelines__container {
		width: calc(100% - 26px);
	}

	.jmdet-guidelines__hero {
		padding: 36px 0 32px;
	}

	.jmdet-guidelines__hero h1 {
		font-size: 26px;
	}

	.jmdet-guidelines__hero p {
		font-size: 13px;
	}

	.jmdet-guidelines__section {
		padding: 38px 0 48px;
	}

	.jmdet-guidelines__heading h2 {
		font-size: 21px;
	}

	.jmdet-guidelines__check-item,
	.jmdet-guidelines__step {
		padding: 13px;
	}

}
/* =========================================================
   JMDET — PEER REVIEW PROCESS
   Clean internal-page design
   Scoped only to .jmdet-peer-review
   ========================================================= */

.jmdet-peer-review {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-border: #d9e7ef;
	--jmdet-soft: #f4f8fa;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);

	font-family: inherit;

	line-height: 1.7;
}

.jmdet-peer-review *,
.jmdet-peer-review *::before,
.jmdet-peer-review *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-peer-review__container {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-peer-review__hero {
	padding: 1px 0 1px;

	background: #f7fafc;

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-peer-review__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-peer-review__title-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-peer-review__hero p {
	max-width: 780px;

	margin: 17px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;

	line-height: 1.7;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.jmdet-peer-review__section {
	padding: 58px 0 70px;

	background: #fff;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.jmdet-peer-review__intro {
	max-width: 980px;

	margin-bottom: 52px;

	padding: 25px 28px;

	background: #f5f9fb;

	border-left: 4px solid var(--jmdet-green);

	border-radius: 5px;
}

.jmdet-peer-review__intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}

.jmdet-peer-review__intro p + p {
	margin-top: 16px;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.jmdet-peer-review__content-block {
	margin-bottom: 58px;
}

.jmdet-peer-review__content-block:last-child {
	margin-bottom: 0;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.jmdet-peer-review__heading {
	margin-bottom: 23px;
}

.jmdet-peer-review__heading h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-peer-review__heading span {
	display: block;

	width: 42px;
	height: 3px;

	margin-top: 11px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-peer-review__content-block > p {
	max-width: 950px;

	margin: 0 0 18px;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}


/* =========================================================
   OBJECTIVES LIST
   ========================================================= */

.jmdet-peer-review__list {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 11px 18px;
}

.jmdet-peer-review__list-item {
	display: flex;

	align-items: flex-start;

	gap: 12px;

	padding: 13px 15px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;
}

.jmdet-peer-review__list-item span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 23px;
	height: 23px;

	flex: 0 0 23px;

	margin-top: 1px;

	border-radius: 5px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 9px;
	font-weight: 800;
}

.jmdet-peer-review__list-item p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.6;
}


/* =========================================================
   REVIEW CRITERIA
   ========================================================= */

.jmdet-peer-review__criteria {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 10px 18px;
}

.jmdet-peer-review__criteria > div {
	display: flex;

	align-items: flex-start;

	gap: 12px;

	min-height: 55px;

	padding: 12px 14px;

	background: var(--jmdet-soft);

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;
}

.jmdet-peer-review__criteria span {
	flex: 0 0 auto;

	color: var(--jmdet-blue-light);

	font-size: 10px;
	font-weight: 800;

	letter-spacing: .5px;
}

.jmdet-peer-review__criteria strong {
	color: var(--jmdet-text);

	font-size: 12px;
	font-weight: 650;

	line-height: 1.55;
}


/* =========================================================
   EDITORIAL DECISIONS
   ========================================================= */

.jmdet-peer-review__decisions {
	display: grid;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 12px;

	margin-top: 23px;
}

.jmdet-peer-review__decision {
	min-height: 125px;

	padding: 17px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-top: 3px solid var(--jmdet-blue);

	border-radius: 5px;
}

.jmdet-peer-review__decision span {
	display: block;

	margin-bottom: 15px;

	color: var(--jmdet-green-dark);

	font-size: 10px;
	font-weight: 800;
}

.jmdet-peer-review__decision strong {
	display: block;

	color: var(--jmdet-navy);

	font-size: 13px;

	line-height: 1.55;
}


/* =========================================================
   REVISION NOTE
   ========================================================= */

.jmdet-peer-review__revision-note {
	margin-top: 25px;

	padding: 20px 23px;

	background: #f7fafc;

	border-left: 3px solid var(--jmdet-blue);

	border-radius: 4px;
}

.jmdet-peer-review__revision-note p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}

.jmdet-peer-review__revision-note p + p {
	margin-top: 13px;
}


/* =========================================================
   CONFIDENTIALITY & ETHICS
   ========================================================= */

.jmdet-peer-review__ethics {
	display: flex;

	align-items: flex-start;

	gap: 18px;

	max-width: 1000px;

	padding: 23px 25px;

	background:
		linear-gradient(
			135deg,
			#f2f8fb,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-left: 4px solid var(--jmdet-green);

	border-radius: 6px;
}

.jmdet-peer-review__ethics-mark {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 36px;
	height: 36px;

	flex: 0 0 36px;

	border-radius: 50%;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 17px;
	font-weight: 800;
}

.jmdet-peer-review__ethics p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}

.jmdet-peer-review__ethics p + p {
	margin-top: 14px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

	.jmdet-peer-review__decisions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-peer-review__container {
		width: calc(100% - 32px);
	}

	.jmdet-peer-review__hero {
		padding: 44px 0 40px;
	}

	.jmdet-peer-review__hero h1 {
		font-size: 25px;
	}

	.jmdet-peer-review__section {
		padding: 46px 0 55px;
	}

	.jmdet-peer-review__list,
	.jmdet-peer-review__criteria {
		grid-template-columns: 1fr;
	}

	.jmdet-peer-review__content-block {
		margin-bottom: 46px;
	}

	.jmdet-peer-review__heading h2 {
		font-size: 22px;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-peer-review__container {
		width: calc(100% - 28px);
	}

	.jmdet-peer-review__hero {
		padding: 37px 0 34px;
	}

	.jmdet-peer-review__hero h1 {
		font-size: 27px;
	}

	.jmdet-peer-review__hero p {
		font-size: 13px;
	}

	.jmdet-peer-review__section {
		padding: 38px 0 48px;
	}

	.jmdet-peer-review__intro {
		padding: 20px;

		margin-bottom: 38px;
	}

	.jmdet-peer-review__intro p {
		font-size: 13px;
	}

	.jmdet-peer-review__decisions {
		grid-template-columns: 1fr;
	}

	.jmdet-peer-review__decision {
		min-height: auto;
	}

	.jmdet-peer-review__ethics {
		padding: 19px;

		gap: 13px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-peer-review__container {
		width: calc(100% - 24px);
	}

	.jmdet-peer-review__hero h1 {
		font-size: 24px;
	}

	.jmdet-peer-review__heading h2 {
		font-size: 20px;
	}

}
/* =========================================================
   JMDET — OPEN ACCESS POLICY
   Clean internal-page design
   Scoped only to .jmdet-open-access
   ========================================================= */

.jmdet-open-access {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-border: #d9e7ef;
	--jmdet-soft: #f4f8fa;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);

	font-family: inherit;

	line-height: 1.7;
}

.jmdet-open-access *,
.jmdet-open-access *::before,
.jmdet-open-access *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-open-access__container {
	width: min(1120px, calc(100% - 40px));

	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-open-access__hero {
	padding: 1px 0 1px;

	background: #f7fafc;

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-open-access__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-open-access__title-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-open-access__hero p {
	max-width: 780px;

	margin: 17px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;

	line-height: 1.7;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.jmdet-open-access__section {
	padding: 58px 0 70px;

	background: #fff;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.jmdet-open-access__intro {
	max-width: 1000px;

	margin-bottom: 52px;

	padding: 25px 28px;

	background: #f5f9fb;

	border-left: 4px solid var(--jmdet-green);

	border-radius: 5px;
}

.jmdet-open-access__intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}

.jmdet-open-access__intro p + p {
	margin-top: 16px;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.jmdet-open-access__content-block {
	margin-bottom: 45px;
}


/* =========================================================
   HEADING
   ========================================================= */

.jmdet-open-access__heading {
	margin-bottom: 25px;
}

.jmdet-open-access__heading h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-open-access__heading span {
	display: block;

	width: 42px;
	height: 3px;

	margin-top: 11px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}


/* =========================================================
   POLICY AIMS
   ========================================================= */

.jmdet-open-access__aims {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 11px 18px;
}

.jmdet-open-access__aim {
	display: flex;

	align-items: flex-start;

	gap: 13px;

	padding: 14px 16px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;

	transition:
		border-color .2s ease,
		background .2s ease,
		transform .2s ease;
}

.jmdet-open-access__aim:hover {
	border-color: #bcd8e5;

	background: #fafdfe;

	transform: translateY(-1px);
}

.jmdet-open-access__aim span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 25px;
	height: 25px;

	flex: 0 0 25px;

	margin-top: 1px;

	border-radius: 5px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 9px;
	font-weight: 800;
}

.jmdet-open-access__aim p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.65;
}


/* =========================================================
   CLOSING STATEMENT
   ========================================================= */

.jmdet-open-access__closing {
	display: flex;

	align-items: flex-start;

	gap: 18px;

	max-width: 1000px;

	padding: 23px 25px;

	background:
		linear-gradient(
			135deg,
			#f2f8fb,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-left: 4px solid var(--jmdet-blue);

	border-radius: 6px;
}

.jmdet-open-access__closing-mark {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 36px;
	height: 36px;

	flex: 0 0 36px;

	border-radius: 50%;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 17px;
	font-weight: 800;
}

.jmdet-open-access__closing p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-open-access__container {
		width: calc(100% - 32px);
	}

	.jmdet-open-access__hero {
		padding: 44px 0 40px;
	}

	.jmdet-open-access__hero h1 {
		font-size: 25px;
	}

	.jmdet-open-access__section {
		padding: 46px 0 55px;
	}

	.jmdet-open-access__aims {
		grid-template-columns: 1fr;
	}

	.jmdet-open-access__heading h2 {
		font-size: 22px;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-open-access__container {
		width: calc(100% - 28px);
	}

	.jmdet-open-access__hero {
		padding: 37px 0 34px;
	}

	.jmdet-open-access__hero h1 {
		font-size: 27px;
	}

	.jmdet-open-access__hero p {
		font-size: 13px;
	}

	.jmdet-open-access__section {
		padding: 38px 0 48px;
	}

	.jmdet-open-access__intro {
		padding: 20px;

		margin-bottom: 38px;
	}

	.jmdet-open-access__intro p {
		font-size: 13px;
	}

	.jmdet-open-access__heading h2 {
		font-size: 21px;
	}

	.jmdet-open-access__closing {
		padding: 19px;

		gap: 13px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-open-access__container {
		width: calc(100% - 24px);
	}

	.jmdet-open-access__hero h1 {
		font-size: 24px;
	}

	.jmdet-open-access__heading h2 {
		font-size: 20px;
	}

}
/* =========================================================
   JMDET — PUBLICATION ETHICS
   Clean internal-page design
   Scoped only to .jmdet-publication-ethics
   ========================================================= */

.jmdet-publication-ethics {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-border: #d9e7ef;
	--jmdet-soft: #f4f8fa;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);

	font-family: inherit;

	line-height: 1.7;
}

.jmdet-publication-ethics *,
.jmdet-publication-ethics *::before,
.jmdet-publication-ethics *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-publication-ethics__container {
	width: min(1120px, calc(100% - 40px));

	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-publication-ethics__hero {
	padding: 1px 0 1px;

	background: #f7fafc;

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-publication-ethics__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-publication-ethics__title-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-publication-ethics__hero p {
	max-width: 780px;

	margin: 17px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;

	line-height: 1.7;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.jmdet-publication-ethics__section {
	padding: 58px 0 70px;

	background: #fff;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.jmdet-publication-ethics__intro {
	max-width: 1000px;

	margin-bottom: 52px;

	padding: 25px 28px;

	background: #f5f9fb;

	border-left: 4px solid var(--jmdet-green);

	border-radius: 5px;
}

.jmdet-publication-ethics__intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}

.jmdet-publication-ethics__intro p + p {
	margin-top: 16px;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.jmdet-publication-ethics__content-block {
	margin-bottom: 58px;
}

.jmdet-publication-ethics__content-block:last-child {
	margin-bottom: 0;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.jmdet-publication-ethics__heading {
	margin-bottom: 25px;
}

.jmdet-publication-ethics__heading h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-publication-ethics__heading span {
	display: block;

	width: 42px;
	height: 3px;

	margin-top: 11px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}


/* =========================================================
   RESPONSIBILITY CARDS
   ========================================================= */

.jmdet-publication-ethics__responsibility-grid {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap: 18px;
}

.jmdet-publication-ethics__responsibility {
	padding: 22px 20px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-top: 3px solid var(--jmdet-blue);

	border-radius: 6px;
}

.jmdet-publication-ethics__responsibility-top {
	display: flex;

	align-items: flex-start;

	gap: 12px;

	margin-bottom: 18px;
}

.jmdet-publication-ethics__number {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 30px;
	height: 30px;

	flex: 0 0 30px;

	border-radius: 6px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 9px;
	font-weight: 800;
}

.jmdet-publication-ethics__responsibility h3 {
	margin: 2px 0 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 18px;

	line-height: 1.4;
}

.jmdet-publication-ethics__responsibility > p {
	margin: 0 0 12px;

	color: var(--jmdet-muted);

	font-size: 12px;

	font-weight: 600;
}

.jmdet-publication-ethics__responsibility ul {
	margin: 0;
	padding: 0;

	list-style: none;
}

.jmdet-publication-ethics__responsibility li {
	position: relative;

	padding-left: 15px;

	color: var(--jmdet-text);

	font-size: 12px;

	line-height: 1.65;
}

.jmdet-publication-ethics__responsibility li + li {
	margin-top: 9px;
}

.jmdet-publication-ethics__responsibility li::before {
	content: "";

	position: absolute;

	left: 0;
	top: 9px;

	width: 5px;
	height: 5px;

	border-radius: 50%;

	background: var(--jmdet-green);
}


/* =========================================================
   EDITORIAL DECISION NOTE
   ========================================================= */

.jmdet-publication-ethics__decision-note {
	margin-top: 24px;

	padding: 20px 23px;

	background: #f7fafc;

	border-left: 3px solid var(--jmdet-blue);

	border-radius: 4px;
}

.jmdet-publication-ethics__decision-note p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}


/* =========================================================
   INTEGRITY INTRO
   ========================================================= */

.jmdet-publication-ethics__integrity-intro {
	max-width: 1000px;

	margin-bottom: 22px;
}

.jmdet-publication-ethics__integrity-intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}

.jmdet-publication-ethics__integrity-intro p + p {
	margin-top: 14px;
}


/* =========================================================
   MISCONDUCT LIST
   ========================================================= */

.jmdet-publication-ethics__misconduct {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 10px 18px;
}

.jmdet-publication-ethics__misconduct > div {
	display: flex;

	align-items: center;

	gap: 13px;

	padding: 13px 15px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;
}

.jmdet-publication-ethics__misconduct span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 25px;
	height: 25px;

	flex: 0 0 25px;

	border-radius: 5px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 9px;

	font-weight: 800;
}

.jmdet-publication-ethics__misconduct strong {
	color: var(--jmdet-text);

	font-size: 13px;

	font-weight: 650;

	line-height: 1.5;
}


/* =========================================================
   EDITORIAL ACTION
   ========================================================= */

.jmdet-publication-ethics__action {
	display: flex;

	align-items: flex-start;

	gap: 18px;

	margin-top: 32px;

	padding: 24px 26px;

	background:
		linear-gradient(
			135deg,
			#f2f8fb,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-left: 4px solid var(--jmdet-blue);

	border-radius: 6px;
}

.jmdet-publication-ethics__action-icon {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 37px;
	height: 37px;

	flex: 0 0 37px;

	border-radius: 50%;

	background: #eaf4f9;

	color: var(--jmdet-blue);

	font-size: 18px;

	font-weight: 800;
}

.jmdet-publication-ethics__action h2 {
	margin: 0 0 8px;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 19px;

	line-height: 1.4;
}

.jmdet-publication-ethics__action p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}


/* =========================================================
   CLOSING
   ========================================================= */

.jmdet-publication-ethics__closing {
	margin-top: 28px;

	padding: 22px 25px;

	background: #f5f9fb;

	border-radius: 5px;
}

.jmdet-publication-ethics__closing p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;

	text-align: center;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

	.jmdet-publication-ethics__responsibility-grid {
		grid-template-columns: 1fr;
	}

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-publication-ethics__container {
		width: calc(100% - 32px);
	}

	.jmdet-publication-ethics__hero {
		padding: 44px 0 40px;
	}

	.jmdet-publication-ethics__hero h1 {
		font-size: 25px;
	}

	.jmdet-publication-ethics__section {
		padding: 46px 0 55px;
	}

	.jmdet-publication-ethics__heading h2 {
		font-size: 22px;
	}

	.jmdet-publication-ethics__misconduct {
		grid-template-columns: 1fr;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-publication-ethics__container {
		width: calc(100% - 28px);
	}

	.jmdet-publication-ethics__hero {
		padding: 37px 0 34px;
	}

	.jmdet-publication-ethics__hero h1 {
		font-size: 27px;
	}

	.jmdet-publication-ethics__hero p {
		font-size: 13px;
	}

	.jmdet-publication-ethics__section {
		padding: 38px 0 48px;
	}

	.jmdet-publication-ethics__intro {
		padding: 20px;

		margin-bottom: 38px;
	}

	.jmdet-publication-ethics__intro p {
		font-size: 13px;
	}

	.jmdet-publication-ethics__heading h2 {
		font-size: 21px;
	}

	.jmdet-publication-ethics__responsibility {
		padding: 19px 17px;
	}

	.jmdet-publication-ethics__responsibility h3 {
		font-size: 17px;
	}

	.jmdet-publication-ethics__action {
		padding: 19px;

		gap: 13px;
	}

	.jmdet-publication-ethics__action h2 {
		font-size: 18px;
	}

	.jmdet-publication-ethics__closing {
		padding: 19px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-publication-ethics__container {
		width: calc(100% - 24px);
	}

	.jmdet-publication-ethics__hero h1 {
		font-size: 24px;
	}

	.jmdet-publication-ethics__heading h2 {
		font-size: 20px;
	}

}
/* =========================================================
   JMDET — ARTICLE PROCESSING CHARGES
   Clean internal-page design
   Scoped only to .jmdet-apc
   ========================================================= */

.jmdet-apc {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-border: #d9e7ef;
	--jmdet-soft: #f4f8fa;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);

	font-family: inherit;

	line-height: 1.7;
}

.jmdet-apc *,
.jmdet-apc *::before,
.jmdet-apc *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-apc__container {
	width: min(1120px, calc(100% - 40px));

	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-apc__hero {
	padding: 1px 0 1px;

	background: #f7fafc;

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-apc__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-apc__title-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-apc__hero p {
	max-width: 780px;

	margin: 17px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;

	line-height: 1.7;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.jmdet-apc__section {
	padding: 58px 0 70px;

	background: #fff;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.jmdet-apc__intro {
	max-width: 1000px;

	margin-bottom: 30px;

	padding: 25px 28px;

	background: #f5f9fb;

	border-left: 4px solid var(--jmdet-green);

	border-radius: 5px;
}

.jmdet-apc__intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}

.jmdet-apc__intro p + p {
	margin-top: 16px;
}


/* =========================================================
   EDITORIAL INDEPENDENCE
   ========================================================= */

.jmdet-apc__principle {
	display: flex;

	align-items: flex-start;

	gap: 17px;

	max-width: 1000px;

	margin-bottom: 52px;

	padding: 22px 24px;

	background:
		linear-gradient(
			135deg,
			#f2f8fb,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-left: 4px solid var(--jmdet-blue);

	border-radius: 6px;
}

.jmdet-apc__principle-icon {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 37px;
	height: 37px;

	flex: 0 0 37px;

	border-radius: 50%;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 17px;

	font-weight: 800;
}

.jmdet-apc__principle h2 {
	margin: 0 0 6px;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 19px;

	line-height: 1.4;
}

.jmdet-apc__principle p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.jmdet-apc__content-block {
	margin-bottom: 48px;
}


/* =========================================================
   HEADING
   ========================================================= */

.jmdet-apc__heading {
	margin-bottom: 25px;
}

.jmdet-apc__heading h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-apc__heading span {
	display: block;

	width: 42px;
	height: 3px;

	margin-top: 11px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}


/* =========================================================
   APC SUPPORT ITEMS
   ========================================================= */

.jmdet-apc__supports {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 11px 18px;
}

.jmdet-apc__support {
	display: flex;

	align-items: center;

	gap: 13px;

	padding: 14px 16px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;

	transition:
		border-color .2s ease,
		background .2s ease,
		transform .2s ease;
}

.jmdet-apc__support:hover {
	border-color: #bcd8e5;

	background: #fafdfe;

	transform: translateY(-1px);
}

.jmdet-apc__support span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 26px;
	height: 26px;

	flex: 0 0 26px;

	border-radius: 5px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 9px;

	font-weight: 800;
}

.jmdet-apc__support p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.6;
}


/* =========================================================
   PAYMENT INFORMATION
   ========================================================= */

.jmdet-apc__payment {
	display: flex;

	align-items: flex-start;

	gap: 18px;

	max-width: 1000px;

	margin-top: 10px;

	padding: 24px 26px;

	background: #f5f9fb;

	border: 1px solid var(--jmdet-border);

	border-left: 4px solid var(--jmdet-green);

	border-radius: 6px;
}

.jmdet-apc__payment-icon {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 37px;
	height: 37px;

	flex: 0 0 37px;

	border-radius: 50%;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 18px;

	font-weight: 800;
}

.jmdet-apc__payment h2 {
	margin: 0 0 8px;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 19px;

	line-height: 1.4;
}

.jmdet-apc__payment p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}

.jmdet-apc__payment p + p {
	margin-top: 12px;
}


/* =========================================================
   CLOSING
   ========================================================= */

.jmdet-apc__closing {
	max-width: 1000px;

	margin-top: 28px;

	padding: 21px 25px;

	background: #f7fafc;

	border-radius: 5px;
}

.jmdet-apc__closing p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;

	text-align: center;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-apc__container {
		width: calc(100% - 32px);
	}

	.jmdet-apc__hero {
		padding: 44px 0 40px;
	}

	.jmdet-apc__hero h1 {
		font-size: 25px;
	}

	.jmdet-apc__section {
		padding: 46px 0 55px;
	}

	.jmdet-apc__supports {
		grid-template-columns: 1fr;
	}

	.jmdet-apc__heading h2 {
		font-size: 22px;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-apc__container {
		width: calc(100% - 28px);
	}

	.jmdet-apc__hero {
		padding: 37px 0 34px;
	}

	.jmdet-apc__hero h1 {
		font-size: 27px;
	}

	.jmdet-apc__hero p {
		font-size: 13px;
	}

	.jmdet-apc__section {
		padding: 38px 0 48px;
	}

	.jmdet-apc__intro {
		padding: 20px;

		margin-bottom: 30px;
	}

	.jmdet-apc__intro p {
		font-size: 13px;
	}

	.jmdet-apc__heading h2 {
		font-size: 21px;
	}

	.jmdet-apc__principle {
		padding: 19px;

		gap: 13px;

		margin-bottom: 40px;
	}

	.jmdet-apc__principle h2,
	.jmdet-apc__payment h2 {
		font-size: 18px;
	}

	.jmdet-apc__payment {
		padding: 19px;

		gap: 13px;
	}

	.jmdet-apc__closing {
		padding: 19px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-apc__container {
		width: calc(100% - 24px);
	}

	.jmdet-apc__hero h1 {
		font-size: 24px;
	}

	.jmdet-apc__heading h2 {
		font-size: 20px;
	}

}
/* =========================================================
   JMDET — PRIVACY STATEMENT
   Clean internal-page design
   Scoped only to .jmdet-privacy
   ========================================================= */

.jmdet-privacy {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-border: #d9e7ef;
	--jmdet-soft: #f4f8fa;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);

	font-family: inherit;

	line-height: 1.7;
}

.jmdet-privacy *,
.jmdet-privacy *::before,
.jmdet-privacy *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-privacy__container {
	width: min(1120px, calc(100% - 40px));

	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-privacy__hero {
	padding: 1px 0 1px;

	background: #f7fafc;

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-privacy__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-privacy__title-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-privacy__hero p {
	max-width: 780px;

	margin: 17px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;

	line-height: 1.7;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.jmdet-privacy__section {
	padding: 58px 0 70px;

	background: #fff;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.jmdet-privacy__intro {
	max-width: 1000px;

	margin-bottom: 52px;

	padding: 25px 28px;

	background: #f5f9fb;

	border-left: 4px solid var(--jmdet-green);

	border-radius: 5px;
}

.jmdet-privacy__intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}

.jmdet-privacy__intro p + p {
	margin-top: 16px;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.jmdet-privacy__content-block {
	margin-bottom: 48px;
}

.jmdet-privacy__content-block:last-child {
	margin-bottom: 0;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.jmdet-privacy__heading {
	margin-bottom: 24px;
}

.jmdet-privacy__heading h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-privacy__heading span {
	display: block;

	width: 42px;
	height: 3px;

	margin-top: 11px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}


/* =========================================================
   SECTION INTRO
   ========================================================= */

.jmdet-privacy__section-intro {
	margin: 0 0 18px;

	color: var(--jmdet-muted);

	font-size: 13px;

	font-weight: 600;
}


/* =========================================================
   INFORMATION LIST
   ========================================================= */

.jmdet-privacy__list {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 11px 18px;
}

.jmdet-privacy__item {
	display: flex;

	align-items: flex-start;

	gap: 13px;

	padding: 14px 16px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;

	transition:
		border-color .2s ease,
		background .2s ease,
		transform .2s ease;
}

.jmdet-privacy__item:hover {
	border-color: #bcd8e5;

	background: #fafdfe;

	transform: translateY(-1px);
}

.jmdet-privacy__item span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 26px;
	height: 26px;

	flex: 0 0 26px;

	margin-top: 1px;

	border-radius: 5px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 9px;

	font-weight: 800;
}

.jmdet-privacy__item p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.65;
}


/* =========================================================
   DATA PROTECTION
   ========================================================= */

.jmdet-privacy__protection {
	max-width: 1000px;

	padding: 27px 28px;

	background:
		linear-gradient(
			135deg,
			#f5f9fb,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-left: 4px solid var(--jmdet-blue);

	border-radius: 6px;
}

.jmdet-privacy__protection .jmdet-privacy__heading {
	margin-bottom: 18px;
}

.jmdet-privacy__protection-intro {
	margin: 0 0 20px;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}


/* =========================================================
   PROTECTION ITEMS
   ========================================================= */

.jmdet-privacy__protection-list {
	display: flex;

	flex-direction: column;

	gap: 10px;
}

.jmdet-privacy__protection-item {
	display: flex;

	align-items: flex-start;

	gap: 12px;

	padding: 10px 0;
}

.jmdet-privacy__check {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 25px;
	height: 25px;

	flex: 0 0 25px;

	border-radius: 50%;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 13px;

	font-weight: 800;
}

.jmdet-privacy__protection-item p {
	margin: 1px 0 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.65;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-privacy__container {
		width: calc(100% - 32px);
	}

	.jmdet-privacy__hero {
		padding: 44px 0 40px;
	}

	.jmdet-privacy__hero h1 {
		font-size: 25px;
	}

	.jmdet-privacy__section {
		padding: 46px 0 55px;
	}

	.jmdet-privacy__list {
		grid-template-columns: 1fr;
	}

	.jmdet-privacy__heading h2 {
		font-size: 22px;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-privacy__container {
		width: calc(100% - 28px);
	}

	.jmdet-privacy__hero {
		padding: 37px 0 34px;
	}

	.jmdet-privacy__hero h1 {
		font-size: 27px;
	}

	.jmdet-privacy__hero p {
		font-size: 13px;
	}

	.jmdet-privacy__section {
		padding: 38px 0 48px;
	}

	.jmdet-privacy__intro {
		padding: 20px;

		margin-bottom: 38px;
	}

	.jmdet-privacy__intro p {
		font-size: 13px;
	}

	.jmdet-privacy__heading h2 {
		font-size: 21px;
	}

	.jmdet-privacy__protection {
		padding: 20px;
	}

	.jmdet-privacy__item {
		padding: 13px 14px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-privacy__container {
		width: calc(100% - 24px);
	}

	.jmdet-privacy__hero h1 {
		font-size: 24px;
	}

	.jmdet-privacy__heading h2 {
		font-size: 20px;
	}

}
/* =========================================================
   JMDET — COPYRIGHT & LICENSING
   Clean internal-page design
   Scoped only to .jmdet-copyright
   ========================================================= */

.jmdet-copyright {
	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-border: #d9e7ef;
	--jmdet-soft: #f4f8fa;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);

	font-family: inherit;

	line-height: 1.7;
}

.jmdet-copyright *,
.jmdet-copyright *::before,
.jmdet-copyright *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-copyright__container {
	width: min(1120px, calc(100% - 40px));

	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-copyright__hero {
	padding: 1px 0 1px;

	background: #f7fafc;

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-copyright__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-copyright__title-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-copyright__hero p {
	max-width: 820px;

	margin: 17px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;

	line-height: 1.7;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.jmdet-copyright__section {
	padding: 58px 0 70px;

	background: #fff;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.jmdet-copyright__block {
	max-width: 1050px;

	margin-bottom: 55px;
}

.jmdet-copyright__block:last-child {
	margin-bottom: 0;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.jmdet-copyright__heading {
	margin-bottom: 23px;
}

.jmdet-copyright__heading h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-copyright__heading span {
	display: block;

	width: 42px;
	height: 3px;

	margin-top: 11px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}


/* =========================================================
   TEXT
   ========================================================= */

.jmdet-copyright__text {
	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}

.jmdet-copyright__text p {
	margin: 0;
}

.jmdet-copyright__text p + p {
	margin-top: 17px;
}


/* =========================================================
   SUB HEADINGS
   ========================================================= */

.jmdet-copyright__subheading {
	margin: 27px 0 15px;

	color: var(--jmdet-navy);

	font-size: 14px;

	font-weight: 800;
}


/* =========================================================
   AUTHOR RIGHTS
   ========================================================= */

.jmdet-copyright__rights {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 10px 18px;
}

.jmdet-copyright__right {
	display: flex;

	align-items: flex-start;

	gap: 12px;

	padding: 13px 15px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;

	transition:
		border-color .2s ease,
		background .2s ease;
}

.jmdet-copyright__right:hover {
	border-color: #bcd8e5;

	background: #fafdfe;
}

.jmdet-copyright__right span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 26px;
	height: 26px;

	flex: 0 0 26px;

	margin-top: 1px;

	border-radius: 5px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 9px;

	font-weight: 800;
}

.jmdet-copyright__right p {
	margin: 1px 0 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.6;
}


/* =========================================================
   CHECK LIST
   ========================================================= */

.jmdet-copyright__check-list {
	display: flex;

	flex-direction: column;

	gap: 9px;
}

.jmdet-copyright__check-item {
	display: flex;

	align-items: flex-start;

	gap: 11px;

	padding: 8px 0;
}

.jmdet-copyright__check-item > span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 24px;
	height: 24px;

	flex: 0 0 24px;

	margin-top: 1px;

	border-radius: 50%;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 12px;

	font-weight: 800;
}

.jmdet-copyright__check-item p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.65;
}


/* =========================================================
   NOTE / CALLOUT
   ========================================================= */

.jmdet-copyright__note {
	margin-top: 23px;

	padding: 18px 21px;

	background: #f5f9fb;

	border-left: 4px solid var(--jmdet-blue);

	border-radius: 5px;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}


/* =========================================================
   OUR COMMITMENT
   ========================================================= */

.jmdet-copyright__commitment {
	max-width: 1050px;

	padding: 28px 30px;

	background:
		linear-gradient(
			135deg,
			#f4f8fa,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-left: 4px solid var(--jmdet-green);

	border-radius: 6px;
}

.jmdet-copyright__commitment .jmdet-copyright__heading {
	margin-bottom: 20px;
}

.jmdet-copyright__commitment .jmdet-copyright__text {
	font-size: 13px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-copyright__container {
		width: calc(100% - 32px);
	}

	.jmdet-copyright__hero {
		padding: 44px 0 40px;
	}

	.jmdet-copyright__hero h1 {
		font-size: 25px;
	}

	.jmdet-copyright__section {
		padding: 46px 0 55px;
	}

	.jmdet-copyright__heading h2 {
		font-size: 22px;
	}

	.jmdet-copyright__rights {
		grid-template-columns: 1fr;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-copyright__container {
		width: calc(100% - 28px);
	}

	.jmdet-copyright__hero {
		padding: 37px 0 34px;
	}

	.jmdet-copyright__hero h1 {
		font-size: 27px;
	}

	.jmdet-copyright__hero p {
		font-size: 13px;
	}

	.jmdet-copyright__section {
		padding: 38px 0 48px;
	}

	.jmdet-copyright__block {
		margin-bottom: 42px;
	}

	.jmdet-copyright__heading h2 {
		font-size: 21px;
	}

	.jmdet-copyright__text {
		font-size: 13px;
	}

	.jmdet-copyright__right {
		padding: 12px 13px;
	}

	.jmdet-copyright__note {
		padding: 17px 18px;
	}

	.jmdet-copyright__commitment {
		padding: 21px 20px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-copyright__container {
		width: calc(100% - 24px);
	}

	.jmdet-copyright__hero h1 {
		font-size: 24px;
	}

	.jmdet-copyright__heading h2 {
		font-size: 20px;
	}

}
/* =========================================================
   JMDET — ARCHIVING POLICY
   Clean internal-page design
   ========================================================= */

.jmdet-archiving {

	--jmdet-navy: #123a63;
	--jmdet-deep: #0d2c4d;
	--jmdet-blue: #0b6fa4;
	--jmdet-blue-light: #1b8fc5;
	--jmdet-green: #3aa655;
	--jmdet-green-dark: #1b7a49;
	--jmdet-green-light: #7dcf5a;
	--jmdet-cyan: #22a8d8;

	--jmdet-text: #30495a;
	--jmdet-muted: #647b89;
	--jmdet-border: #d9e7ef;
	--jmdet-soft: #f4f8fa;
	--jmdet-white: #ffffff;

	width: 100%;

	color: var(--jmdet-text);

	font-family: inherit;

	line-height: 1.7;
}

.jmdet-archiving *,
.jmdet-archiving *::before,
.jmdet-archiving *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.jmdet-archiving__container {
	width: min(1120px, calc(100% - 40px));

	margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.jmdet-archiving__hero {
	padding: 1px 0 1px;

	background: #f7fafc;

	border-bottom: 1px solid var(--jmdet-border);
}

.jmdet-archiving__hero h1 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 25px;
	font-weight: 700;

	line-height: 1.3;
}

.jmdet-archiving__title-line {
	width: 48px;
	height: 3px;

	margin-top: 14px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}

.jmdet-archiving__hero p {
	max-width: 800px;

	margin: 17px 0 0;

	color: var(--jmdet-muted);

	font-size: 14px;

	line-height: 1.7;
}


/* =========================================================
   MAIN SECTION
   ========================================================= */

.jmdet-archiving__section {
	padding: 58px 0 70px;

	background: #fff;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.jmdet-archiving__intro {
	max-width: 1050px;

	margin-bottom: 52px;
}

.jmdet-archiving__intro p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}

.jmdet-archiving__intro p + p {
	margin-top: 17px;
}


/* =========================================================
   CONTENT BLOCK
   ========================================================= */

.jmdet-archiving__block {
	max-width: 1050px;

	margin-bottom: 48px;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.jmdet-archiving__heading {
	margin-bottom: 23px;
}

.jmdet-archiving__heading h2 {
	margin: 0;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.4;
}

.jmdet-archiving__heading span {
	display: block;

	width: 42px;
	height: 3px;

	margin-top: 11px;

	border-radius: 4px;

	background:
		linear-gradient(
			90deg,
			var(--jmdet-green),
			var(--jmdet-green-light)
		);
}


/* =========================================================
   ARCHIVING LIST
   ========================================================= */

.jmdet-archiving__list {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 11px 18px;
}

.jmdet-archiving__item {
	display: flex;

	align-items: flex-start;

	gap: 13px;

	min-width: 0;

	padding: 14px 16px;

	background: #fff;

	border: 1px solid var(--jmdet-border);

	border-radius: 5px;

	transition:
		border-color .2s ease,
		background .2s ease;
}

.jmdet-archiving__item:hover {
	border-color: #bcd8e5;

	background: #fafdfe;
}

.jmdet-archiving__item > span {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 27px;
	height: 27px;

	flex: 0 0 27px;

	margin-top: 1px;

	border-radius: 5px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 9px;

	font-weight: 800;
}

.jmdet-archiving__item p {
	margin: 1px 0 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.65;
}


/* =========================================================
   DIGITAL PRESERVATION
   ========================================================= */

.jmdet-archiving__process {
	padding-top: 5px;
}

.jmdet-archiving__process p {
	max-width: 1000px;

	margin: 0;

	color: var(--jmdet-text);

	font-size: 14px;

	line-height: 1.8;
}


/* =========================================================
   COMMITMENT
   ========================================================= */

.jmdet-archiving__commitment {
	display: flex;

	align-items: flex-start;

	gap: 18px;

	max-width: 1050px;

	padding: 25px 28px;

	background:
		linear-gradient(
			135deg,
			#f4f8fa,
			#ffffff
		);

	border: 1px solid var(--jmdet-border);

	border-left: 4px solid var(--jmdet-green);

	border-radius: 6px;
}

.jmdet-archiving__commitment-mark {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 36px;
	height: 36px;

	flex: 0 0 36px;

	border-radius: 8px;

	background: #edf7f0;

	color: var(--jmdet-green-dark);

	font-size: 17px;

	font-weight: 800;
}

.jmdet-archiving__commitment h2 {
	margin: 1px 0 8px;

	color: var(--jmdet-navy);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 19px;

	font-weight: 700;
}

.jmdet-archiving__commitment p {
	margin: 0;

	color: var(--jmdet-text);

	font-size: 13px;

	line-height: 1.75;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 700px) {

	.jmdet-archiving__container {
		width: calc(100% - 32px);
	}

	.jmdet-archiving__hero {
		padding: 44px 0 40px;
	}

	.jmdet-archiving__hero h1 {
		font-size: 25px;
	}

	.jmdet-archiving__section {
		padding: 46px 0 55px;
	}

	.jmdet-archiving__heading h2 {
		font-size: 22px;
	}

	.jmdet-archiving__list {
		grid-template-columns: 1fr;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {

	.jmdet-archiving__container {
		width: calc(100% - 28px);
	}

	.jmdet-archiving__hero {
		padding: 37px 0 34px;
	}

	.jmdet-archiving__hero h1 {
		font-size: 27px;
	}

	.jmdet-archiving__hero p {
		font-size: 13px;
	}

	.jmdet-archiving__section {
		padding: 38px 0 48px;
	}

	.jmdet-archiving__intro {
		margin-bottom: 40px;
	}

	.jmdet-archiving__intro p,
	.jmdet-archiving__process p {
		font-size: 13px;
	}

	.jmdet-archiving__block {
		margin-bottom: 40px;
	}

	.jmdet-archiving__heading h2 {
		font-size: 21px;
	}

	.jmdet-archiving__item {
		padding: 12px 13px;
	}

	.jmdet-archiving__commitment {
		padding: 20px 18px;

		gap: 13px;
	}

	.jmdet-archiving__commitment-mark {
		width: 32px;
		height: 32px;

		flex-basis: 32px;
	}

	.jmdet-archiving__commitment h2 {
		font-size: 17px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

	.jmdet-archiving__container {
		width: calc(100% - 24px);
	}

	.jmdet-archiving__hero h1 {
		font-size: 24px;
	}

	.jmdet-archiving__heading h2 {
		font-size: 20px;
	}

}
/* =========================================================
   OVERRIDE CSS — every declaration forced with !important
   so this file wins over the cached/live stylesheet.
   ========================================================= */

/* 1. Footer — remove auto-centering margin */
.pkp_structure_footer {
    margin: 0 !important;
}

/* 2. Fixed-width layout container -> fluid width */
.pkp_search_mobile,
.pkp_structure_content,
.pkp_structure_footer {
    width: 100% !important;
}

/* 3. Sidebar — moved from right to left, and widened */
.pkp_structure_sidebar {
    float: left !important;
    width: 380px !important;
}

/* 4. Site nav menu links */
.pkp_site_nav_menu a {
    display: block !important;
    /* NOTE: -0.875rem is an invalid CSS value and will be dropped by
       the browser even with !important. Replace with a valid value,
       e.g. padding: 0.875rem 0 !important; if you want visible spacing. */
    padding: -0.875rem 0 !important;
}

/* 5. Main content headings — new typography */
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4 {
    color: #123a63 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

/* 6. Contact page section separators — disable generated content */
.page_contact .contact_section:before,
.page_contact .contact_section:after {
    content: none !important;
    display: table !important;
}

/* 7. Contact page column — full width instead of 50/50 split */
.page_contact .contact {
    float: left !important;
    width: 100% !important;
}

/* 8. Login box — remove max-width constraint */
.page_login .login {
    margin-bottom: 0 !important;
    max-width: none !important;
}

/* 9. Footer content block — zero out instead of relying on rule removal
   (an external override file can't "delete" a rule from the cached
   file, so we neutralize it here instead) */
.pkp_footer_content {
    padding: 0 !important;
    text-align: left !important;
}
/* Ensure the container spreads children to the edges */
.jmdet-header__nav-inner {
    display: flex !important;
    justify-content: space-between !important;
}

/* Prevent the menu from hogging all space */
.jmdet-header__menu {
    flex: 0 1 auto !important;
}

/* Force buttons to the right and keep them compact */
.jmdet-header__tools {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
}

.jmdet-header__tools ul {
    width: auto !important;
    gap: 15px; /* Adds space between Register and Login */
}