/*
Theme Name:   CPNThemaDiviChild
Description:  NCPN Wordpress thema
Author:       NCPN
Author URL:   Schrijf hier de blog of de site-URL van de auteur
Template:     Divi
Version:      1.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  NCPNThemaDiviChild
*/

/* Schrijf hier je eigen persoonlijke stylesheet */


/* CPN-huisstijlkleuren — namen conform de brandkit (merkrichtlijnen/CPN/CPN-kleurpalet.csv) */
:root {
	/* Grijstinten */
	--ijzelijk-zwart: #262626;
	--grijs: #7A7A7A;
	--zilver: #B3B3B3;
	--platina: #E9E9E9;
	--zeezout: #F6F6F6;
	--wit: #FFFFFF;
	/* Roodtinten */
	--karmozijnrood: #AA0000; /* donkere variant */
	--morgenrood: #DD0000;    /* hoofdkleur */
	--vermiljoen: #FF3333;
	--robijnwit: #FFEBEB;
}


/* BASIS OPMAAK CSS */

.tekst-met-tabel tbody td {padding-left:0!important}

/* Titel afbrekingen */

h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
	hyphens: auto;
}


/* Witte balk onder header */

	#main-header {
		border-bottom: var(--wit) solid 6px;
		box-shadow: none !important;
}

#main-header .sub-menu {
	margin-top: 6px !important; /* sluit aan op de onderkant van de 6px witte lijn onder de header */
	border-top: 0 !important;   /* geen extra witte bovenrand; grijs begint direct onder de witte lijn */
	box-sizing: border-box;
}

/* Overbrug de 6px ruimte tussen menu-item en submenu, zodat de dropdown niet sluit
   zodra de muis de witte lijn kruist. De brug is transparant en houdt :hover vast. */
#main-header .sub-menu::before {
	content: "";
	position: absolute;
	top: -8px;
	left: 0;
	right: 0;
	height: 8px;
	background: transparent;
}

/* Dropdown: huidige pagina en mouseover in Karmozijnrood i.p.v. geel/wit.
   Alleen in het submenu (grijze achtergrond) — op de rode topbalk zou karmozijn onleesbaar zijn. */
#main-header #top-menu .sub-menu li.current-menu-item > a,
#main-header #top-menu .sub-menu li.current_page_item > a,
#main-header #top-menu .sub-menu li.current-menu-ancestor > a,
#main-header #top-menu .sub-menu li.current-page-ancestor > a,
#main-header #top-menu .sub-menu li a:hover {
	color: var(--karmozijnrood) !important;
}

/* Nette superscript (o.a. "20ste eeuw"): niet op volledige grootte en te hoog zwevend. */
sup {
	font-size: 0.65em !important;
	line-height: 0 !important;
	position: relative !important;
	vertical-align: baseline !important;
	top: -0.5em !important;
}
sub {
	font-size: 0.65em !important;
	line-height: 0 !important;
	position: relative !important;
	vertical-align: baseline !important;
	bottom: -0.25em !important;
}

/* Blog box shadow fix */

.et_pb_post_extra .post-content {
	box-shadow: none !important;}

/* bug fix submenu */


/* Forceer vecticaal scherm naar mobile menu */

@media (max-width: 1183px) {
 #et_mobile_nav_menu {
 display: block;
 }
 
#top-menu {
 display: none;
 }
 }

/* Mobiel menu fix */

#et-main-area {
    overflow: hidden!important;
}

@media only screen and (max-width: 1183px) {



.et_mobile_menu {
	box-shadow: none !important;
}

.et_mobile_menu li a {
    border-bottom: 0px solid rgba(0,0,0,.03) !important;
}

.et_mobile_menu .menu-item-has-children>a{
    
	color: var(--morgenrood) !important;
	font-weight: 700;
  background-color: rgba(0,0,0,0);
}

.et_mobile_menu .menu-item-has-children>a:hover{
    pointer-events: none !important;
}

.et_mobile_menu .menu-item-has-children>a:link{
    pointer-events: none !important;
}

.et_mobile_menu>.menu-item-140 a,
.et_mobile_menu>.menu-item-126 a,
.et_mobile_menu>.menu-item-2875 a,
.et_mobile_menu>.menu-item-2544 a,
.et_mobile_menu>.menu-item-2969 a,
.et_mobile_menu>.menu-item-3367 a,
.et_mobile_menu>.menu-item-4061 a,
.et_mobile_menu>.menu-item-4128 a{
	color: var(--morgenrood) !important;
	font-weight: 700;
  background-color: rgba(0,0,0,.0);
}


.et_mobile_menu ul.sub-menu li a {
	border-left: 2px solid var(--morgenrood)
}

ul#mobile_menu.et_mobile_menu {
	border-top: solid 6px var(--wit) !important;
}

#main-header .et_mobile_menu {
    background-color: var(--zeezout)!important;

}

.et_mobile_menu ul.sub-menu li a {
		color: var(--ijzelijk-zwart) !important;
}

.mobile_menu_bar:before, #et_search_icon:before { 
	color: var(--wit) !important;
}

/* Table fix */
.entry-content tr td{
    border: 0px solid !important;
}
.entry-content table{
    border: 0px solid !important;
}
	
	}

/* verklaringen pagina list */

/*add media query so changes only affect tablet and desktop*/

@media (min-width: 767px) {

/*set the image width*/

.pa-blog-list .entry-featured-image-url  {
width: 30%;
float: left;
margin-bottom: 0!important;
}

/*set the details width*/

.pa-blog-list .entry-title,
.pa-blog-list .post-meta,
.pa-blog-list .post-content {
width: 70%;
float: left;
padding-left: 30px;
}
}


/*blog image aspect ratio square 1:1*/

.entry-featured-image-url {
  padding-top: 30%;
  display: block;
}

.entry-featured-image-url img {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
}

/*Post Content module padding fix*/
.et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100%;
}

/* tabel contactgegevens fix*/
#contactgegevens table, #contactgegevens td, #contactgegevens tr { border: 0px !important;}

/* hardcoded artikel tekstopmaak */

.single-post p.auteur {
	font-style: italic;
	font-weight: 600;
	color: var(--morgenrood);
}

.single-post p.intro {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 20px;
	line-height: 2em;
}

/* bullets pagina's */

.wpforms-form  ul li:before {
		content: none !important;
}

.et_pb_text ul, .et_pb_blurb ul{
	margin: 0px 0px;
	list-style: none;
}

.et_pb_text ul li {
	margin-left: 0em;
	margin-bottom: 5px;
}

.et_pb_text ul li:before, .et_pb_blurb ul li:before{
	content: "\39"; /* FontAwesome Unicode */
	font-family: ETmodules;
	color: var(--morgenrood);	
	display: inline-block;
	margin-left: -1.3em; /* same as padding-left set on li */
	width: 1.3em; /* same as padding-left set on li */
}


/* bullets artikelen */

.single-post .et_pb_text ul, .single-post .et_pb_blurb ul{
	margin: 10px 0px;
	background: #f9f9f9;
	list-style: none;
	padding: 25px 25px
}

.single-post .et_pb_text ol, .single-post .et_pb_blurb ol {
	margin: 10px 0px;
	background: #f9f9f9;
	list-style: none;
	padding: 25px 25px
}

.single-post .et_pb_text ol, .single-post .et_pb_blurb ol {
	margin: 10px 0px;
	background: #f9f9f9;
	list-style: none;
	padding: 25px 25px;
}

.single-post .et_pb_text ul li {
	padding-left: 1.3em;
}

.single-post .et_pb_text ol li, .et_pb_blurb ol li{
	counter-increment: step-counter;
	padding-left: 2em;
	margin-bottom: 7px;
}

.single-post .et_pb_text ul li:before, .single-post .et_pb_blurb ul li:before{
	content: "\39"; /* FontAwesome Unicode */
	font-family: ETmodules;
	color: var(--morgenrood);	
	display: inline-block;
	margin-left: -1.3em; /* same as padding-left set on li */
	width: 1.3em; /* same as padding-left set on li */
}

.single-post .et_pb_text ol li:before, .single-post .et_pb_blurb ol li:before{
	content: counter(step-counter)".";
	color: var(--morgenrood);	
	display: inline-block;
	margin-left: -2em; /* same as padding-left set on li */
	width: 2em; /* same as padding-left set on li */
}

/* Bronvermelding afbeeldingen */

.custom-caption {
    /* Aanpassen aan je voorkeur */
    font-size: 14px;
    font-style: italic;
    color: #999999;
    text-align: center;
    margin: 10px 0;
}


/* Voorpagina-hero: geen boog (divider) op mobiel */
@media (max-width: 767px) {
	.cpn-hero .et_pb_bottom_inside_divider { display: none; }
}

/* Voorpagina-hero op desktop: zelfde hoogte als de oude slider (28,16% van de breedte), foto gecentreerd bijgesneden */
@media (min-width: 981px) {
	.cpn-hero .et_pb_fullwidth_image img { width: 100%; height: 28.16vw; object-fit: cover; object-position: center; }
}

/* Onzichtbare kop (wel voor zoekmachines/schermlezers), o.a. H1 op de voorpagina */
.cpn-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.cpn-hero .et_pb_fullwidth_code:has(.cpn-sr-only) { margin: 0; padding: 0; }

/* Voorpagina-blurbs: geen woordafbreking (bv. "Commu-nistische") */
.home .et_pb_blurb .et_pb_module_header,
.home .et_pb_blurb .et_pb_module_header a,
.home .et_pb_blurb .et_pb_blurb_description { -webkit-hyphens: none; hyphens: none; overflow-wrap: normal; word-break: normal; }

/* Voorpagina, rij met 4 blurbs: titels en tekstblokken op gelijke hoogte, geen losse eindwoorden */
.home .et_pb_row_4col .et_pb_blurb .et_pb_module_header { text-wrap: balance; }
.home .et_pb_row_4col .et_pb_blurb .et_pb_blurb_description,
.home .et_pb_row_4col .et_pb_blurb .et_pb_blurb_description p { text-wrap: pretty; }
@media (min-width: 768px) {
	.home .et_pb_row_4col .et_pb_blurb .et_pb_module_header { box-sizing: content-box; min-height: 2.6em; } /* 2 regels (line-height 1.3em) */
}


/* Footer: kop boven het zoekveld ("Vind op cpn.nl") wit op het rode vlak */
.et-l--footer .et_pb_text:has(+ .et_pb_search) h4 { color: #fff !important; }

/* Voorpagina, variant A: rode band "De CPN-familie" (witte logo's) */
.cpn-familie .cpn-familie-kop { color: #fff !important; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; padding-bottom: 0; }
.cpn-familie .et_pb_blurb .et_pb_module_header, .cpn-familie .et_pb_blurb .et_pb_module_header a { color: #fff !important; text-wrap: balance; -webkit-hyphens: none; hyphens: none; }
.cpn-familie .et_pb_blurb_description, .cpn-familie .et_pb_blurb_description p { color: #fff; text-wrap: balance; -webkit-hyphens: none; hyphens: none; }
.cpn-familie .et_pb_blurb_description p { padding-bottom: 4px; }
@media (min-width: 768px) { .cpn-familie .et_pb_blurb .et_pb_module_header { box-sizing: content-box; min-height: 2.6em; } } /* titels 2 regels hoog: teksten gelijk */
.cpn-familie .cpn-actie a { color: #F7CB3B; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; } /* honingkleur, zoals de accenten in het rode blok */
.cpn-familie .cpn-actie a:hover, .cpn-familie .cpn-actie a:focus-visible { color: #fff; text-decoration-thickness: 2px; }
.cpn-familie .et_pb_main_blurb_image { height: 104px; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.cpn-familie .et_pb_main_blurb_image .et_pb_image_wrap { width: 100%; height: 104px; display: flex; align-items: center; justify-content: center; }
.cpn-familie .et_pb_main_blurb_image img { width: auto; max-width: 100%; height: 88px; object-fit: contain; }
.cpn-familie .et_pb_main_blurb_image img[src*="vcg-wit"] { height: 104px; } /* rond logo oogt kleiner: iets groter */
/* Voorpagina, variant A: grijze strook "Internationaal verbonden met" (logo's grijs, kleur bij aanwijzen) */
.cpn-intl { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 36px; }
.cpn-intl-kop { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #555; }
.cpn-intl a { display: inline-flex; align-items: center; gap: 10px; color: #333; font-weight: 600; text-decoration: none; }
.cpn-intl a:hover { color: #dd0000; }
.cpn-intl img { height: 44px; width: auto; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.cpn-intl a:hover img, .cpn-intl a:focus-visible img { filter: none; opacity: 1; }

/* Verwante organisaties en internationaal op mobiel: compacte lijst (logo links, tekst rechts) */
@media (max-width: 767px) {
	.cpn-familie { padding: 36px 0 28px !important; }
	.cpn-familie .et_pb_row { padding: 0 !important; }
	.cpn-familie .et_pb_column { margin-bottom: 0 !important; }
	.cpn-familie .et_pb_column + .et_pb_column .et_pb_blurb { border-top: 1px solid rgba(255,255,255,.35); }
	.cpn-familie .et_pb_blurb { padding: 18px 0 !important; margin: 0 !important; }
	.cpn-familie .et_pb_blurb_content { display: grid; grid-template-columns: 64px 1fr; column-gap: 18px; align-items: center; max-width: none; text-align: left; }
	.cpn-familie .et_pb_main_blurb_image, .cpn-familie .et_pb_main_blurb_image .et_pb_image_wrap { height: 64px; margin: 0 !important; max-width: 64px !important; }
	.cpn-familie .et_pb_main_blurb_image img, .cpn-familie .et_pb_main_blurb_image img[src*="vcg-wit"] { height: 56px; }
	.cpn-familie .et_pb_blurb_container { padding: 0; }
	.cpn-familie .et_pb_blurb, .cpn-familie .et_pb_blurb .et_pb_blurb_container, .cpn-familie .et_pb_blurb .et_pb_module_header, .cpn-familie .et_pb_blurb .et_pb_blurb_description, .cpn-familie .et_pb_blurb p { text-align: left !important; }
	.cpn-familie .et_pb_module_header { padding-bottom: 2px; font-size: 17px; text-wrap: wrap; }
	.cpn-familie .et_pb_blurb_description p { padding-bottom: 2px; text-wrap: wrap; }
	.cpn-familie .cpn-familie-kop { margin-bottom: 4px; }
	.cpn-intl { flex-direction: column; align-items: stretch; gap: 12px; max-width: 300px; margin: 0 auto; }
	.cpn-intl-kop { text-align: center; }
	.cpn-intl a { justify-content: flex-start; }
	.cpn-intl img { width: 44px; object-fit: contain; }
}

/* Footer (tablet/mobiel, < 981px): "Vind op cpn.nl" even vet als "Contactgegevens" en "Sociale Media" */
@media (max-width: 980px) { .et-l--footer .et_pb_text:has(+ .et_pb_search) h4 { font-weight: 700; } }

/* Footer: privacy- en cookielinks onder het zoekveld */
.et-l--footer .cpn-footer-links-module { margin-top: 14px !important; }
.et-l--footer .cpn-footer-links { font-size: 12px; font-weight: 400; color: #fff !important; padding: 0; }
.et-l--footer .et_pb_text .et_pb_text_inner .cpn-footer-links a { color: #fff !important; font-weight: 400; text-decoration: none; }
.et-l--footer .et_pb_text .et_pb_text_inner .cpn-footer-links a:hover, .et-l--footer .et_pb_text .et_pb_text_inner .cpn-footer-links a:focus-visible { color: #F7CB3B !important; text-decoration: underline; text-underline-offset: 3px; }

/* Voorpagina, vier blurbs bovenaan: open kolommen (geen icoon), hele kolom klikbaar */
.home .cpn-blurb-open { position: relative; }
.home .cpn-blurb-open .et_pb_main_blurb_image { height: 40px; margin: 0 auto 16px !important; display: flex; align-items: center; justify-content: center; max-width: none !important; width: 100%; }
.home .cpn-blurb-open .et_pb_main_blurb_image .et_pb_image_wrap { width: auto; height: 40px; display: flex; align-items: center; }
.home .cpn-blurb-open .et_pb_main_blurb_image img { height: 36px; width: auto; max-width: none; }
.home .cpn-blurb-open .et_pb_main_blurb_image img[src*="beeldmerk"] { height: 40px; }
.home .cpn-blurb-open:hover .et_pb_main_blurb_image img { transform: translateY(-2px); transition: transform .15s; }
.home .cpn-blurb-open .et_pb_module_header, .home .cpn-blurb-open .et_pb_module_header a { color: #262626 !important; font-weight: 800; }
.home .cpn-blurb-open .et_pb_module_header a::after { content: ""; position: absolute; inset: 0; }   /* hele kolom = link */
.home .cpn-blurb-open .et_pb_blurb_description p { color: #262626; }
.home .cpn-blurb-open .cpn-blurb-actie { padding-top: 6px; }
.home .cpn-blurb-open .cpn-blurb-actie a { color: #DD0000; font-weight: 700; }
.home .cpn-blurb-open:hover .et_pb_module_header a, .home .cpn-blurb-open:hover .cpn-blurb-actie a { color: #DD0000 !important; text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 768px) {   /* actielinks altijd op één lijn, ongeacht de tekstlengte */
	.home .et_pb_row_4col:has(.cpn-blurb-open) { display: flex; align-items: stretch; }
	.home .et_pb_row_4col .et_pb_column:has(.cpn-blurb-open) { display: flex; flex-direction: column; }
	.home .cpn-blurb-open { flex: 1; display: flex; }
	.home .cpn-blurb-open .et_pb_blurb_content, .home .cpn-blurb-open .et_pb_blurb_container, .home .cpn-blurb-open .et_pb_blurb_description { display: flex; flex-direction: column; flex: 1; width: 100%; }
	.home .cpn-blurb-open .cpn-blurb-actie { margin-top: auto; }
}
