
/**
 * 	. Typography
 * 	. Layout
 * 		- Common
 *			- Menus
 * 			- Tag, Button & Form Submit
 * 		- Carousel
 * 		- Blurbs
 * 			- List
 * 			- Numbers
 * 		- Button
 * 		- Form
 *		- Gallery
 * 		- Header
 * 			- Menu
 *		- Footer
 * 		- Heading Small
 *		- Popup
 *		- Table
 * 		- Tag
 * 		- Trigger
 *		- Video
 *   . Modules
 *   	. Common
 *   	. Blurbs
 *   		- Numbers
 *   		- Contacts
 *   	. Documentation
 *   	. Locations
 *		. Milestones
 *   	. Partners
 *		. Products
 *   	. Projects
 *			- Project
 *   	. Team Member
 *   	. Testimonials
 *	. Others
 *		. Fancybox
 *	. WP
 *		- Gallery [Logos]
 * 
 */


:root {

	--cpsb-globals-inc: .75;
	
	/* colors*/
	--cpsb-globals-theme-colors-scheme1-color1: #0A543D; /* green */
	--cpsb-globals-theme-colors-scheme1-color2: #012F21; /* darkgreen */
	--cpsb-globals-theme-colors-scheme1-color3: #9E0A32; /* grená */
	--cpsb-globals-theme-colors-scheme1-color4: #E35727; /* dark orange */
	--cpsb-globals-theme-colors-scheme1-color5: #FAB011; /* yellow */
	--cpsb-globals-theme-colors-scheme1-color6: #FBC859; /* light yellow */
	--cpsb-globals-theme-colors-scheme1-color7: #B3DBEB; /* blue */
	--cpsb-globals-theme-colors-scheme1-color8: #91C5DA; /* dark blue */
	--cpsb-globals-theme-colors-scheme1-color9: #538777; /* medium green */
	--cpsb-globals-theme-colors-scheme1-color10: #008073; /* main green */
	--cpsb-globals-theme-colors-scheme1-color11: #84AA9F; /* light green */
	--cpsb-globals-theme-colors-scheme1-color12: #D9EEF5; /* light blue */
	--cpsb-globals-theme-colors-scheme1-color13: #F5EBD1; /* beige light */
	--cpsb-globals-theme-colors-scheme1-color14: #F58F1F; /* orange */
	--cpsb-globals-theme-colors-scheme1-color15: #CAE6F0; /* medium blue */
	--cpsb-globals-theme-colors-scheme1-color16: #E57E0C; /* dark orange */
	--cpsb-globals-theme-colors-scheme1-color17: #810628; /* dark grená */
	--cpsb-globals-theme-colors-scheme1-color18: #E9A209; /* dark yellow */
	--cpsb-globals-theme-colors-scheme1-color19: #CB3F0F; /* really dark orange */


	/* typography */
	--cpsb-globals-theme-fonts-type1: "EB Garamond", serif;
	--cpsb-globals-theme-fonts-type2: "Open Sans", sans-serif;

	/* Base scaling factor */
	--cpsb-globals-theme-fonts-base-size: 1rem; /* Default body font size (16px) */

	/* Font sizes using clamp (min, preferred, max) */
	--cpsb-globals-theme-fonts-size-h1: clamp(2.5rem, 5vw, 3.8rem); /* Min: 40px, Pref: based on viewport, Max: 60.8px */
	--cpsb-globals-theme-fonts-size-h2: clamp(2.2rem, 4.5vw, 3.2rem); /* Min: 35px, Pref: based on viewport, Max: 51.2px */
	--cpsb-globals-theme-fonts-size-h3: clamp(1.8rem, 3.5vw, 1.9rem); /* Min: 28px, Pref: based on viewport, Max: 30.4px */
	--cpsb-globals-theme-fonts-size-h4: clamp(1.6rem, 3vw, 1.7rem); /* Min: 26px, Pref: based on viewport, Max: 27.2px */
	--cpsb-globals-theme-fonts-size-body: clamp(1rem, 1.5vw, 1.3rem); /* Min: 16px, Pref: based on viewport, Max: 20.8px */
	--cpsb-globals-theme-fonts-size-body-big: clamp(1.25rem, 1.8vw, 1.4rem); /* Min: 20px, Pref: based on viewport, Max: 22.4px */
	--cpsb-globals-theme-fonts-size-body-small: clamp(0.625rem, 1.2vw, 0.875rem); /* Unchanged */

	/* Line heights (relative to font size) */
	--cpsb-globals-theme-fonts-line-height-h1: 1.2; /* Slightly bigger for readability */
	--cpsb-globals-theme-fonts-line-height-h2: 1.25;
	--cpsb-globals-theme-fonts-line-height-h3: 1.3;
	--cpsb-globals-theme-fonts-line-height-h4: 1.35;
	--cpsb-globals-theme-fonts-line-height-body: 1.2;
	--cpsb-globals-theme-fonts-line-height-body-big: 1.3;
	--cpsb-globals-theme-fonts-line-height-body-small: 1.3; /* Unchanged */




	/* override globals */
	/* conversion of pixel size to rems, 1rem body, 24 is the figma layout size (1rem / 24px)*/
	/* 1rem is usually 16px */
	
/* 	--cpsb-globals-theme-fonts-px2rem: 1rem / 16;

	--cpsb-globals-theme-fonts-size-h1: calc( 100 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-size-h2: calc( 64 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-size-h3: calc( 40 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-size-h4: calc( 32 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-size-body-big: calc(32 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-size-body: calc(24 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-size-body-small: calc(16 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );


	--cpsb-globals-theme-fonts-line-height-h1: calc( 100 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-line-height-h2: calc( 70 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-line-height-h3: calc( 52 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-line-height-h4: calc( 32 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-line-height-body-big: calc(32 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-line-height-body: calc( 26 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) );
	--cpsb-globals-theme-fonts-line-height-body-small: calc( 21 * var(--cpsb-globals-theme-fonts-px2rem) * var(--cpsb-globals-inc) ); */


	--cpsb-globals-theme-fonts-weight-regular: 400;
	--cpsb-globals-theme-fonts-weight-medium: 500;
	--cpsb-globals-theme-fonts-weight-semibold: 600;
	--cpsb-globals-theme-fonts-weight-bold: 700;

	--cpsb-globals-theme-form-h4-label-margin: calc( -1 * var(--plura-globals-wp-form-gap) / 3 * 2 );

	/* icons */
	--cpsb-globals-theme-icon-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='90' fill='none' stroke-width='15' stroke='%23fff'/%3E%3Cpolygon points='70,55 70,145 145,100' fill='%23fff'/%3E%3C/svg%3E");


}

@media (min-width: 991px) {

	:root {
		--cpsb-globals-inc: .85;
	}

}



body, h1, h2, h3, h4, h5, h6 {
	color: var(--cpsb-globals-theme-colors-scheme1-color1);
	font-family: var(--cpsb-globals-theme-fonts-type1);
}


body {
	
	-webkit-font-smoothing: antialiased; /* Safari e Chrome */
	-moz-osx-font-smoothing: grayscale; /* Firefox no macOS */
	font-smooth: antialiased; /* CSS */

	font-size: var(--cpsb-globals-theme-fonts-size-body) !important;
	line-height: var(--cpsb-globals-theme-fonts-line-height-body);
}

:is( :where(.cpsb-heading), :not(.cpsb-heading) ) h1 {
	font-size: var(--cpsb-globals-theme-fonts-size-h1);
	line-height: var(--cpsb-globals-theme-fonts-line-height-h1);	
}

:is( :where(.cpsb-heading), :not(.cpsb-heading) ) h2 {
	font-size: var(--cpsb-globals-theme-fonts-size-h2);
	line-height: var(--cpsb-globals-theme-fonts-line-height-h2);	
}

:is( :where(.cpsb-heading), :not(.cpsb-heading) ) h3 {
	font-size: var(--cpsb-globals-theme-fonts-size-h3);
	line-height: var(--cpsb-globals-theme-fonts-line-height-h3);	
}

:is( :where(.cpsb-heading), :not(.cpsb-heading) ) h4 {
	font-size: var(--cpsb-globals-theme-fonts-size-h4);
	line-height: var(--cpsb-globals-theme-fonts-line-height-h4);	
}


body .cpsb-txt-big {
	font-size: var(--cpsb-globals-theme-fonts-size-body-big);
	font-weight: var(--cpsb-globals-theme-fonts-weight-medium);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body-big);
}

:is(.cpsb-heading) :is(h1, h2, h3, h4, h5, h6) {
	font-weight: var(--cpsb-globals-theme-fonts-weight-regular);
	padding-bottom: 0;
}

:is(.cpsb-heading):not(.cpsb-txt-lcase) :is(h1, h2, h3, h4, h5, h6) {
	text-transform: uppercase;
}


body :is(.plura-wp-post-read-more, .cpsb-txt-small, .cpsb-button, .cpsb-heading-small, .cpsb-tag, .wpcf7 form.plura-wp-cf7 :is( input[type="submit"], button.action-button) ) {
	font-family: var(--cpsb-globals-theme-fonts-type2);
	font-size: var(--cpsb-globals-theme-fonts-size-body-small);
	font-weight: var(--cpsb-globals-theme-fonts-weight-bold);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body-small);
	text-transform: uppercase;		
}



:where(table, p) a {
	color: inherit;
	font-weight: var(--cpsb-globals-theme-fonts-weight-semibold);
	text-decoration: underline;
}



/* Layout: Common - Heading Small, Button & Tag */
/*body :is(.cpsb-button, .cpsb-heading-small, .cpsb-tag) {

}*/



/* Layout: Common - Menus */


/* Layout: Common - Button, Tag & Form Submit */
body :is(.plura-wp-post-read-more, .cpsb-button, .cpsb-tag, .wpcf7 form.plura-wp-cf7 :is( input[type="submit"]), button.action-button )  {
	--cpsb-item-height: 46px;
	margin-bottom: 0 !important;
}




/* Layout: Carousel */
.plura-wp-posts.f-carousel {
	margin-top: 20px;
}

.plura-wp-posts.f-carousel .f-carousel__nav {
	/*--cpsb-globals-inc: 1;*/
	--n: calc( 26px * var(--cpsb-globals-inc) );
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	position: absolute;
	top: calc( -1 * ( 20px + var(--n) ) );
	right: 0;
	width: calc( var(--n) * 2 + 32px * var(--cpsb-globals-inc) );
}

.plura-wp-posts.f-carousel .f-carousel__nav .f-button {
	background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
	border-radius: calc( var(--n) / 2 );
	height: var(--n);
	position: unset;
	top: unset;
	transform: unset;
	width: var(--n);
}

.plura-wp-posts.f-carousel .f-carousel__nav .f-button svg {
	color: white;
	height: auto;
	width: calc( 100% * 2 / 3 );
}


.plura-wp-posts.f-carousel .f-carousel__dots .is-current button .f-carousel__dot {
	background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
}



/* Layout: Blurb - List */
.cpsb-blurb1 {
	gap: calc( var(--cpsb-globals-gap) / 2 );
}

.cpsb-blurb1, .cpsb-blurb1 .et_pb_module_header {
	align-items: center;
	display: flex;	
}

.cpsb-blurb1 .et_pb_module_header {
	--cpsb-blurb1-header-size: calc( 40px * var(--cpsb-globals-inc) );
	background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
	border-radius: calc( var(--cpsb-blurb1-header-size) / 2 );
	font-family: var(--cpsb-globals-theme-fonts-type2);
	font-size: var(--cpsb-globals-theme-fonts-size-body);
	font-weight: var(--cpsb-globals-theme-fonts-weight-bold);
	height: var(--cpsb-blurb1-header-size);
	justify-content: center;
	padding-bottom: 0;
	width: var(--cpsb-blurb1-header-size);
}

.cpsb-blurb1 .et_pb_blurb_description {
	font-size: var(--cpsb-globals-theme-fonts-size-h4);
	line-height: var(--cpsb-globals-theme-fonts-line-height-h4);
}

.cpsb-blurb1 :is(.et_pb_blurb_content, .et_pb_blurb_container ) {
	display: contents;
}


/* Layout: Button */
.cpsb-button:not(.et_pb_module) {
	color: white;
    background-color: var(--cpsb-globals-theme-colors-scheme1-color1);	
}

.wp-block-button.cpsb-button {
	color: var(--cpsb-globals-theme-colors-scheme1-color7);
    background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
}


/* Layout: Form */
/* .wpcf7 form.plura-wp-cf7 {
	--plura-globals-wp-form-obj-h: calc( 50px * var(--cpsb-globals-inc) );
	--cpsb-form-border-radius: calc( 8px * var(--cpsb-globals-inc) );
}

.wpcf7 form.plura-wp-cf7 label {
	color: var(--cpsb-globals-theme-colors-scheme1-color1);
}

.wpcf7 form.plura-wp-cf7 :is( 
	input:is([type="date"], [type="email"], [type="number"], [type="tel"], [type="text"], [type="time"]), select, textarea, .wpcf7-not-valid-tip, .wpcf7-response-output
) {
	font-family: var(--cpsb-globals-theme-fonts-type2);
	font-size: var(--cpsb-globals-theme-fonts-size-body-small);
	font-weight: var(--cpsb-globals-theme-fonts-weight-semibold);
}

.wpcf7 form.plura-wp-cf7 :is( 
	input:is([type="date"], [type="email"], [type="number"], [type="tel"], [type="text"], [type="time"]), select, textarea, .wpcf7-response-output
) {
	border-radius: var(--cpsb-form-border-radius);
}

.wpcf7 form.plura-wp-cf7 :is( 
	input:is([type="date"], [type="email"], [type="number"], [type="tel"], [type="text"], [type="time"]), select, textarea
) {
	background-color: transparent;
	border: 2px solid var(--cpsb-globals-theme-colors-scheme1-color1);
}

.wpcf7 form.plura-wp-cf7 :is( input[type="submit"], .wpcf7-response-output ) {
	background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
	color: white;
}


.wpcf7 form.plura-wp-cf7 input[type="submit"] {
	min-width: calc( 136px * var(--cpsb-globals-inc) );
}

.wpcf7 form.plura-wp-cf7 .wpcf7-not-valid-tip  {
	color: var(--cpsb-globals-theme-colors-scheme1-color3);
}

.wpcf7 form.plura-wp-cf7 .wpcf7-response-output {
	border: none;
}

.wpcf7 form.plura-wp-cf7 .wpcf7-response-output svg {
	fill: white;
}

.wpcf7 form.plura-wp-cf7 .wpcf7-acceptance .cpsb-form-terms-and-conditions {
	cursor: pointer;
	font-weight: bold;
}

.wpcf7 form.plura-wp-cf7 :is(h3, h4) {
	padding-bottom: 0;
	width: 100%;
}

.wpcf7 form.plura-wp-cf7 h4 + label {
	margin-top: var(--cpsb-globals-theme-form-h4-label-margin);
}


.wpcf7 form.plura-wp-cf7.cf7mls fieldset.fieldset-cf7mls button:is(.cf7mls_back, .cf7mls_next) {
	background-color: var(--cpsb-globals-theme-colors-scheme1-color13);
	color: var(--cpsb-globals-theme-colors-scheme1-color1);
}
 */



 /* Layout: Gallery */
 :not(.plura-fx-infinitescroll-item) > .cpsb-section-gallery,
 .plura-fx-infinitescroll-container:has(.cpsb-section-gallery) {
	border-radius: calc( var(--cpsb-globals-layout-button-h) / 2 );
 }



 
/* Layout: Heading Small */




/* Layout: Header (common to other menus) */
header :is(.cpsb-primary-menu, .cpsb-secondary-menu) .et-menu {
	margin-left: 0;
	margin-right: 0;
}

header :is(.cpsb-primary-menu, .cpsb-primary-menu-mobile) .et_pb_menu__logo {
	margin-right: 0;
}


@media (min-width: 991px) {

	/* main / secondary */
	header :is(.cpsb-primary-menu, .cpsb-secondary-menu) {
		margin: 0 !important;
	}

	header :is(.cpsb-primary-menu, .cpsb-secondary-menu) .et-menu {
		gap: 20px;
	}

	header :is(.cpsb-primary-menu, .cpsb-secondary-menu) .et-menu .menu-item {
		padding-left: 0;
		padding-right: 0;
	}


	/* main */
	header .cpsb-primary-menu .et_pb_menu_inner_container.clearfix {
		align-items: flex-end;
		justify-content: space-between;
	}

	header .cpsb-primary-menu .et_pb_menu_inner_container.clearfix::after {
		content: none;
	}

	header .cpsb-primary-menu .et_pb_menu_inner_container.clearfix .et_pb_menu__wrap {
		flex: 0 0 auto;
	}

	header .et_pb_section > .et_pb_row:nth-child(1) {
		position: relative;
	}

	header .cpsb-primary-menu .et-menu .menu-item > a {
		padding-bottom: 0;
		padding-top: 0;
	}

	/* secondary */
	header .cpsb-secondary-menu {
		display: flex;
		justify-content: flex-end;
		position: absolute;
		right: 50%;
		transform: translateX(50%);
		z-index: 2;
	}

	header .cpsb-secondary-menu .et-menu .menu-item {
		align-items: center !important;
	}

	/*header .cpsb-secondary-menu .et-menu .menu-item > a {
		color: var(--cpsb-globals-theme-colors-orange3) !important;
		font-family: var(--cpsb-globals-theme-font-family-body2) !important;
		font-size: var(--cpsb-globals-theme-font-size-body2) !important;
		font-weight: var(--cpsb-globals-theme-font-weight-regular) !important;
		line-height: var(--cpsb-globals-theme-font-lineheight-body2) !important;
		padding-bottom: 0 !important;
		text-transform: uppercase;
	}*/

	/*header .cpsb-secondary-menu .et-menu .menu-item.cp-highlight {
		padding: 10px 20px;
	}

	header .et_pb_row.et_pb_sticky .cpsb-secondary-menu .et-menu .menu-item.cp-highlight {
		padding: 5px 20px;	
	}

	header .cpsb-secondary-menu .et-menu .menu-item.cp-highlight > a {
		color: black;
	}*/

}


header :is(.cpsb-primary-menu, .cpsb-secondary-menu) {
	font-family: var(--cpsb-globals-theme-fonts-type2);
	font-size: var(--cpsb-globals-theme-fonts-size-body-small);
	font-weight: var(--cpsb-globals-theme-fonts-weight-bold);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body-small);
}

header .cpsb-primary-menu {
	text-transform: uppercase;
}

header .cpsb-primary-menu .menu-item a {
	color: var(--cpsb-globals-theme-colors-scheme1-color3);
}

header .cpsb-secondary-menu .menu-item a {
	color: black;
}



/* Layout: Header Menu Highlight */
header :is(.cpsb-primary-menu, .cpsb-secondary-menu) .menu-item.cpsb-highlight {
    --n: calc( var(--cpsb-globals-inc) * 12px );
    background-color: var(--cpsb-globals-theme-colors-scheme1-color14);
    border-radius: calc( var(--n) / 2 );
    padding: var(--n) !important;
}



/* Layout: Header Mobile Menu */
@media (max-width: 990px) {

	/* Define variables for easy customization */
	header .et_mobile_menu {
		--mobile-nav-gap: 10px;
	}

	header .et_mobile_menu > .menu-item {
		margin-bottom: calc( var(--mobile-nav-gap) / 2);
	}

	/* Menu Item and Submenu Styles */
	header .et_mobile_menu .menu-item > a {
		background-color: transparent;
		border-bottom: unset;
		padding: 0;
	}

	header .et_mobile_menu .menu-item .sub-menu {
		display: flex !important;
		flex-wrap: wrap;
		gap: 0 var(--mobile-nav-gap);
		width: 100%;
		padding-left: 0;
	}

	header .et_mobile_menu .menu-item .sub-menu > .menu-item {
		padding-left: 0;
	}

	/* Submenu Text Styles */
	header .et_mobile_menu .sub-menu .menu-item > a {
		font-size: 0.85em;
		line-height: 2.5;
	}

	header .et_mobile_menu .sub-menu .sub-menu .menu-item > a {
		font-size: 0.7em;
		line-height: 2;
	}

	/* Nested Submenu Adjustments */
	header .et_mobile_menu .sub-menu .menu-item.menu-item-has-children {
		width: 100%;
		display: block;
	}

	header .et_mobile_menu .sub-menu .menu-item-has-children + .menu-item-has-children {
		margin-top: calc(var(--mobile-nav-gap) / 2);
	}

}




/* Layout: Footer */
@media screen and (max-width: 990.99px) {

	footer .cpsb-footer-menu .et_pb_menu__menu {
		display: block;
	}

	footer .cpsb-footer-menu .et_mobile_nav_menu {
		display: none;
	}
	
}

footer .cpsb-footer-menu :is(.et_pb_menu__menu,  .et_pb_menu__menu :is(nav, .et-menu)) {
	width: 100%;
}

footer .cpsb-footer-menu .et_pb_menu__menu .et-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

footer .cpsb-footer-menu .menu-item > a {
	color: white;
	font-size: var(--cpsb-globals-theme-fonts-size-body-small);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body);
}

@media screen and (min-width: 991px) {

	footer .cpsb-footer-menu .et_pb_menu__menu .et-menu {
		justify-content: space-between;
	}

	footer .cpsb-footer-menu .et_pb_menu__menu .et-menu .menu-item:first-child {
		padding-left: 0;
	}

	footer .cpsb-footer-menu .et_pb_menu__menu .et-menu .menu-item:last-child {
		padding-right: 0;
	}

	
}






/* Layout: Popup */
.plura-popup {
	color: var(--cpsb-globals-theme-colors-scheme1-color1);
}



/* Layout: Table */
:where(#main-content, .plura-popup) table {
    border-collapse: collapse;
    width: 100%;
}

:where(#main, .plura-popup) table :is(th, td) {
    border: 1px solid var(--cpsb-globals-theme-colors-scheme1-color1);
    padding: calc( var(--cpsb-globals-gap) / 3 );
}





/* Layout: Tag */



/* Layout: Trigger */
.cpsb-trigger {
	border-radius: calc( 8px * var(--cpsb-globals-inc) );
	align-items: center;
	display: inline-flex;
	font-weight: var(--cpsb-globals-theme-fonts-weight-semibold);
	padding: 0 calc( 70px * var(--cpsb-globals-inc) / 2 );
	height: calc( 70px * var(--cpsb-globals-inc) );
	text-transform: uppercase;
}

.cpsb-trigger::after {
	content: '+';
	margin-left: calc( 8px * var(--cpsb-globals-inc) );
}


/* Layout: Video */
@media (min-width: 991px) {

	.wp-block-video.cpsb-video {
		position: relative;
	}
	
	.wp-block-video.cpsb-video::before,
	.wp-block-video.cpsb-video::after {
		content: '';
		opacity: 1;
		pointer-events: auto;
		position: absolute;
		visibility: visible;
	}
	
	.wp-block-video.cpsb-video::before {
		background-color: rgba(0,0,0, .6666);
		height: 100%;
		width: 100%;
	}
	
	.wp-block-video.cpsb-video::after {
		--size: 80px;
		background-color: black;
		background: transparent var(--cpsb-globals-theme-icon-play) center / contain no-repeat;
		/* border-radius: 50%; */
		height: var(--size);
		left: 50%;
		top: 50%;
		transform: translate(calc(-1* var(--size) / 2), calc(-1* var(--size) / 2));
		width: var(--size);
	}
	
	.wp-block-video.cpsb-video.is-playing::after,
	.wp-block-video.cpsb-video.is-playing::before {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
	}
	
	.wp-block-video.cpsb-video video {
		position: relative;
		z-index: -1;
	}

}





/* Modules: Common */
.plura-wp-posts .plura-wp-post .plura-wp-post-timeline,
.plura-wp-posts .plura-wp-post .plura-wp-post-meta,
.plura-wp-posts:not([data-type='cpsb_doc'], [data-type='cpsb_location'], [data-type='cpsb_team_member']) .plura-wp-post .plura-wp-post-title {
	font-family: var(--cpsb-globals-theme-fonts-type2);
	font-size: var(--cpsb-globals-theme-fonts-size-body-small);
	font-weight: var(--cpsb-globals-theme-fonts-weight-bold);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body-small);
	text-transform: uppercase;	
}

.plura-wp-posts:not([data-type='cpsb_team_member'],[data-type='cpsb_project']) .plura-wp-post :is(.plura-wp-post-content, .plura-wp-post-excerpt) {
	font-style: italic;
}

.plura-wp-posts:not([data-type='cpsb_team_member'],[data-type='cpsb_project']) .plura-wp-post .plura-wp-post-content p {
	line-height: var(--cpsb-globals-theme-fonts-line-height-body) !important;
}

:is(.plura-wp-posts .plura-wp-post, .plura-wp-post.plura-wp-post-is-single) .plura-wp-post-title {
	padding-bottom: 0;
}

.plura-wp-posts .plura-wp-post .plura-wp-post-meta {
	display: contents;
}

.plura-wp-posts .plura-wp-post .plura-wp-post-meta .plura-wp-post-meta-item[data-label]::before {
	content: ' ' attr(data-label) ' ';
}










/* Modules: Blurbs - Info */
.cpsb-blurb-info .et_pb_blurb_content {
	max-width: unset;
	width: 200px;
}
.cpsb-blurb-info .et_pb_module_header {
	font-family: var(--cpsb-globals-theme-fonts-type2);
	font-size: var(--cpsb-globals-theme-fonts-size-body-small);
	font-weight: var(--cpsb-globals-theme-fonts-weight-bold);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body-small);
	text-transform: uppercase;
}


/* Modules: Blurbs - Numbers */
.cpsb-blurb-numbers .et_pb_module_header {
	font-size: var(--cpsb-globals-theme-fonts-size-h1);
	line-height: var(--cpsb-globals-theme-fonts-line-height-h1);
}

.cpsb-blurb-numbers .et_pb_blurb_description {
	font-size: var(--cpsb-globals-theme-fonts-size-body-big);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body-big);	
}

.cpsb-blurb-numbers :is(.et_pb_module_header, .et_pb_blurb_description) {
	text-align: center;
}




/* Modules: Store Items */
/*.plura-wp-posts[data-type='cpsb_store_item'] {
	--plura-wp-posts-cols: 5;
}*/


/* Modules: Store Items */
.plura-wp-posts[data-type='cpsb_store_item'] .plura-wp-post .plura-wp-post-meta {
	/*color: var(--cpsb-globals-theme-colors-scheme1-color1);*/
}

.plura-wp-posts[data-type='cpsb_store_item'] .plura-wp-post .plura-wp-post-meta-item[data-type="price"]::after {
	content: '\00A0 €';
}


/* Modules: Documentation */
.plura-wp-posts[data-type="cpsb_doc"] .plura-wp-post {
    align-items: flex-start;
    justify-content: space-between;
}

.plura-wp-posts[data-type='cpsb_doc'] .plura-wp-post:not(.plura-wp-post-has-featured-img)::before {
	background: none;
}


.plura-wp-posts[data-type='cpsb_doc'] .plura-wp-post .cpsb-button {
	background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
	color: var(--cpsb-globals-theme-colors-scheme1-color7);
	z-index: 1;
}

.plura-wp-posts[data-type='cpsb_doc'] .plura-wp-post:nth-child(8n+1),
.plura-wp-posts[data-type='cpsb_doc'] .plura-wp-post:nth-child(8n-1) {
	background-color: var(--cpsb-globals-theme-colors-scheme1-color8);	
}

.plura-wp-posts[data-type='cpsb_doc'] .plura-wp-post:nth-child(3n),
.plura-wp-posts[data-type='cpsb_doc'] .plura-wp-post:nth-child(5n),
.plura-wp-posts[data-type='cpsb_doc'] .plura-wp-post:nth-child(even) {
	background-color: var(--cpsb-globals-theme-colors-scheme1-color12);
}

.plura-wp-posts[data-type='cpsb_doc'] .plura-wp-post-title {
	/*color: var(--cpsb-globals-theme-colors-scheme1-color1);*/
	font-family: var(--cpsb-globals-theme-fonts-type1);
	font-size: var(--cpsb-globals-theme-fonts-size-h4);
	line-height: var(--cpsb-globals-theme-fonts-line-height-h4);
}






/* Modules: Locations */
.plura-wp-posts[data-type='cpsb_location'] :is(.plura-wp-post, .plura-wp-post .plura-wp-post-title) {
	color: white;
}

.plura-wp-posts[data-type='cpsb_location'] .plura-wp-post-featured-img {
	border-color: white;
	border-style: solid;
	border-width: 0 8px 0 8px;
	width: 100%;
}

.plura-wp-posts[data-type='cpsb_location'] .plura-wp-post-title {
	font-size: var(--cpsb-globals-theme-fonts-size-h4);
	line-height: var(--cpsb-globals-theme-fonts-line-height-h4);
}

.plura-wp-posts[data-type='cpsb_location'] .plura-wp-post .plura-wp-post-meta .plura-wp-post-meta-item[data-label]::before {
	content: attr(data-label) ':\00A0';
}

.plura-wp-posts[data-type='cpsb_location'] .plura-wp-post .plura-wp-post-meta .plura-wp-post-meta-item[data-type="area"]::after {
	content: '\00A0m²';
}


/* Modules: Milestones */
.plura-wp-posts[data-type='cpsb_milestone'] .plura-wp-post::before {
	content: none;
}

.plura-wp-posts[data-type='cpsb_milestone'] .plura-wp-post .cpsb-milestone-images .cpsb-milestone-image {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100%;
}


/* Modules: Partners */
.plura-wp-posts[data-type='cpsb_partner'] .plura-wp-post .plura-wp-post-title {
	text-align: center;
}

.plura-wp-posts[data-type='cpsb_partner'] .plura-wp-post.plura-wp-post-has-featured-img {
	--g: calc( var(--cpsb-globals-gap) / 2 );
    --w: 100%;
    --h: calc( var(--w) * 3 / 4 );
}

.plura-wp-posts[data-type='cpsb_partner'] .plura-wp-post.plura-wp-post-has-featured-img::before {
    aspect-ratio: 4/3;
    background-color: white;
	content: '';
}

.plura-wp-posts[data-type='cpsb_partner'] .plura-wp-post.plura-wp-post-has-featured-img .plura-wp-post-featured-img {
    height: calc( var(--h) - var(--g) * 2 );
    left: var(--g);
	object-fit: contain;
	position: absolute;
    top: var(--g);
    width: calc( var(--w) - var(--g) * 2 ) !important;
}



/* Projects */
.plura-wp-posts[data-type='cpsb_project'] {
	gap: calc( var(--cpsb-globals-gap) * 2 );
}

.plura-wp-posts[data-type='cpsb_project'] .plura-wp-post {
	align-items: flex-start;
}

/* .plura-wp-posts[data-type='cpsb_project'] .plura-wp-post:not(.plura-wp-post-has-featured-img)::before {
    aspect-ratio: 21/9;
	background: transparent url('../media/logo.svg') center / contain no-repeat;
	content: '';
} */

.plura-wp-posts[data-type='cpsb_project'] .plura-wp-post:not(.plura-wp-post-has-featured-img)::before {
	content: none;
}

.plura-wp-posts[data-type='cpsb_project'] .plura-wp-post .plura-wp-post-featured-img,
.plura-wp-posts[data-type='cpsb_project'] .plura-wp-post:not(.plura-wp-post-has-featured-img) .cpsb-placeholder {
    aspect-ratio: 21/9;
}

.plura-wp-posts[data-type='cpsb_project'] .plura-wp-post:not(.plura-wp-post-has-featured-img) .cpsb-placeholder {
	background: transparent url('../media/logo.svg') center / contain no-repeat;
	/*content: '';*/
	display: block;
	width: 100%;
}

.plura-wp-posts[data-type='cpsb_project'] .plura-wp-post :is(.plura-wp-post-title, .plura-wp-post-timeline, .plura-wp-post-excerpt) {
	/*color: var(--cpsb-globals-theme-colors-scheme1-color1);*/
}

.plura-wp-posts[data-type='cpsb_project'] .plura-wp-post .plura-wp-post-read-more {
	color: var(--cpsb-globals-theme-colors-scheme1-color7);
	background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
}



/* Projects: Project */
.single-cpsb_project .cpsb-button.cpsb-button-project-donation {
	color: var(--cpsb-globals-theme-colors-scheme1-color3);
	background-color: var(--cpsb-globals-theme-colors-scheme1-color14);
}





/* Modules: Team Member */
.plura-wp-posts[data-type='cpsb_team_member'] {
	--n: 4; 
	gap: 0 calc( var(--cpsb-globals-gap) );
}

:is(.plura-wp-posts, .plura-wp-post)[data-type='cpsb_team_member'] :is(.plura-wp-post-title, .plura-wp-post-meta-item) {
	text-align: center;	
}

:is(.plura-wp-posts, .plura-wp-post)[data-type='cpsb_team_member'] .plura-wp-post-title {
	/*font-family: var(--cpsb-globals-theme-fonts-type2);
	font-size: var(--cpsb-globals-theme-fonts-size-body-small);
	font-weight: var(--cpsb-globals-theme-fonts-weight-bold);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body-small);
	text-transform: uppercase;*/
	/* font-size: var(--cpsb-globals-theme-fonts-size-h4); 
	line-height: var(--cpsb-globals-theme-fonts-line-height-h4);*/
	font-size: var(--cpsb-globals-theme-fonts-size-body);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body);
}


:is(.plura-wp-posts, .plura-wp-post)[data-type='cpsb_team_member'] .plura-wp-post-featured-img,
:is(
	.plura-wp-posts[data-type='cpsb_team_member'] .plura-wp-post,
	.plura-wp-post[data-type='cpsb_team_member']
):not(.plura-wp-post-has-featured-img)::before {
	aspect-ratio:  1 / 1;
}

:is(.plura-wp-posts, .plura-wp-post)[data-type='cpsb_team_member'] .plura-wp-post-featured-img {
	object-fit: cover;
	object-position: bottom;
}

:is(
	.plura-wp-posts[data-type='cpsb_team_member'] .plura-wp-post,
	.plura-wp-post[data-type='cpsb_team_member']
):not(.plura-wp-post-has-featured-img)::before {
	content: '';
	background: transparent url('../media/person.png') center bottom / auto 70% no-repeat;
}


:is(.plura-wp-posts, .plura-wp-post)[data-type='cpsb_team_member'] .plura-wp-post-excerpt {
	font-family: var(--cpsb-globals-theme-fonts-type2);
	font-size: var(--cpsb-globals-theme-fonts-size-body-small);
	line-height: var(--cpsb-globals-theme-fonts-line-height-body-small);
	order: 3;
}

:is(.plura-wp-posts, .plura-wp-post)[data-type='cpsb_team_member'] .plura-wp-post-meta-item {
	padding: 0 calc( var(--cpsb-globals-gap) / 2 );
}






/* Modules: Testimonials */
.plura-wp-posts[data-type='cpsb_testimonial'] .plura-wp-post:not(.plura-wp-post-has-featured-img)::before {
	content: none;
}

.plura-wp-posts[data-type='cpsb_testimonial'] .plura-wp-post {
	align-content: flex-start;
    column-gap: 0;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.plura-wp-posts[data-type='cpsb_testimonial'] .plura-wp-post :is(.plura-wp-post-title, .plura-wp-post-meta) {
	/*color: var(--cpsb-globals-theme-colors-scheme1-color1);*/
}

.plura-wp-posts[data-type='cpsb_testimonial'] .plura-wp-post .plura-wp-post-excerpt {
	width: 100%;
}

.plura-wp-posts[data-type='cpsb_testimonial'] .plura-wp-post .plura-wp-post-meta .plura-wp-post-meta-item[data-label]::before {
	content: none;
}

.plura-wp-posts[data-type='cpsb_testimonial'] .plura-wp-post .plura-wp-post-title:has(+ .plura-wp-post-meta)::after {
	content: ',\00A0';
}

.plura-wp-posts[data-type='cpsb_testimonial'] .plura-wp-post .plura-wp-post-meta-item[data-type="age"]::after {
	content: '\00A0 anos';
}



/* Others: Fancybox */
.fancybox__container {
	z-index: 99999;
}

.fancybox__container .fancybox__content {
	border-radius: calc( var(--cpsb-globals-gap) / 2);
	width: var( --cpsb-globals-layout-width );
}

.fancybox__container .fancybox__content .f-button.is-close-btn {
	background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
}

@media (min-width: 991px) {

	.fancybox__container .fancybox__content {
		border-radius: calc( var(--cpsb-globals-gap) / 2) 0 calc( var(--cpsb-globals-gap) / 2) calc( var(--cpsb-globals-gap) / 2);
	}

}


/* WP: Gallery [Logos] */
.wp-block-gallery.cpsb-logos {
    gap: var(--cpsb-globals-gap) !important;
}

.wp-block-gallery.cpsb-logos figure.wp-block-image  {
    display: contents;
}

.wp-block-gallery.cpsb-logos figure.wp-block-image img {
    max-height: calc( var(--cpsb-globals-gap) * 2 );
	max-width: min(50vw, 250px) !important;
    object-fit: contain;
}


/* Divi: Password Protected */

/* Layout & Flex Styling */
.et_password_protected_form,
.et_password_protected_form form {
    display: flex;
    gap: 10px;
}

.et_password_protected_form {
    flex-wrap: wrap;
}

.et_password_protected_form form {
    width: 100%;
}

/* Typography: General Reset */
.et_password_protected_form :is(h1, p) {
    font-size: 0;
}

/* Typography: Headings & Messages */
.et_password_protected_form > h1::before {
    content: '🔒 Área Restrita';
    font-family: var(--cpsb-globals-theme-fonts-type1);
    font-size: var(--cpsb-globals-theme-fonts-size-h4);
    font-weight: var(--cpsb-globals-theme-fonts-weight-bold);
    line-height: var(--cpsb-globals-theme-fonts-line-height-h4);
}

.et_password_protected_form > p::before {
    content: 'Este conteúdo está temporariamente indisponível. Apenas utilizadores com acesso autorizado poderão visualizar esta página.';
    font-family: var(--cpsb-globals-theme-fonts-type2) !important;
    font-size: var(--cpsb-globals-theme-fonts-size-body-small) !important;
    font-weight: var(--cpsb-globals-theme-fonts-weight-bold) !important;
    line-height: vvar(--cpsb-globals-theme-fonts-line-height-body-small) !important;
}

.et_password_protected_form h1 {
    padding: 0;
}

/* Form Elements */
.et_password_protected_form form p {
    display: contents;
}

.et_password_protected_form form label {
    display: none;
}

.et_password_protected_form form :is(input, button) {
    height: var(--plura-globals-wp-form-obj-h);
}

.et_password_protected_form form button {
    border: none;
    background-color: var(--cpsb-globals-theme-colors-scheme1-color1);
    color: white !important;
    margin-top: 0 !important;
    text-transform: uppercase;
    font-family: var(--cpsb-globals-theme-fonts-type2) !important;
    font-size: var(--cpsb-globals-theme-fonts-size-body-small) !important;
    font-weight: var(--cpsb-globals-theme-fonts-weight-bold) !important;
    line-height: vvar(--cpsb-globals-theme-fonts-line-height-body-small) !important;
}
