@charset "utf-8";

/* ============================================================
   FONTS
   ============================================================ */
@font-face {
	font-family: 'Barlow Semi Condensed';
	src: url('/css/fonts/barlowsemicondensed.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Barlow Semi Condensed';
	src: url('/css/fonts/barlowsemicondensed-semibold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

/* ============================================================
   GRID / SECTIONS
   ============================================================ */
.section {
	width: 100%;
	height: 100%;
	display: table;
}
.span_1_of_3, .span_2_of_3, .span_3_of_3,
.span_4_of_4, .span_3_of_4, .span_2_of_4, .span_1_of_4,
.span_3_of_3_pd, .span_2_of_3_pd, .span_1_of_3_pd {
	display: table-cell;
	vertical-align: top;
}
.span_1_of_3 {
	width: 45%;
}
.span_2_of_3 .box {
	margin-left: 25px;
	margin-right: 25px;
}
.span_4_of_4, .span_3_of_4, .span_2_of_4, .span_1_of_4 {
	width: 22%;
	padding: 5px;
}
.span_3_of_3_pd, .span_2_of_3_pd, .span_1_of_3_pd {
	width: 31%;
	padding: 5px;
}

/* ============================================================
   BASE STYLES
   ============================================================ */
html {
	background: #ffffff;
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(162,215,250,1) 50%, rgba(252,254,255,1) 100%);
	/* background-image: url(/images/layout/header/2025-kerstmis.jpg);
	background-repeat: no-repeat;
	background-position: center top; */
	font-family: 'Barlow Semi Condensed', sans-serif;
}
body {
	margin: 0;
}
a:hover {
	text-decoration: underline;
}

/* ============================================================
   HEADER / LOGOBALK
   ============================================================ */
.header {
	margin: 0 auto 3vh;
	background-position: center;
	display: block;
}
.logobalk {
	margin: -18px auto 0;
	padding: 0 6px;
	max-width: 960px;
	width: 94%;
	height: 138px;
}
.logobalk .jrlogo img {
	width: 150px;
}
.logobalk .luister {
	text-align: right;
}
.logobalk .luister img {
	width: 100px;
}

/* ============================================================
   CONTENT / INHOUD
   ============================================================ */
.inhoud {
	max-width: 980px;
	width: 95%;
	margin: 0 auto;
}
.inhoud p, .inhoud li, .nieuwsdetail, .inhoud form,
.lijst td a, .inhoud p a, .lijst a {
	font-size: 16px;
	color: #2C2C2C;
	text-decoration: none;
}
.inhoud p, .dt3modulediv, .inhoud form, .facebookdiv {
	margin: 10px 15px 0;
}
p.nieuwsdetail, .footer div {
	line-height: 20px;
}
.lijst td a:hover, .inhoud p a:hover, .lijst a:hover {
	text-decoration: underline;
}
.inhoud td {
	vertical-align: top;
}

/* ============================================================
   BOXES
   ============================================================ */
.box:not(.adbox) {
	background-color: #fff;
	border-radius: 12px;
	padding: 0;
	box-shadow: 0 0 13px 0 rgba(0,0,0,0.46);
}
.box {
	margin-bottom: 25px;
	position: relative;
}
.box:not(.adbox), .boxonder {
	background-image: url(/images/layout/box-achtergrond_gradient2.png);
	background-position: bottom;
	background-repeat: repeat-x;
}
.box h1, #streampopup h1 {
	font-size: 22px;
	color: #fff;
	margin: 0;
	padding: 10px;
	border-style: none none solid;
	border-width: 5px;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.25);
	border-radius: 10px 10px 0 0;
}

/* Box colour themes */
#groen.box h1, #dagtop3module.box h1, #muzieklijst.box h1,
#dagtop3module .boxonder, #socialmedia.box h1,
#groen .boxonder, #nieuws .boxonder, #socialmedia .boxonder, #nieuws h1 {
	background-color: #74C402;
}
#blauw.box h1, #blauw .boxonder {
	background-color: #0096FF;
}
#oranje.box h1, #streampopup.box h1, #oranje .boxonder {
	background-color: #FF4000;
}
#rood.box h1, #rood .boxonder {
	background-color: #f00;
}

h2 {
	padding: 0;
	margin: 10px;
}
h2, h2 a {
	font-size: 19px;
	text-decoration: none;
}
.box h2 img {
	border-radius: 4px;
}

/* h2 colour themes */
#groen.box h2, #socialmedia.box h2, #dagtop3module.box h2,
#muzieklijst.box h2, #groen.box h2 a,
#dagtop3module.box h2 a, #muzieklijst.box h2 a {
	color: #74C402;
}
#nieuws h2, #speellijst.box h2, #blauw.box h2,
#nieuws h2 a, #speellijst.box h2 a, #blauw.box h2 a {
	color: #0096FF;
}
#oranje.box h2, #streampopup.box h2,
#socialmedia.box h2 a, #oranje.box h2 a, #streampopup.box h2 a {
	color: #FF4000;
}
#rood.box h2, #account.box h2,
#rood.box h2 a, #account.box h2 a {
	color: #f00;
}

.boxonder {
	font-size: 19px;
	font-weight: bold;
	margin: 0;
	padding: 10px;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.25);
	border-radius: 0 0 10px 10px;
	line-height: 30px;
}
.boxonder a {
	color: #fff;
	text-decoration: none;
}
.boxonder a:hover {
	color: #fff;
	text-decoration: underline;
}

/* ============================================================
   NEWS
   ============================================================ */
#nieuws h4 {
	color: #0096FF;
	font-size: 17px;
}
#socialmedia h4 {
	color: #74C402;
	font-size: 17px;
	margin: 0;
}
div#nieuwsfoto {
	width: 100%;
	min-height: 250px;
	background-size: cover;
	background-position: 50% 10%;
	position: relative;
	margin-bottom: 5px;
}
#nieuwsfoto #fototitel {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 90%;
	font-size: 25px;
	font-weight: bold;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.25);
	padding: 10px;
	overflow: hidden;
}
#nieuwsfoto #nieuwsschaduw {
	background-image: url(/images/layout/box-achtergrond_gradient.png);
	background-position: bottom;
	background-repeat: repeat-x;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
a#nieuwslink {
	text-decoration: none;
	color: #fff;
}
.inhoud .nieuwsfoto {
	height: 140px;
	width: 140px;
	float: left;
	margin: 5px 5px 5px 0;
}

/* ============================================================
   ARTIST PHOTO
   ============================================================ */
div.artiestfoto {
	float: right;
	width: 45%;
	max-width: 320px;
	margin: 20px 15px 5px 20px;
}
div.artiestfoto img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	border: 1px solid #d7d7d7;
}

/* ============================================================
   FORMS / INPUTS
   ============================================================ */
.inhoud #account #email, .inhoud #account #password {
	width: 200px;
	border: 1px solid #74C402;
	background-color: #E7FEC5;
	margin-bottom: 6px;
}
.muzieklijst #zoek {
	width: 70%;
	border: 1px solid #0096FF;
	background-color: #D5EEFF;
	margin-bottom: 6px;
	margin-top: 6px;
}
.muzieklijst #verzoekzoeken {
	background-color: #0096FF;
	margin-top: 3px;
	border: 1px solid #0096FF;
	color: #fff;
	font-weight: bold;
	margin-bottom: 10px;
}
input.tekstbox {
	width: 96%;
	border-style: solid;
	border-width: 1px;
	font-size: 14px;
	padding: 5px;
	margin: 0 0 15px;
	border-radius: 10px;
}
input.knop {
	font-size: 16px;
	font-weight: bold;
	padding: 9px 7px 7px;
	margin-bottom: 5px;
	color: #fff;
	border: 0;
	border-radius: 10px;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.25);
}
form.zoekbox {
	margin: 0;
}
.zoekbox input.knop {
	background-color: #FF4000;
}
.zoekbox input.tekstbox {
	border-color: #FF4000;
}
table.lijst, form {
	padding: 0 10px 5px;
}

/* ============================================================
   MELDING / NOTIFICATIONS
   ============================================================ */
.melding {
	padding: 5px;
}
.melding p {
	font-size: 13px;
	font-weight: bold;
	color: #fff;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pnummer_ac {
	display: block;
	text-align: center;
	text-decoration: none;
	float: left;
	font-size: 14px;
	padding: 1px 0;
	color: #FF4000;
	width: 20px;
	margin: 2px;
	font-weight: bold;
}
.pnummer_ac:hover {
	color: #FF4000;
}
.pnummer_na {
	display: block;
	text-align: center;
	text-decoration: none;
	color: #FF4000;
	float: left;
	font-size: 14px;
	margin: 2px;
	padding: 1px 0;
	width: 20px;
}

/* ============================================================
   DAG TOP 3 MODULE  (deduplicated)
   ============================================================ */
.dt3modulelijst {
	width: 100%;
}
.dt3modulelijst td {
	padding: 5px;
}
.dt3modulelijst #youtube, .dt3modulelijst #foto, .dt3modulelijst #plaat {
	vertical-align: middle;
}
.dt3modulelijst #youtube, .dt3modulelijst #foto {
	font-size: 17px;
}
.dt3modulelijst #artiest {
	font-size: 20px;
	font-weight: 700;
}
.dt3modulelijst #titel {
	font-size: 17px;
	font-weight: normal;
}
.dt3modulelijst #youtube {
	padding: 5px 0 0;
	width: 5%;
}
.dt3modulelijst #foto {
	padding: 5px 15px 5px 0;
	width: 25%;
}
.dt3modulelijst #foto img {
	width: 100%;
	border-radius: 4px;
}
.dt3modulelijst #nummer {
	width: 15%;
	vertical-align: middle;
}
.dt3modulelijst #nummer span {
	background-color: #74C402;
	color: #fff;
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	border-radius: 15px;
	vertical-align: middle;
	width: 40px;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.25);
	padding: 5px 15px;
}
.dt3modulelijst #plaat {
	width: 65%;
}
.dt3modulelijst #plaat a {
	color: #2C2C2C;
	text-decoration: none;
}
.dt3modulelijst #plaat a:hover {
	text-decoration: underline;
}
.dt3modulelijst #nr1 td, .dt3modulelijst #nr2 td {
	border: 1px solid #74C402;
	border-style: none none solid;
}

/* ============================================================
   DAG TOP 3 MODULE – TITLE / NAV
   ============================================================ */
#dagtop3module.box .titel {
	display: flex;
	flex-wrap: nowrap;
}
#dagtop3module.box .titel #datum {
	flex-grow: 2;
}
#dagtop3module.box .titel #navi {
	justify-content: flex-end;
}

/* ============================================================
   STRETCH / SLIDER
   ============================================================ */
.stretch {
	width: 100%;
	text-align: center;
	height: auto;
	display: block;
}
.slider {
	background-color: rgba(0,0,0,0.15);
}

/* ============================================================
   FACEBOOK / SOCIAL
   ============================================================ */
.facebookdiv {
	clear: both;
	overflow: hidden;
	position: relative;
	display: block;
}
.facebookdiv .fb-like {
	max-width: 80vw;
	width: 180px;
}

/* ============================================================
   HORIZONTAL RULES
   ============================================================ */
hr.hrgroen {
	border-style: none none solid;
	border-color: #74C402;
	border-width: 1px;
}
hr.hrblauw {
	border-style: none none solid;
	border-color: #0096FF;
	border-width: 1px;
}

/* ============================================================
   NU OP JOUWRADIO – MIDDEN
   ============================================================ */
.standaardlink {
	color: #2C2C2C;
	text-decoration: none;
}
.nuopjr_midden .nudadelijk {
	color: #BBD9FD;
	font-variant: small-caps;
	font-size: 17px;
	padding: 2px 0 4px;
	margin: 0;
}
.nuopjr_midden div.songinfo {
	vertical-align: middle;
	border-bottom: 1px solid #BBD9FD;
	display: block;
	overflow: hidden;
	min-height: 75px;
	padding: 5px 0 7px 1.5%;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.07);
}
.nuopjr_midden #responsecontainer a:last-of-type .songinfo {
	border-bottom: none;
}
.nuopjr_midden div.songinfo img {
	border-radius: 4px;
}
.nuopjr_midden .songinfotitel {
	font-size: 17px;
	font-weight: normal;
}
.nuopjr_midden .songinfoartiest {
	font-size: 20px;
}
.nuopjr_midden p.songinfotitel, .nuopjr_midden p.songinfoartiest {
	color: #fff;
	margin: 0;
}
.nuopjr_midden .songfoto {
	width: 25%;
	max-width: 120px;
	min-width: 75px;
	float: right;
	display: inline-block;
	margin-left: 5px;
}
#responsecontainer a {
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	text-align: left;
}
.nuopjr_midden #responsecontainer {
	background-color: #0096FF;
	padding: 0 5px;
	margin-bottom: 5px;
}
.nieuwopjr {
	display: table;
	padding: 0 0 5px 5px;
}
.nieuwopjrrij {
	display: table-row;
	width: 100%;
}
.nieuwopjrrij div {
	display: table-cell;
	width: 31%;
	float: left;
	padding: 1%;
}
.nieuwopjrrij img {
	border-radius: 4px;
}

/* ============================================================
   DETAIL PAGES
   ============================================================ */
.detailtitel {
	background-color: #74C402;
	color: #fff;
	font-weight: bold;
	padding: 5px;
	line-height: 30px;
	font-size: 14px;
}
.detailtitel, .detailtitel:hover {
	text-decoration: none !important;
	color: #fff !important;
}
.plaatdetail23 .plaatdetailinfo {
	display: flex;
	flex-wrap: nowrap;
	padding: 0 10px;
	column-gap: 1.5%;
	align-items: flex-start;
}
.plaatdetail23 .tekst {
	padding: 0 10px;
}
.plaatdetail23 .plaatdetailinfo .stats,
.plaatdetail23 .plaatdetailinfo .hoes {
	padding: 5px 0;
}
.plaatdetail23 .plaatdetailinfo .hoes {
	flex-basis: 50%;
	flex-shrink: 2;
	border-radius: 50px;
}
.plaatdetail23 .plaatdetailinfo .stats {
	flex-grow: 2;
	flex-basis: 50%;
}
.plaatdetail23 span,
.lijst23 .stem a, .lijst23 .plaatrij span,
.lijst23 .plaatrij input,
#dagtop3module .lijst23 .plaatrij .nummer {
	background-color: #74C402;
	padding: 3px;
	color: #fff;
	font-weight: 600;
	border-radius: 4px;
	display: inline-block;
	text-align: center;
	min-width: 20px;
}
.plaatdetail23 .plaatdetailinfo .stats hr,
.plaatdetail23 .tekst hr {
	border-style: none none solid;
	border-color: #74C402;
	border-width: 1px;
	margin: 10px 0;
}
.plaatdetail23 .plaatdetailinfo .hoes img {
	width: 100%;
	border-radius: 4px;
	margin-bottom: 3px;
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
ul.breadcrumb {
	padding: 10px 16px;
	background-color: rgba(255,255,255,0.7);
	list-style: none;
	border-radius: 10px;
}
ul.breadcrumb li {
	display: inline;
	color: rgba(0,0,0,0.3);
	font-size: 16px;
}
ul.breadcrumb li + li:before {
	padding: 8px;
	content: "\00BB";
}
ul.breadcrumb li a {
	text-decoration: none;
	color: rgba(0,0,0,0.3);
}
ul.breadcrumb li a:hover {
	text-decoration: underline;
	color: rgba(0,0,0,0.75);
}

/* ============================================================
   AUTOCOMPLETE
   ============================================================ */
.ui-autocomplete {
	border: 3px solid #FF4400 !important;
}
.ui-autocomplete li {
	line-height: 40px;
	font-size: 16px;
	border-bottom: 1px solid #FF4400;
}
.ui-autocomplete li:last-child {
	border-bottom: none;
}

/* ============================================================
   COOKIE CONSENT
   ============================================================ */
.cc-nb-buttons-container .cc-nb-okagree,
.cc-nb-buttons-container .cc-nb-reject,
.cc-cp-foot-button .cc-cp-foot-save {
	background-color: #FF4400 !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
	background-color: #3B3B3B;
	color: #fff;
	font-size: 16px;
	line-height: 18px;
	padding: 10px 0;
	margin-top: 15px;
	width: 100%;
}
.footer a {
	color: #fff;
	text-decoration: none;
}

/* ============================================================
   SKYSCRAPER ADS
   ============================================================ */
.jr-skyscraper {
	width: 160px;
	min-height: 600px;
	margin: 0 auto 25px;
	line-height: 0;
	text-align: center;
}
.span_3_of_3 .jr-skyscraper-sticky,
.jr-skyscraper-sticky {
	position: sticky;
	top: 20px;
	padding-bottom: 10px;
	box-sizing: border-box;
}

/* ============================================================
   MEDIA QUERIES
   ============================================================ */
@media only screen and (max-width: 996px) {
	body { background-position: 0 -410px; }
}
@media only screen and (max-width: 925px) {
	.span_1_of_3 { width: 55%; }
	.span_2_of_3 .box { margin-right: 0; }
	.span_3_of_3 { display: none; }
}
@media only screen and (max-width: 650px) {
	.span_1_of_3, .span_2_of_3,
	.span_4_of_4, .span_3_of_4, .span_2_of_4, .span_1_of_4,
	.span_3_of_3_pd, .span_2_of_3_pd, .span_1_of_3_pd,
	.discografie, .youtube {
		width: 95%;
		margin: 0 auto;
		float: none;
		display: block;
	}
	.span_2_of_3:not(.index) {
		display: none;
		visibility: hidden;
	}
	.span_2_of_3 .box {
		margin-left: 0;
		margin-top: 0;
	}
	.logobalk {
		height: 105px;
		margin-top: -10px;
	}
	.logobalk .jrlogo img {
		width: 115px;
	}
	.logobalk .luister img {
		width: 75px;
		max-width: 90px;
	}
	div.artiestfoto {
		float: none;
		width: auto;
		max-width: calc(100% - 30px);
		margin: 15px;
	}
	div.artiestfoto img {
		width: 100%;
		height: auto;
	}
}
@media only screen and (max-width: 450px) {
	.plaat .youtube { display: none; }
}
@media only screen and (max-width: 350px) {
	.plaatdetail23 .plaatdetailinfo { flex-wrap: wrap; }
	.plaatdetail23 .plaatdetailinfo .stats,
	.plaatdetail23 .plaatdetailinfo .hoes { flex-basis: 100%; }
	.plaatdetail23 .plaatdetailinfo .stats { order: 2; }
}

/* ============================================================
   BXSLIDER v4 – Fully loaded, responsive content slider
   http://bxslider.com  –  Steven Wanderski, 2014
   ============================================================ */

/* Reset & layout */
.bx-wrapper {
	position: relative;
	margin: 0;
	padding: 0;
}
.bxslider li {
	list-style-type: none;
	list-style-position: inside;
}
ul.bxslider {
	margin: 0;
	padding: 0;
}
.bx-wrapper img {
	max-width: 100%;
	display: block;
}

/* Theme */
.bx-wrapper .bx-viewport {
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.20);
	border: 0;
	/* fix other elements on the page moving (on Chrome) */
	transform: translateZ(0);
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
	position: absolute;
	bottom: 10px;
	width: 100%;
}

/* Loader */
.bx-wrapper .bx-loading {
	min-height: 50px;
	background: url(/images/slider/bx_loader.gif) center center no-repeat #fff;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2000;
}

/* Pager */
.bx-wrapper .bx-pager {
	text-align: center;
	font-size: .85em;
	font-family: Arial, sans-serif;
	font-weight: bold;
	color: #666;
	padding-top: 20px;
}
.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
	display: inline-block;
}
.bx-wrapper .bx-pager.bx-default-pager a {
	background: #666;
	text-indent: -9999px;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	outline: 0;
	border-radius: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #000;
}

/* Direction controls */
.bx-wrapper .bx-prev {
	left: 10px;
	background: url(/images/slider/controls.png) no-repeat 0 -32px;
}
.bx-wrapper .bx-next {
	right: 10px;
	background: url(/images/slider/controls.png) no-repeat -43px -32px;
}
.bx-wrapper .bx-prev:hover {
	background-position: 0 0;
}
.bx-wrapper .bx-next:hover {
	background-position: -43px 0;
}
.bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: -16px;
	outline: 0;
	width: 32px;
	height: 32px;
	text-indent: -9999px;
	z-index: 9999;
}
.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}

/* Auto controls */
.bx-wrapper .bx-controls-auto {
	text-align: center;
}
.bx-wrapper .bx-controls-auto .bx-start {
	display: block;
	text-indent: -9999px;
	width: 10px;
	height: 11px;
	outline: 0;
	background: url(/images/slider/controls.png) -86px -11px no-repeat;
	margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {
	background-position: -86px 0;
}
.bx-wrapper .bx-controls-auto .bx-stop {
	display: block;
	text-indent: -9999px;
	width: 9px;
	height: 11px;
	outline: 0;
	background: url(/images/slider/controls.png) -86px -33px no-repeat;
	margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {
	background-position: -86px -33px;
}

/* Pager + auto-controls hybrid */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
	text-align: left;
	width: 80%;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
	right: 0;
	width: 35px;
}

/* Captions */
.bx-wrapper .bx-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	background: rgba(80,80,80,0.75);
	width: 100%;
}
.bx-wrapper .bx-caption span {
	color: #fff;
	font-family: Arial, sans-serif;
	display: block;
	font-size: .85em;
	padding: 10px;
}
