/*
Theme Name: Romatom child
Theme URI: http://wp.berserk.nikadevs.com
Author: NikaDevs
Author URI: https://themeforest.net/user/nikadevs
Description: Berserk - is a multipurpose WordPress Theme, created by people with 10+ years' experience in website development. It's fully responsive, based on the module structure. With this template, you are the one who defines what to use on your website. RTL Support.
Version: 1.2.5
Template: romatom
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: romatom
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/


/* #### Generated By: http://www.cufonfonts.com #### */

div.wpcf7-response-output {
	border: 0px !important;
	color: red !important;
}

@font-face {
	font-family: 'Myriad Pro Regular';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Regular'), url('fonts/MYRIADPRO-REGULAR.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Condensed';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Condensed'), url('fonts/MYRIADPRO-COND.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Condensed Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Condensed Italic'), url('fonts/MYRIADPRO-CONDIT.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Light';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Light'), url('fonts/MyriadPro-Light.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Semibold';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Semibold'), url('fonts/MYRIADPRO-SEMIBOLD.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Semibold Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Semibold Italic'), url('fonts/MYRIADPRO-SEMIBOLDIT.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Bold Condensed';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Bold Condensed'), url('fonts/MYRIADPRO-BOLDCOND.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Bold';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Bold'), url('fonts/MYRIADPRO-BOLD.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Bold Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Bold Italic'), url('fonts/MYRIADPRO-BOLDIT.woff') format('woff');
}


@font-face {
	font-family: 'Myriad Pro Bold Condensed Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Myriad Pro Bold Condensed Italic'), url('fonts/MYRIADPRO-BOLDCONDIT.woff') format('woff');
}



.vc_col-lg-1, .vc_col-lg-10, .vc_col-lg-11, .vc_col-lg-12, .vc_col-lg-2, .vc_col-lg-3, .vc_col-lg-4, .vc_col-lg-5, .vc_col-lg-6, .vc_col-lg-7, .vc_col-lg-8, .vc_col-lg-9, .vc_col-md-1, .vc_col-md-10, .vc_col-md-11, .vc_col-md-12, .vc_col-md-2, .vc_col-md-3, .vc_col-md-4, .vc_col-md-5, .vc_col-md-6, .vc_col-md-7, .vc_col-md-8, .vc_col-md-9, .vc_col-sm-1, .vc_col-sm-10, .vc_col-sm-11, .vc_col-sm-12, .vc_col-sm-2, .vc_col-sm-3, .vc_col-sm-4, .vc_col-sm-5, .vc_col-sm-6, .vc_col-sm-7, .vc_col-sm-8, .vc_col-sm-9, .vc_col-xs-1, .vc_col-xs-10, .vc_col-xs-11, .vc_col-xs-12, .vc_col-xs-2, .vc_col-xs-3, .vc_col-xs-4, .vc_col-xs-5, .vc_col-xs-6, .vc_col-xs-7, .vc_col-xs-8, .vc_col-xs-9
{
	/*min-height: 0px !important;*/
}

img[class*="brk-header__logo"]
{
	max-height: 60px;
}
.brk-filters
{
	z-index: 12;
}
.brk-tabs li
{
	font-family:Montserrat;font-weight:700;font-style:normal; font-size:16px;
}
.list-inline-5 li.brk-tab.active
{
	color: #f3dbdb
}
.list-inline-5 li.brk-tab.active .after
{
	opacity: 1
}
.brk_custom_content_padding
{
	text-align: left !important;
}
.timeline--mosaic .post-filmstrip:nth-child(even) .timeline__date
{
	bottom: 130px !important;
}
.timeline--mosaic .post-filmstrip:nth-child(even) .timeline__date:before
{
	right: 171px !important;
}
.timeline--mosaic .post-filmstrip:nth-child(even) .timeline__date:after {
	right: 178px !important;
}
.timeline--mosaic .post-filmstrip:nth-child(odd) .timeline__date
{
	top: 0 !important;
	margin-top: 40%;
}
.timeline--mosaic .post-filmstrip:nth-child(odd) .timeline__date:before {
	/*left: 112px !important;*/
	margin-left: 80% !important;
}
.timeline--mosaic .post-filmstrip:nth-child(odd) .timeline__date:after {
	/*left: 115px !important;*/
	margin-left: 80% !important;
}

.timeline--mosaic .post-filmstrip:nth-child(even) .timeline__date 
{
	bottom: 190px !important;
	transform-origin: right;
}
.timeline--mosaic .post-filmstrip:nth-child(odd) .timeline__date
{
	top: 220px !important;
	margin-top: 0 !important;
	left: 55px !important;
}
.timeline--mosaic .timeline__content
{
	position: static;
}
.timeline--mosaic
{
	padding-top: 20px !important;
}
.brk-map__infoicon_layout-one
{
	padding-top: 170px !important;
	min-height: 400px !important;
}
.brk-map__infoicon_layout-one .marker
{
	top: 20px;
}
.brk-map__infoicon_layout-one .marker img
{
	top: 0 !important;
}
.brk-map__infoicon_layout-one .brk-map__infoicon--text span
{	
	width: 100% !important;
	color: #bfbfbf !important;
}
.brk-map__infoicon h4
{
	text-transform: uppercase;
}
.brk-map__infoicon_layout-one .brk-map__infoicon--text
{
	padding-left: 0 !important;
	text-align: center !important;
}
.brk-map__infoicon_layout-one .btn
{
	width: 260px !important;
}
body.home .titlumembri
{
	font-family: 'Roboto', 'OpenSans';
	background: #1AB2FE;
	display: table;
	margin: -30px auto 20px;
	padding: 5px 15px;
	font-size: 19px;
	line-height: 25px;
	text-transform: uppercase;
}
body.home .titlumembri:after
{
	display: table;
	float: none;
	clear: both;
	content: '';
}
body.home .titlumembri:before
{
	content: '';
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
	top: 22px;
	border-bottom: 1px solid #1AB2FE;
}
.relative
{
	margin-top: 20px;
	position: relative;
	height: 0;
}

.homepageform .wpcf7-form-control-wrap input,
.homepageform .wpcf7-form-control-wrap textarea
{
	width: 100%;
	background: #cae3ff;
	border: none;
	padding: 10px 20px;
	color: #000;
}
.homepageform .wpcf7-form-control-wrap textarea
{
	height: 150px;
	overflow: auto;
}
.homepageform form,
.homepageform label,
.homepageform h4,
.homepageform h6
{
	font-family: 'Myriad Pro Light';
	line-height: 1.5;
	color: #fff;
	font-size: 18px;
}
.homepageform h4
{
	font-family: 'Myriad Pro Bold';
	font-size: 34px;
	text-align: justify;
}

.homepageform input[type="submit"]
{
	position: relative;
	float: right;
	height: 30px;
	width: 30px;
	top: -30px;
	background: url('img/icon.png');
	color: transparent;
	border: none !important;
}
.homepageform .vc_column-inner
{
	padding: 10px 30px !important;
}
.list-inline-4b li
{
	color: #fff !important;
	border: none !important;
	padding: 2px 5px !important;
}
.list-inline-4b li:hover
{
	box-shadow: none !important;
}
.list-inline-4b li > .after
{
	display: none !important;
}
.list-inline-4b .fa-angle-right
{
	top: auto !important;
	left: -25px !important;
	margin-right: 5px !important;
	margin-top: 3px !important;
	margin-right: 5px !important;
	transform: none !important;
}

.list-inline-4b .fa-angle-right:before
{
	content: "\f00c" !important;
	color: #1a7dd7 !important;
	font-size: 12px !important;
}
.list-inline-4b .before
{
	display: none !important;
}
.list-inline-4b a
{
	color: #fff !important;
}
.list-inline-4b >li:after
{
	content: "";
	display: table;
	clear: both;
	float: none;
}

.post-type-archive-membri .list-inline-4b a,
.post-type-archive-membri .list-inline-4b span
{
	color: var(--brand-primary) !important;
}
.post-type-archive-membri .accordion-slider .card-header h5,
.single-membri .accordion-slider .card-header h5
{
	padding: 0;
}
.post-type-archive-membri .list-inline-4 li
{
	font-size: 14px !important;
}
.home .memberlist .brk_custom_content_padding > div.container-no-gutters,
.home .memberlist .brk_custom_content_padding > div.container-no-gutters .brk-bg-grad
{
	background-image: none !important;
	background: none !important;
}
.list-inline-4b li + li
{
	margin-top: 0 !important;
}
.homepageform 
{
	padding-top: 20px;
}
.list-inline-4b li 
{
	padding-top: 0 !important;
}
.brk_custom_content_padding
{
	color: #9f9f9f;
}
.brk_custom_content_padding > div
{
	color: #222;
}
.home .brk-tab-item a
{
	margin-top: 20px;
}
footer .wpb_widgetised_column .wpb_wrapper > p
{
	font-size: 21px;
	margin-bottom: 30px;
	font-weight: bold;
	font-family: "Montserrat";
}
footer .wpb_widgetised_column .wpb_wrapper > div
{
	color: #9f9f9f;
	font-family: "Montserrat";
	font-weight: 400;
	font-size: 14px;
}
footer .wpb_widgetised_column .wpb_wrapper > div li
{
	margin-bottom: 15px;
}
/****/


.timeline--vertical-circles .timeline__progress-bar .btn.btn--bg__icon i, .timeline--vertical-squares .timeline__progress-bar .btn.btn--bg__icon i
{
	left: 20px !important;
}
.timeline--vertical-circles .timeline__progress-bar .btn.btn--bg__icon, .timeline--vertical-squares .timeline__progress-bar .btn.btn--bg__icon
{
	padding: 20px 50px !important;
	width: 250px !important;
}
.page-id-1946 #content,
.page-id-5400 #content
{
	padding-top: 0px !important;
}
.single-membri .brs-post.brs-post_hosted-video
{
	text-align: center;
}
.membri-template-default .brk-post-full__meta,
.membri-template-default .brk-post-single-social-share
{
	display: none !important;
}
.brk-social-links a
{
	margin: 0 10px !important;
}
body:not(.home) .main-wrapper .main-container .container
{
	padding-bottom: 50px;
}
.hidden
{
	display: none !important;
}
.brk-header_style-1 .brk-nav__menu > li
{
	margin: 0px 3px !important;
}
.brk-header-mobile__logo-1,
.brk-header-mobile__logo-2
{
	max-width: 50%;
}
.tabkey
{
	position: absolute;
	left: 34px;
}
.visible
{
	display: inline-block !important;
}
.brk-tabs-nav2 > li
{
	min-height: 48px;
}
.brk-tab-item span.text
{
	text-overflow: none;
}

.herecopy > .wpb_column > .vc_column-inner,
.brk-tabs-nav2
{
	padding: 0;
}
.contdespre 
{
	display: block !important;
}
.breadcrumbs__wrapper h2
{
	font-weight: 500;
}
.membersidebar .list-inline-4b
{
	columns: 1;
	-webkit-columns: 1;
	-moz-columns: 1;
}
.membersidebar .list-inline-4b a,
.membersidebar .list-inline-4b span
{
	color: var(--brand-primary) !important;
}
.membersidebar .list-inline-4b li
{
	padding: 0px !important;
}
.membersidebar .accordion-slider .card-block
{
	padding-top: 20px;
	padding-bottom: 20px;
}
.listadespre li,
.listaenergie li
{
	padding: 0px !important;
}
.listadespre li a,
.listadespre li span,
.listaenergie li a,
.listaenergie li span
{
	display: block;
	padding: 15px 20px !important;
}
div.userpro-section
{
	background: #2775ffd1 !important;
	border: var(--brk-base-2) !important;
}
div.userpro-label span.userpro-field-icon.icon-active,
a.userpro-profile-icon
{
	background: #4E8EFF !important;
	border: none !important;
}
.userpro-icon-envelope-alt:before
{
	margin-left: -1px;
}
.hidden
{
	visibility: hidden;
	position: absolute;
	height: 0px;
	width: 0px;
}
div.userpro-section.userpro-collapsed-1,
div.userpro-section.userpro-collapsed-1 span i
{
	color: #fff !important;
	text-shadow: none !important;
}
.fa-floppy:before
{
	content: "\f0c7";
}
div.userpro-alert
{
	background: var(--brand-primary) !important;
}
.mpc-icon-list .mpc-list__item:hover
{
	color: var(--brand-primary) !important;
}

ol[type="a"]
{
	list-style: lower-alpha !important;
}
.copyright_p
{
	display: block;
	width: 100%;
	text-align: center;
}
.membritext
{
	color: #c5c5f3;
}
.timeline--vertical-circles .timeline__item:last-of-type .timeline__box, .timeline--vertical-squares .timeline__item:last-of-type .timeline__box
{
	opacity: 0.5 !important;
}
.timeline--vertical-circles .timeline__item:last-of-type .timeline__box:hover, .timeline--vertical-squares .timeline__item:last-of-type .timeline__box:hover
{
	opacity: 1 !important;
}

#fabricadesen {
	height: auto;
	max-width: calc(100% + 100px);
	vertical-align: top;
	margin-left: -100px;
}

.breadcrumbs__wrapper h2
{
	max-width: 75%;
}

.timeline--vertical-circles .timeline__wrapper, .timeline--vertical-squares .timeline__wrapper
{
	padding: 0 !important;
}
.clearfix_membri
{
	padding: 50px 0 30px 0;
}
a.brk-call-us__number:focus,
.footerreadmore
{
	color: #fff !important;
}
.timeline--mosaic .timeline__link
{
	box-shadow: none !important;
}
.brs-post.brs-post_hosted-video
{
	display: none;
}

.post-type-archive-membri .list-inline-4 li
{
	padding: 5px;
	padding-left: 3.4375em;
	margin: 5px 0px !important;
}
.title__divider--line:before
{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	border-bottom: 1px solid #eee;
}

.post-type-archive-membri .titlumembri
{
	margin-bottom: 10px;
}
.title__divider__wrapper
{
	padding-bottom: 5px !important;
}
/*div[data-page-id="6582"]
{
	padding-top: 0px !important;
}
*/
.ipgs-theme-light
{
	background: #efefef !important;
	background-color: #efefef !important;
}
.middle
{
	margin-top: 30px !important;
	text-align: center;
}

@media screen and (min-width: 767px)
{
	body:not(.post-type-archive-membri):not(.single-membri) .list-inline-4b
	{
		columns: 4;
		-webkit-columns: 4;
		-moz-columns: 4;
	}
	.pt-250b {
		padding-top: 80px;
	}
	.filmstrip-slider.slider--scroll .swiper-slide
	{
		max-height: 600px;
	}
}

@media screen and (max-width: 767px)
{
	.home .wpb_column.vc_column_container.vc_col-sm-7.mpc-column
	{
		z-index: 6;
	}
	.home .z-index-5.d-xl-block.pt-250b.wpb_column.vc_column_container.vc_col-sm-5.mpc-column
	{
		position: absolute;
		top: 50%;
		opacity: 0.2;
	}
	.homepageform h4
	{
		text-align: left;
	}
	.position-relative .vc_row,
	.brk-footer .container-no-gutters
	{
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
	rs-layer#slider-8-slide-16-layer-27
	{
		height: 800px !important;
	}
	.brk-header-mobile-wrap__logo
	{
		filter: invert(100%);
	}
}


body {
    font-family: 'Roboto', sans-serif !important;
    background-color: #f8f9fa !important;
    margin: 0 !important;
    width: 100% !important;   /* Ensures body stretches full width */
}


.section-container {
    background-color: #ffffff !important;
    padding: 40px 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 20px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
}

.section-title {
    font-size: 48px !important;
    font-weight: 300 !important;
    color: #0d2a75 !important;
    margin-bottom: 50px !important;
    border-bottom: 1px solid #eee !important;
    padding-bottom: 20px !important;
}

.subsection-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #d90429 !important;
}

.tags-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    margin-bottom:20px;
}

.tag-item {
    display: inline-block !important;
    padding: 4px 16px !important;
    border: 1.5px solid #0d2a75 !important;
    border-radius: 50px !important;
    color: #0d2a75 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background-color 0.3s, color 0.3s !important;
}

.tag-item:hover {
    background-color: #0d2a75 !important;
    color: #ffffff !important;
}

.card-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 1.5rem !important;
}

.content-card,
.info-block {
    background-color: #ffffff !important;
    border: 1px solid #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05) !important;
    padding: 1.5rem !important;
}

.content-card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important;
}

.content-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.1) !important;
}

.content-card p,
.info-block p {
    margin: 0 0 0.75rem !important;
    color: #333333 !important;
}

.certification-card p:first-child {
    font-weight: bold !important;
    font-size: 1.1rem !important;
    color: #0056b3 !important;
}

address {
    font-style: normal !important;
}

address p {
    display: flex !important;
    align-items: center !important;
}

address i {
    margin-right: 15px !important;
    color: #007BFF !important;
    width: 20px !important;
    text-align: center !important;
}

/*a {*/
/*    color: #0056b3 !important;*/
/*    text-decoration: none !important;*/
/*    transition: color 0.3s !important;*/
/*}*/

/*a:hover {*/
/*    color: #003d82 !important;*/
/*    text-decoration: underline !important;*/
/*}*/

.key-figure-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid #f1f1f1 !important;
}

.key-figure-row:last-child {
    border-bottom: none !important;
}

.key-figure-label {
    color: #5a6268 !important;
    font-size: 15px !important;
}

.key-figure-value {
    font-weight: 600 !important;
    font-size: 18px !important;
    color: #007bff !important;
}

.layout-container {
    display: flex !important;
    width: 100% !important;
    margin-top: 2rem !important;
    padding: 0px 0px;
}

.sidebar {
    width: 25% !important;
    min-height: 100vh !important;
    position: -webkit-sticky !important;
    position: sticky !important;
    /* --- SOLUTION --- */
    /* Change this value to match your header's exact height */
    top: 80px !important;
    /* --- END SOLUTION --- */
    align-self: flex-start !important;
    background-color: #ffffff !important;
    padding: 2rem !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
}

.sidebar img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin-bottom: 20px !important;
    border-radius: 8px !important;
}

.layout-spacer {
    width: 3% !important; /* Changed from 5% to make more room */
    min-height: 100vh !important;
}

.main-content {
    width: 72% !important; /* Changed from 70% */
    min-height: 100vh !important;
}

.company-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #212529 !important;
    margin-bottom: 25px !important;
    line-height: 1.3 !important;
}

.action-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 20px !important;
    background-color: #007bff !important;
    color: white !important;
    border-radius: 8px !important;
    font-family: 'Roboto', sans-serif !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
    margin-bottom: 10px !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
    max-width: 300px;
    box-sizing: border-box !important;
}

.action-button:hover {
    background-color: #0056b3 !important;
    transform: translateY(-2px) !important;
}

.action-button .button-icon {
    margin-right: 10px !important;
    fill: white !important;
}

.action-button .button-text {
    font-size: 16px !important;
    font-weight: 500 !important;
}

.contact-details p {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.contact-details .fas {
    width: 20px !important;
    text-align: center !important;
    color: #007bff !important;
}

.contact-details a {
    color: #0056b3 !important;
    text-decoration: none !important;
}

.contact-details a:hover {
    text-decoration: underline !important;
}

.action-buttons-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

@media (max-width: 1000px) {
    /*
     * 1. Main Layout Container on Mobile
     *    - Make it full width with no side padding.
    */
    .layout-container {
        flex-direction: column !important; /* Stack sidebar on top of main content */
        width: 100% !important;
        margin-top: 0 !important;
        padding: 0 !important; /* Remove side padding on mobile */
    }

    /*
     * 2. Sidebar and Main Content on Mobile
     *    - Both become full width and stack vertically.
     *    - The sticky positioning is removed.
    */
    .sidebar,
    .main-content {
        width: 100% !important;
        min-height: auto !important;
        position: static !important; /* IMPORTANT: This stops the "sticky" behavior on mobile */
        padding: 20px !important;    /* Add padding back inside each block */
        box-sizing: border-box !important;
        border-radius: 0 !important;
    }

    /* Add a border between the sidebar and content for better separation */
    .sidebar {
        border-bottom: 1px solid #e0e0e0;
    }

    /*
     * 3. Hide the desktop spacer
    */
    .layout-spacer {
        display: none !important;
    }

    /*
     * 4. Center the logo and company title in the sidebar on mobile
    */
    .sidebar img {
        width: 50% !important;
        max-width: 180px; /* Prevent logo from being too large */
        margin: 0 auto 20px !important;
    }

    .company-title {
        font-size: 22px !important;
        text-align: center !important;
    }

    /*
     * 5. General content adjustments for better mobile reading
    */
    .section-container {
        padding: 20px !important;
        border-radius: 0 !important;
    }

    .section-title {
        font-size: 32px !important;
        margin-bottom: 30px !important;
    }

    .card-grid {
        grid-template-columns: 1fr !important;
    }

    .action-buttons-container {
        flex-direction: column !important;
        width: 100% !important;
        align-items: center !important;
    }
}
.arrow-list li .fas {
    color: #0d2a75; /* A corporate blue color */
}


/* Make sure you have the other styles from Option 1: */
.icon-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px 20px;
}
.icon-list li {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}
.icon-list li .fas {
    font-size: 16px; /* Chevron can be a bit smaller */
    margin-right: 15px;
    width: 20px;
    text-align: center;
}
.icon-list li span {
    font-size: 16px;
    font-weight: 500;
    color: #333;
}


.member-info-header {
    display: flex;
    flex-direction: row;
    border: 0 0 0 1% solid-black;
    border-bottom: 2px solid;
    padding: 2%;
}

.member-info-header-img {
    width: 200px;
    height: 200px;
    fill: cover-fit;
    border-radius: 100px;
}

.member-info-container {
    margin: 5%;
}

.member-info-header-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-left: 2%;
    margin-top: 1%;

    font-weight: 300;
}

.member-info-header-text h1 {
    font-weight: bold;
    font-size: 8vh;
}

.member-info {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.member-info-header h3 {
    font-weight: bold;
}


.member-list-element {
    border: 1px solid gray;
    width: 15vw;
    height: 4vh;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 1vh;
    margin-bottom: 1vh;
}

.member-list-element:hover {
    cursor: pointer;
    background: linear-gradient(to right, #2775ff, #c423ee);
    color:white;
}

.member-list-element a {
    width: 100%;
    text-align: center;
}

.member-list-element a:hover {
    color:white;
}

.custom-margin-fix {
  margin-left: 0px !important;
}


.member-list-container {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box; /* Ensures padding is included in the width */
}


.member-list-container>h1 {
    margin-bottom: 3%;
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.member-card {
    /* This is the key for the fluid grid */
    flex: 1 1 250px; /* Grow and shrink, with a base width of 250px */
    max-width: 350px;  /* But don't grow wider than 350px */
    
    cursor: pointer;
    transition: background 0.5s ease, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    animation: fadeInUp 0.5s ease-out forwards;
}

.member-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
    background: #76d6ff;
}

.member-logo {
    width: 100%;
    height: 200px;
    object-fit: contain;
}

.member-name a {
    color: inherit;
    text-decoration: none;
}

.member-name a:hover {
    color: #0056b3;
    text-decoration: underline;
}

.member-website-link {
  overflow-wrap: break-word;
}

.member-address .fa-location-dot {
    position: relative;
    top: 1px;
}
/*
 * ===================================================================
 * Professional Photo Gallery Grid Styles
 * ===================================================================
 * This replaces the previous gallery styles to create a modern,
 * responsive, and visually appealing layout.
*/


.photo-gallery-grid {
    column-count: 4;   /* default for large screens */
    column-gap: 15px;
}

.photo-gallery-item {
    break-inside: avoid;
    margin-bottom: 15px;
}

.photo-gallery-item img {
    width: 100%;
    height: auto;   /* keep original aspect ratio */
    border-radius: 8px;
    display: block;
}





/* --- Styling for the Lightbox (Focused View) --- */

/* The overlay background. Hidden by default. */
.lightbox {
    display: none; /* Hide it by default */
    position: fixed; /* Stay in one place */
    z-index: 9999; /* Sit on top of everything */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85); /* Black background with opacity */
    
    /* Center the content */
    justify-content: center;
    align-items: center;
}

/* This is the magic rule: When the lightbox's ID is the target in the URL, display it! */
.lightbox:target {
    display: flex;
}

/* The full-sized image inside the lightbox */
.lightbox img {
    max-width: 90%;
    max-height: 80%;
    border: 3px solid white;
    border-radius: 5px;
}

/* The "Close" button (×) */
.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 40px;
    color: white;
    text-decoration: none;
    font-weight: bold;
}

.lightbox-close:hover {
    color: #ddd;
}



@media (max-width: 1200px) {
    .photo-gallery-grid {
        column-count: 3;
    }
}

@media (max-width: 900px) {
    .photo-gallery-grid {
        column-count: 2;
    }
}

@media (max-width: 600px) {
    .photo-gallery-grid {
        column-count: 1;
    }
}



/* Lazy loading styles */
img.lazy-load-image {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

img.lazy-load-image.loaded {
    opacity: 1;
}



.member-selection-menu {
    display: flex;
    width: 20%;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
}

.member-section-title {
            font-size: 36px;
            font-weight: 600;
            color: #34495e;
            margin-top: 62px; /* Adds space above the title */
            margin-bottom: 40px; /* Adds space between the title and the grid */
            position: relative;
        }


body.page-template-template-custom-members #content.site-content {
    padding-top: 100px !important; /* Adjust this value! */
}

/* For Mobile Screens (Optional but Recommended) */
@media (max-width: 991px) {
    body.page-template-template-custom-members #content.site-content {
        padding-top: 70px !important; /* Adjust for mobile header height */
    }
}

.site-footer {
    background-color: #0056b3; /* A deep, modern charcoal */
    color: #a0aec0;            /* Soft, light gray for text */
    padding: 60px 0 0;
    font-family: 'Roboto', sans-serif;
    line-height: 1.7;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
}

/* --- Footer Columns --- */
.footer-column {
    flex: 1;
    min-width: 250px; /* Ensures columns don't get too squished before wrapping */
}

.footer-title {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 10px;
}

/* Underline effect for titles */
.footer-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background-color: #007bff; /* Accent color */
}

/* --- Specific Column Styling --- */

/* About Column */
.footer-about .footer-logo {
    max-width: 150px;
    margin-bottom: 20px;
}

.footer-about p {
    font-size: 14px;
}

/* Links Column */
.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links ul li {
    margin-bottom: 12px;
}

.footer-links ul li a {
    color: #a0aec0;
    text-decoration: none;
    transition: color 0.3s ease, padding-left 0.3s ease;
}

.footer-links ul li a:hover {
    color: #ffffff;
    padding-left: 5px; /* Slight indent on hover */
}

/* Contact Column */
.footer-contact address {
    font-style: normal;
}

.footer-contact p {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    font-size: 15px;
}

.footer-contact .fas {
    margin-right: 15px;
    margin-top: 5px;
    color: #007bff; /* Accent color */
    width: 20px;
    text-align: center;
}

.footer-contact a {
    color: #a0aec0;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-contact a:hover {
    color: #ffffff;
}

/* Social Media & Newsletter */
.footer-social-icons {
    display: flex;
    gap: 15px;
}

.footer-social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #2d3748;
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.footer-social-icons a:hover {
    background-color: #007bff; /* Accent color on hover */
    transform: translateY(-3px);
}

.newsletter-title {
    margin-top: 30px;
}

.footer-newsletter-form {
    display: flex;
    margin-top: 15px;
}

.footer-newsletter-form input {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #4a5568;
    background-color: #2d3748;
    color: #ffffff;
    border-radius: 5px 0 0 5px;
    outline: none;
}

.footer-newsletter-form button {
    padding: 10px 20px;
    border: none;
    background-color: #007bff;
    color: white;
    cursor: pointer;
    border-radius: 0 5px 5px 0;
    transition: background-color 0.3s ease;
}

.footer-newsletter-form button:hover {
    background-color: #0056b3;
}


/* --- Bottom Bar --- */
.footer-bottom-bar {
    margin-top: 40px;
    padding: 20px 30px;
    border-top: 1px solid #2d3748; /* Separator line */
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 14px;
    text-align: center;
}

.footer-bottom-bar p {
    margin: 0;
}

.footer-bottom-bar a {
    color: #a0aec0;
    text-decoration: none;
}

.footer-bottom-bar a:hover {
    color: #ffffff;
    text-decoration: underline;
}

/* --- Responsive Design --- */
@media (max-width: 900px) {
    .footer-container {
        flex-direction: column;
        text-align: center;
    }

    .footer-title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .footer-contact p {
        justify-content: center;
    }

    .footer-social-icons {
        justify-content: center;
    }

    .footer-newsletter-form {
        justify-content: center;
    }
}

.presentation-content li {
    display: list-item !important;
}

/* This rule styles the marker itself. You can customize this! */
.presentation-content li::marker {
    color: #0d2a75;         /* Example: A corporate blue marker */
    font-size: 1.2em;       /* Example: Make the marker slightly larger */
    content: '•  ';         /* Ensures a bullet and adds a little space */
}

/* This rule ensures the list itself has proper spacing */
.presentation-content ul {
    list-style-position: outside !important;
    padding-left: 2em !important; /* Proper indentation for the list text */
    margin-top: 1em;
    margin-bottom: 1em;
}

@media (max-width: 600px) {
    .footer-bottom-bar {
        flex-direction: column;
    }
}

.brk-header {
  background: #fff !important;   /* solid background */
  border-bottom: 1px solid #ddd; /* optional border */
}

.brk-header-mobile {
    background-color: #FFFFFF !important; /* Force a solid white background */
}

/*
 * Add a clean bottom border for separation, which might also
 * be controlled by the same script.
*/
.brk-header-mobile {
   border-bottom: 1px solid #DDDDDD !important;
}

/* --- Responsive List Columns --- */

/* By default, your theme's .list-inline-4 sets the 4-column layout.
   We will now define the styles for smaller screens. */

/* For Tablets and Small Desktops (screens less than 992px wide) */
@media (max-width: 2000.98px) {
    .list-inline-4 {
        /* If your list items are not wrapping correctly, you might need these properties */
        display: flex;
        flex-wrap: wrap;
    }

    .list-inline-4 li {
        /* This makes each list item take up half the width, creating 2 columns */
        width: 31% !important; 
        flex: 0 0 31%;
        max-width: 31%;
        margin-right:12px;
    }
}


@media (max-width: 991.98px) {
    .list-inline-4 {
        /* If your list items are not wrapping correctly, you might need these properties */
        display: flex;
        flex-wrap: wrap;
    }

    .list-inline-4 li {
        /* This makes each list item take up half the width, creating 2 columns */
        width: 45% !important; 
        flex: 0 0 45%;
        max-width: 45%;
    }
}

/* For Mobile Phones (screens less than 768px wide) */
@media (max-width: 767.98px) {
    .list-inline-4 li {
        /* This makes each list item take up the full width, creating a single column */
        width: 100% !important;
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/*
 * New styles for the vertical video gallery
 */
.vertical-video-container {
    display: flex; /* Establishes a flex container */
    flex-direction: column; /* Stacks the child elements vertically */
    align-items: center; /* Centers the videos horizontally within the container */
    width: 100%; /* Ensures the container takes the full width of its parent */
}

.video-item-wrapper {
    width: 90%; /* Makes each video wrapper take up 90% of the container's width */
    max-width: 1200px; /* Optional: sets a maximum width for very large screens */
    margin-bottom: 20px; /* This is the padding/space between the videos */
}

.video-item-wrapper:last-child {
    margin-bottom: 0; /* Removes the margin from the last video to avoid extra space at the bottom */
}

.video-player {
    width: 100% !important; /* Makes the video take the full width of its wrapper */
    height: auto;
    border-radius: 8px; /* Keeps your original border-radius */
    display: block; /* Helps prevent extra space below the video element */
}



@media (min-width: 991px) {
    .oval-switcher-container {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        margin-right: 15px;
    }
    .current-language-pill {
        display: flex;
        align-items: center;
        background-color: #fff;
        border-radius: 50px;
        box-shadow: 0 4px 15px rgba(0,0,0,.07);
        padding: 5px;
        cursor: pointer;
        transition: all .2s ease-in-out;
    }
    .oval-switcher-container:hover .current-language-pill {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0,0,0,.1);
    }
    .flag-container {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #f0f0f0;
    }
    .flag-container img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .lang-code {
        font-size: 15px;
        font-weight: 600;
        color: #333;
        padding: 0 14px 0 10px;
    }
}

@media (max-width: 991px) {
    .oval-switcher-container {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        padding-left: 12px;
    }
    .current-language-pill {
        display: flex;
        align-items: center;
        background-color: #fff;
        padding: 5px;
        cursor: pointer;
        transition: all .2s ease-in-out;
    }
    .flag-container {
        width: 32px;
        height: 18px;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .flag-container img {
        width: 100%;
        height: 100%;
        object-fit: scale-down;
    }
}



.vertical-video-container2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 20px;
  width: 100%;
}

/* 
  2. The aspect ratio container for EACH video.
  This is the magic part. It creates a box that maintains a 16:9 aspect ratio.
*/
.yt-video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* This is the key: (9 / 16) * 100% = 56.25% */
}

/* 
  3. The iframe itself.
  This makes the iframe stretch to fill the entire space of its parent container.
*/
.yt-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border: none; /* Optional: removes the default iframe border */
}


.contact-details .contact-line {
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
}

.contact-details .contact-line strong {
    display: inline-block;
    min-width: 70px;
}