/*
|--------------------------------------------------------------------------
| Abelica Members - Frontend
|--------------------------------------------------------------------------
*/

/* Reset */

.abelica-container{
    width:1200px;
    max-width:95%;
    margin:0 auto;
}


/* ==========================================================
   Members Grid
========================================================== */

.abelica-members-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:30px;
    margin:40px 0;
}


/* ==========================================================
   Member Card
========================================================== */

.abelica-member-card{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    transition:.3s;
    position:relative;
}

.abelica-member-card:hover{
    transform:translateY(-6px);
}

.abelica-featured-badge{
    position:absolute;
    right:15px;
    top:15px;
    background:#ffb100;
    color:#fff;
    padding:6px 12px;
    border-radius:20px;
    font-size:12px;
    font-weight:600;
}

.abelica-member-logo{
    height:180px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#fafafa;
    padding:25px;
}

.abelica-member-logo img{
    max-width:100%;
    max-height:120px;
}

.abelica-no-logo{
    width:120px;
    height:120px;
    border-radius:50%;
    background:#2271b1;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:15px;
    font-weight:600;
}

.abelica-member-content{
    padding:25px;
}

.abelica-member-title{
    margin:0 0 10px;
    font-size:22px;
}

.abelica-member-title a{
    color:#222;
    text-decoration:none;
}

.abelica-member-tagline{
    color:#666;
    margin-bottom:12px;
}

.abelica-member-industry{
    font-weight:600;
    color:#2271b1;
    margin-bottom:10px;
}

.abelica-member-location{
    margin-bottom:10px;
}

.abelica-member-website a{
    word-break:break-all;
}

.abelica-member-footer{
    padding:20px 25px;
    border-top:1px solid #eee;
}

.abelica-view-profile{
    display:inline-block;
    background:#2271b1;
    color:#fff;
    text-decoration:none;
    padding:10px 22px;
    border-radius:5px;
}

.abelica-view-profile:hover{
    color:#fff;
}


/* ==========================================================
   Archive
========================================================== */

.abelica-members-archive{
    padding:60px 0;
}

.abelica-page-header{
    text-align:center;
    margin-bottom:50px;
}

.abelica-page-title{
    margin-bottom:10px;
}

.abelica-pagination{
    margin-top:40px;
    text-align:center;
}

.abelica-pagination .page-numbers{
    display:inline-block;
    margin:0 5px;
    padding:10px 15px;
    border:1px solid #ddd;
    text-decoration:none;
}

.abelica-pagination .current{
    background:#2271b1;
    color:#fff;
}


/* ==========================================================
   Single Member
========================================================== */

.abelica-member-single{
    padding-bottom:60px;
}

.abelica-hero img{
    width:100%;
    display:block;
}

.abelica-company-header{
    display:flex;
    gap:30px;
    align-items:center;
    margin:50px 0;
}

.abelica-company-logo img{
    width:180px;
}

.abelica-company-details h1{
    margin-bottom:10px;
}

.abelica-tagline{
    color:#666;
}

.abelica-section{
    margin-bottom:60px;
}

.abelica-section h2{
    margin-bottom:20px;
    border-bottom:2px solid #eee;
    padding-bottom:10px;
}


/* ==========================================================
   Table
========================================================== */

.abelica-table{
    width:100%;
    border-collapse:collapse;
}

.abelica-table th,
.abelica-table td{
    border:1px solid #ddd;
    padding:12px;
}

.abelica-table th{
    width:220px;
    background:#f5f5f5;
}


/* ==========================================================
   Services
========================================================== */

.abelica-services{
    margin:0;
    padding-left:20px;
}

.abelica-services li{
    margin-bottom:18px;
}


/* ==========================================================
   Gallery
========================================================== */

.abelica-gallery{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:20px;
}

.abelica-gallery img{
    width:100%;
    border-radius:8px;
}


/* ==========================================================
   Downloads
========================================================== */

.abelica-section a{
    text-decoration:none;
}


/* ==========================================================
   Social
========================================================== */

.abelica-social-links{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
}

.abelica-social-links a{
    padding:10px 18px;
    background:#2271b1;
    color:#fff;
    border-radius:5px;
    text-decoration:none;
}


/* ==========================================================
   Map
========================================================== */

#abelica-member-map,
#abelica-single-map{
    width:100%;
    height:500px;
    border-radius:10px;
    margin-top:20px;
}

.abelica-popup-logo{
    text-align:center;
    margin-bottom:10px;
}

.abelica-popup-logo img{
    max-width:80px;
}

.abelica-map-popup h4{
    margin:10px 0;
}

/*==================================================
=            MEMBERS MAP SECTION
==================================================*/

.abelica-map-section{
    background:#083a5c;
    padding:70px 0 80px;
    position:relative;
    overflow:hidden;
}

.abelica-map-section:before{
    content:"";
    position:absolute;
    left:-180px;
    top:-100px;
    width:420px;
    height:420px;
    border:35px solid rgba(255,255,255,.06);
    border-radius:50%;
}

.abelica-map-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:40px;
    flex-wrap:wrap;
    gap:25px;
}

.abelica-map-header h2{
    margin:0;
    color:#fff;
    font-size:52px;
    font-weight:700;
    line-height:1.2;
}

.abelica-map-filters{
    display:flex;
    gap:20px;
}

.abelica-map-filters select{

    width:260px;
    height:52px;

    background:#fff;

    border:none;

    border-radius:6px;

    padding:0 18px;

    font-size:15px;

    color:#666;

    outline:none;

    cursor:pointer;

    appearance:none;

    -webkit-appearance:none;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath fill='%23777' d='M5 7l5 6 5-6z'/%3E%3C/svg%3E");

    background-repeat:no-repeat;

    background-position:right 18px center;

}

.abelica-map-wrapper{

    background:#fff;

    border-radius:4px;

    overflow:hidden;

    box-shadow:0 20px 40px rgba(0,0,0,.15);

}

#abelica-member-map{

    width:100%;

    height:520px;

}

/*==================================================
=            LOGO SLIDER
==================================================*/

.abelica-member-slider{

    background:#fff;

    padding:18px 70px;

    position:relative;

    border-top:1px solid #eee;

}

.abelica-logo-slider{

    width:100%;

}

.abelica-logo-slider .swiper-slide{

    display:flex;

    justify-content:center;

    align-items:center;

    height:70px;

}

.abelica-logo-slider img{

    max-height:55px;

    max-width:170px;

    width:auto;

    transition:.3s;

    opacity:.8;

}

.abelica-logo-slider img:hover{

    opacity:1;

    transform:scale(1.08);

}

.swiper-button-next,
.swiper-button-prev{

    width:38px;
    height:38px;

    background:#fff;

    border-radius:50%;

    box-shadow:0 2px 8px rgba(0,0,0,.15);

    color:#0d4d74;

}

.swiper-button-next:after,
.swiper-button-prev:after{

    font-size:18px;
    font-weight:700;

}

/*==================================================
=            MAP POPUP
==================================================*/

.abelica-map-popup{

    text-align:center;

    width:220px;

}

.abelica-popup-logo{

    margin-bottom:15px;

}

.abelica-popup-logo img{

    max-width:80px;

    max-height:70px;

}

.abelica-map-popup h4{

    margin:0 0 8px;

    font-size:18px;

}

.abelica-map-popup p{

    margin:6px 0;

    font-size:14px;

    color:#555;

}

.abelica-map-popup a{

    color:#0d4d74;

    font-weight:600;

    text-decoration:none;

}

/*==================================================
=            RESPONSIVE
==================================================*/

@media(max-width:992px){

    .abelica-map-header{

        flex-direction:column;

        align-items:flex-start;

    }

    .abelica-map-filters{

        width:100%;

        flex-direction:column;

    }

    .abelica-map-filters select{

        width:100%;

    }

}

@media(max-width:768px){

    .abelica-map-header h2{

        font-size:36px;

    }

    #abelica-member-map{

        height:420px;

    }

    .abelica-member-slider{

        padding:15px 50px;

    }

}

@media(max-width:480px){

    #abelica-member-map{

        height:320px;

    }

    .abelica-member-slider{

        padding:15px 40px;

    }

}

/* ==========================================================
   Responsive
========================================================== */

@media(max-width:768px){

    .abelica-company-header{
        flex-direction:column;
        text-align:center;
    }

    .abelica-table th{
        width:140px;
    }

    .abelica-members-grid{
        grid-template-columns:1fr;
    }

}

/* ==========================================================
   ABELICA MEMBERS MAP V2
   Approved Homepage Map Layout
========================================================== */


/* ==========================================================
   MAIN SECTION
========================================================== */

.abelica-members-map-v2 {
	width: 100%;
	padding: 70px 0 80px;
	/*background: #063b5c;*/
	position: relative;
	overflow: hidden;
}


/* ==========================================================
   DECORATIVE BACKGROUND
========================================================== 

.abelica-members-map-v2::before {
	content: "";
	position: absolute;

	width: 520px;
	height: 520px;

	left: -260px;
	top: -260px;

	border: 45px solid rgba(255, 255, 255, 0.035);

	border-radius: 50%;

	pointer-events: none;
}

.abelica-members-map-v2::after {
	content: "";
	position: absolute;

	width: 380px;
	height: 380px;

	left: -190px;
	top: -190px;

	border: 2px solid rgba(255, 255, 255, 0.025);

	border-radius: 50%;

	pointer-events: none;
}
*/

/* ==========================================================
   CONTAINER
========================================================== */

.abelica-members-map-v2__container {
	width: 100%;
	max-width: 1450px;

	margin: 0 auto;

	padding: 0 30px;

	position: relative;
	z-index: 2;
}


/* ==========================================================
   HEADER
========================================================== */

.abelica-members-map-v2__header {
	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 45px;

	margin-bottom: 38px;
}


/* ==========================================================
   TITLE
========================================================== */

.abelica-members-map-v2__title-wrapper {
	flex: 1;
}

.abelica-members-map-v2__title {
	margin: 0;

	padding: 0;

	color: #ffffff;

	font-size: 24PX;

	font-weight: 400;

	line-height: 1.05;

	letter-spacing: -1.5px;
}

.abelica-members-map-v2__accent {
	display: block;

	width: 52px;

	height: 5px;

	margin-top: 22px;

	background: #f4d000;

	border-radius: 1px;
}


/* ==========================================================
   FILTER AREA
========================================================== */

.abelica-members-map-v2__filters {
	display: flex;

	align-items: center;

	gap: 20px;

	flex-shrink: 0;
}

.abelica-members-map-v2__filter {
	width: 240px;
}


/* ==========================================================
   SELECT
========================================================== */

.abelica-members-map-v2__select {
	width: 100%;

	height: 54px;

	padding: 0 48px 0 20px;

	border: 1px solid #e2e6e9;

	border-radius: 4px;

	background-color: #ffffff;

	color: #5c6570;

	font-family: inherit;

	font-size: 15px;

	font-weight: 400;

	cursor: pointer;

	outline: none;

	appearance: none;

	-webkit-appearance: none;

	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath fill='%23063b5c' d='M5 7l5 6 5-6z'/%3E%3C/svg%3E");

	background-repeat: no-repeat;

	background-position: right 17px center;

	background-size: 17px;
}

.abelica-members-map-v2__select:hover {
	border-color: #0b557d;
}

.abelica-members-map-v2__select:focus {
	border-color: #0b557d;

	box-shadow:
	0 0 0 2px rgba(11, 85, 125, 0.12);
}


/* ==========================================================
   RESET FILTERS
========================================================== */

.abelica-members-map-v2__reset {
	height: 54px;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	border-radius: 4px;
	background: transparent;
	color: #ffffff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.abelica-members-map-v2__reset:hover {
	background: #ffffff;
	border-color: #ffffff;
	color: #063b5c;
}

.abelica-members-map-v2__reset:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.22);
}

.abelica-members-map-v2__reset:active {
	transform: translateY(1px);
}

.abelica-members-map-v2__reset-icon {
	font-size: 19px;
	line-height: 1;
}


/* ==========================================================
   MAP CARD
========================================================== */

.abelica-members-map-v2__card {
	width: 100%;

	background: #ffffff;

	border-radius: 5px;

	overflow: hidden;

	box-shadow:
	0 20px 55px rgba(0, 0, 0, 0.15);
}


/* ==========================================================
   MAP
========================================================== */

.abelica-members-map-v2__map-wrapper {
	width: 100%;

	background: #ffffff;

	position: relative;
}

.abelica-members-map-v2__map {
	width: 100%;

	height: 600px;

	background: #ffffff;
}


/* ==========================================================
   EMPTY STATE
========================================================== */

.abelica-members-map-v2__empty {
	position: absolute;

	top: 50%;
	left: 50%;

	transform: translate(-50%, -50%);

	color: #66727d;

	font-size: 16px;

	text-align: center;
}


/* ==========================================================
   GOOGLE MAP
========================================================== */

#abelica-member-map-v2 .gm-style {
	font-family: inherit;
}

#abelica-member-map-v2 .gm-style iframe {
	border-radius: 0;
}


/* ==========================================================
   POPUP
========================================================== */

.abelica-members-map-v2-popup {
	width: 245px;

	padding: 4px;
}

.abelica-members-map-v2-popup__logo {
	display: flex;

	align-items: center;

	justify-content: center;

	width: 100%;

	height: 70px;

	margin-bottom: 10px;
}

.abelica-members-map-v2-popup__logo img {
	display: block;

	max-width: 175px;

	max-height: 58px;

	width: auto;

	height: auto;

	object-fit: contain;
}

.abelica-members-map-v2-popup__title {
	margin: 0 0 8px;

	color: #063b5c;

	font-size: 17px;

	font-weight: 700;

	line-height: 1.3;
}

.abelica-members-map-v2-popup__location {
	margin: 0 0 12px;

	color: #66727d;

	font-size: 13px;

	line-height: 1.45;
}

.abelica-members-map-v2-popup__link {
	display: inline-block;

	color: #063b5c;

	font-size: 13px;

	font-weight: 700;

	text-decoration: none;
}

.abelica-members-map-v2-popup__link:hover {
	text-decoration: underline;
}


/* ==========================================================
   LOGO CAROUSEL
========================================================== */

.abelica-members-map-v2__logos {
	position: relative;

	display: flex;

	align-items: center;

	width: 100%;

	min-height: 142px;

	padding: 20px 78px;

	background: #ffffff;

	border-top: 1px solid #e9e9e9;
}


/* ==========================================================
   SLIDER
========================================================== */

.abelica-members-map-v2__slider {
	width: 100%;

	overflow: hidden;
}

.abelica-members-map-v2__slider .swiper-wrapper {
	align-items: center;
}

.abelica-members-map-v2__slide {
	display: flex;

	align-items: stretch;

	justify-content: center;

	height: auto;

	padding: 5px;
}


/* ==========================================================
   LOGO
========================================================== */

.abelica-members-map-v2__logo {
	display: flex;

	align-items: center;

	justify-content: center;

	width: 100%;

	min-height: 92px;

	padding: 12px 18px;

	background: #ffffff;

	border: 1px solid #ededed;

	border-radius: 5px;

	text-decoration: none;

	cursor: pointer;

	transition:
		border-color .25s ease,
		box-shadow .25s ease,
		transform .25s ease,
		background .25s ease;
}

.abelica-members-map-v2__logo:hover {
	border-color: #cdd9e1;

	background: #ffffff;

	box-shadow:
	0 5px 18px rgba(0, 0, 0, 0.07);

	transform: translateY(-2px);
}

.abelica-members-map-v2__logo img {
	display: block;

	width: auto;
	
	max-width: 175px;
    max-height: 48px;

	object-fit: contain;

	transition:
		transform .25s ease;
}

/* ==========================================================
   ACTIVE LOGO
========================================================== */

.abelica-members-map-v2__slide.is-active
.abelica-members-map-v2__logo {
	border-color: #0b557d;

	background: #f7fafc;

	box-shadow:
	0 0 0 2px rgba(11, 85, 125, 0.10);
}

.abelica-members-map-v2__slide.is-active
.abelica-members-map-v2__logo img {
	transform: scale(1.04);
}


/* ==========================================================
   CAROUSEL ARROWS
========================================================== */

.abelica-members-map-v2__arrow {
	position: absolute;

	top: 50%;

	z-index: 10;

	width: 46px;

	height: 46px;

	margin: 0;

	padding: 0;

	display: flex;

	align-items: center;

	justify-content: center;

	border: 0;

	border-radius: 50%;

	background: #ffffff;

	color: #063b5c;

	box-shadow:
	0 3px 12px rgba(0, 0, 0, 0.13);

	cursor: pointer;

	transform: translateY(-50%);

	transition:
	background .2s ease,
	box-shadow .2s ease,
	transform .2s ease,
	opacity .2s ease;
}

.abelica-members-map-v2__arrow:hover {
	background: #f7fafc;

	box-shadow:
	0 5px 18px rgba(0, 0, 0, 0.17);

	transform:
	translateY(-50%) scale(1.04);
}

.abelica-members-map-v2__arrow span {
	display: block;

	font-family: Arial, sans-serif;

	font-size: 34px;

	font-weight: 300;

	line-height: 1;

	margin-top: -4px;
}

.abelica-members-map-v2__prev {
	left: 20px;
}

.abelica-members-map-v2__next {
	right: 20px;
}


/* ==========================================================
   SCREEN READER TEXT
========================================================== */

.abelica-members-map-v2 .screen-reader-text {
	border: 0;

	clip: rect(1px, 1px, 1px, 1px);

	clip-path: inset(50%);

	height: 1px;

	margin: -1px;

	overflow: hidden;

	padding: 0;

	position: absolute;

	width: 1px;

	word-wrap: normal !important;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1200px) {

	.abelica-members-map-v2__container {
		max-width: 1200px;
	}

	.abelica-members-map-v2__filter {
		width: 210px;
	}

	.abelica-members-map-v2__map {
		height: 540px;
	}

}


/* ==========================================================
   TABLET / SMALL DESKTOP
========================================================== */

@media (max-width: 992px) {

	.abelica-members-map-v2__header {
		flex-direction: column;

		align-items: flex-start;

		gap: 28px;
	}

	.abelica-members-map-v2__filters {
		width: 100%;
	}

	.abelica-members-map-v2__filter {
		width: calc((100% - 116px) / 2);
	}

	.abelica-members-map-v2__reset {
		flex: 0 0 auto;
	}

	.abelica-members-map-v2__map {
		height: 500px;
	}

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {

	.abelica-members-map-v2 {
		padding: 50px 0 60px;
	}

	.abelica-members-map-v2__container {
		padding: 0 18px;
	}

	.abelica-members-map-v2__header {
		margin-bottom: 28px;
	}

	.abelica-members-map-v2__title {
		font-size: 18px;

		letter-spacing: -0.8px;
	}

	.abelica-members-map-v2__filters {
		flex-direction: column;

		gap: 12px;
	}

	.abelica-members-map-v2__filter {
		width: 100%;
	}

	.abelica-members-map-v2__reset {
		width: 100%;
	}

	.abelica-members-map-v2__select {
		height: 50px;
	}

	.abelica-members-map-v2__map {
		height: 430px;
	}

	.abelica-members-map-v2__logos {
		min-height: 125px;

		padding: 16px 58px;
	}

	.abelica-members-map-v2__logo {
		min-height: 82px;

		padding: 10px;
	}

	.abelica-members-map-v2__logo img {
		max-width: 130px;

		max-height: 50px;
	}

	.abelica-members-map-v2__prev {
		left: 10px;
	}

	.abelica-members-map-v2__next {
		right: 10px;
	}

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 480px) {

	.abelica-members-map-v2 {
		padding: 42px 0 50px;
	}

	.abelica-members-map-v2__title {
		font-size: 14px;
	}

	.abelica-members-map-v2__accent {
		width: 42px;

		height: 4px;

		margin-top: 17px;
	}

	.abelica-members-map-v2__map {
		height: 350px;
	}

	.abelica-members-map-v2__logos {
		padding-left: 48px;

		padding-right: 48px;
	}

	.abelica-members-map-v2__arrow {
		width: 38px;

		height: 38px;
	}

	.abelica-members-map-v2__arrow span {
		font-size: 29px;
	}

	.abelica-members-map-v2__prev {
		left: 7px;
	}

	.abelica-members-map-v2__next {
		right: 7px;
	}

}

/* ==========================================================
   V2 POPUP ACCENT
========================================================== */

.abelica-members-map-v2-popup__accent {
	display: block;

	width: 52px;

	height: 5px;

	margin-top: 14px;

	margin-bottom: 14px;

	background: #f4d000;
}


/* ==========================================================
   V2 POPUP PHONE
========================================================== */

.abelica-members-map-v2-popup__phone {
	margin: 0 0 7px;

	color: #66727d;

	font-size: 14px;

	line-height: 1.5;

	text-align: left;
}


/* ==========================================================
   V2 POPUP EMAIL
========================================================== */

.abelica-members-map-v2-popup__email {
	margin: 0 0 10px;

	color: #66727d;

	font-size: 14px;

	line-height: 1.5;

	text-align: left;

	word-break: break-word;
}


/* ==========================================================
   V2 POPUP PROFILE LINK
========================================================== */

.abelica-members-map-v2-popup__link {
	display: inline-block;

	margin-top: 3px;

	color: #0d4d74;

	font-size: 15px;

	font-weight: 500;

	text-decoration: none;
}

.abelica-members-map-v2-popup__link:hover {
	text-decoration: none;
}

/* ==========================================================
   V2 POPUP WEBSITE LINK
========================================================== */

.abelica-members-map-v2-popup__website {
	display: inline-block;

	margin-top: 3px;
	
	margin-right: 10px;

	color: #0d4d74;

	font-size: 15px;

	font-weight: 500;

	text-decoration: none;
}

.abelica-members-map-v2-popup__website:hover {
	text-decoration: none;
}

/* ==========================================================
   ABELICA MEMBER SINGLE PAGE
========================================================== */

.abelica-member-container {
	max-width: 1100px;
	margin: 0 auto;
	padding-left: 30px;
	padding-right: 30px;
}


/* ==========================================================
   HERO
========================================================== */

/* ==========================================================
   MEMBER HERO - FULL WIDTH / FLUID BACKGROUND
========================================================== */

.abelica-member-hero {
	position: relative;
	width: 100vw;
	max-width: none;

	/* Break out of WordPress/theme container */
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);

	overflow: hidden;

	background: linear-gradient(
		135deg,
		#075f8c 0%,
		#06466e 55%,
		#032c4b 100%
	);

	color: #fff;

	padding: 55px 0 70px;

	box-sizing: border-box;
}


/* ==========================================================
   HERO INNER CONTENT
========================================================== */

.abelica-member-hero-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding-left: 30px;
	padding-right: 30px;
}

.abelica-member-breadcrumb {
	margin-bottom: 35px;
	font-size: 12px;
	color: rgba(255,255,255,.7);
}

.abelica-member-breadcrumb span {
	margin: 0 6px;
}

.abelica-member-breadcrumb strong {
	color: #fff;
}

.abelica-member-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr);
	gap: 70px;
	align-items: center;
}

.abelica-member-hero-content {
	padding: 20px 0 30px;
}

.abelica-country-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 15px;
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 30px;
	background: rgba(0,0,0,.08);
	font-size: 12px;
	margin-bottom: 25px;
}

.abelica-country-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #00c853;
	display: inline-block;
}

.abelica-spotlight-label {
	margin-bottom: 15px;
	color: #7bd2e7;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .5px;
	text-transform: uppercase;
}

.abelica-member-hero h2 {
	margin: 0 0 20px;
	color: #fff;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.08;
}

.abelica-member-hero-description {
	max-width: 650px;
	color: rgba(255,255,255,.9);
	font-size: 14px;
	line-height: 1.7;
	text-align: justify;
}

.abelica-member-hero-description p {
	margin: 0 0 10px;
}

.abelica-member-hero-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.abelica-member-hero-subtitle {
	margin: 14px 0 0;
	color: #ffffff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0;
	max-width: 680px;
	opacity: .9;
	margin-bottom: 10px;
}

@media (max-width: 768px) {

	.abelica-member-hero-subtitle {
		font-size: 15px;
		line-height: 1.5;
	}

}

/* ==========================================================
   BUTTONS
========================================================== */

.abelica-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 11px 20px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
	transition: all .2s ease;
}

.abelica-btn-primary {
	background: #00bd5a;
	color: #fff !important;
}

.abelica-btn-primary:hover {
	background: #00a84f;
	color: #fff !important;
	transform: translateY(-1px);
}

.abelica-btn-secondary {
	background: #fff;
	color: #073d68 !important;
}

.abelica-btn-secondary:hover {
	background: #f4f4f4;
	color: #073d68 !important;
	transform: translateY(-1px);
}


/* ==========================================================
   MEMBER INFORMATION CARD
========================================================== */

.abelica-member-info-card {
	padding: 24px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(0,0,0,.18);
	color: #073d68;
}

.abelica-member-card-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 76px;
	margin-bottom: 14px;
	padding: 10px;
	border: 1px solid #e5edf1;
	border-radius: 5px;
	background: #f8fbfc;
}

.abelica-member-card-logo img {
	max-width: 100%;
	max-height: 58px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.abelica-member-card-info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
}

.abelica-info-box {
	min-height: 68px;
	padding: 12px;
	border-radius: 5px;
	background: #f4f7f9;
}

.abelica-info-box span {
	display: block;
	margin-bottom: 7px;
	color: #82909a;
	font-size: 8px;
	text-transform: uppercase;
}

.abelica-info-box strong {
	display: block;
	color: #073d68;
	font-size: 12px;
	line-height: 1.35;
}

.abelica-member-card-contact {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	padding: 12px;
	border-radius: 4px;
	background: #073d68;
	color: #fff;
}

.abelica-contact-avatar,
.abelica-testimonial-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #dce9ef;
	color: #073d68;
	font-size: 14px;
	font-weight: 700;
	overflow: hidden;
}

.abelica-contact-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.abelica-testimonial-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.abelica-contact-details {
	min-width: 0;
	flex: 1;
}

.abelica-contact-details strong {
	display: block;
	font-size: 11px;
	color: #fff;
}

.abelica-contact-details span {
	display: block;
	margin-top: 3px;
	font-size: 9px;
	color: rgba(255,255,255,.75);
}

.abelica-contact-phone {
	color: #fff !important;
	font-size: 9px;
	text-decoration: none !important;
	white-space: nowrap;
}


/* ==========================================================
   AT A GLANCE
========================================================== */

.abelica-glance-section {
	background: #f3f8fb;
	padding: 80px 0;
	position: relative;
	width: 100vw;
	max-width: none;
	/* Break out of WordPress/theme container */
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	box-sizing: border-box;
}

.abelica-glance-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 80px;
	align-items: center;
}

.abelica-section-eyebrow {
	display: block;
	margin-bottom: 12px;
	color: #00a95c;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .3px;
}

.abelica-glance-content h2,
.abelica-why-content h2 {
	margin: 0 0 25px;
	color: #101820;
	font-size: 32px;
	line-height: 1.2;
}

.abelica-glance-description,
.abelica-why-description {
	color: #66747d;
	font-size: 13px;
	line-height: 1.8;
}

.abelica-glance-description p,
.abelica-why-description p {
	margin: 0 0 12px;
}

/* ==========================================================
   AT A GLANCE - VIDEO CARD
========================================================== */

.abelica-video-card {
    position: relative;
    width: 100%;
    padding: 24px;
    background: #ffffff !important;
    border-radius: 10px;
    box-shadow: 0 8px 30px rgba(15, 47, 65, 0.10);
    box-sizing: border-box;
}

/* Description */
.abelica-video-description {
    display: block !important;
    margin: 0 0 22px !important;
    color: #63717a !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* ==========================================================
   VIDEO BLUE AREA
========================================================== */

.abelica-video-placeholder {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: 235px !important;
    min-height: 235px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #123f65 !important;
    border-radius: 8px !important;

    box-sizing: border-box !important;
}

/* ==========================================================
   VIDEO SCREEN
========================================================== */

.abelica-video-screen {
    position: relative !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: calc(100% - 28px) !important;

    height: 175px !important;
    min-height: 175px !important;

    margin: 14px !important;
    padding: 0 !important;

    background: linear-gradient(
        135deg,
        #dceef8 0%,
        #c4ddea 100%
    ) !important;

    border-radius: 6px !important;

    box-sizing: border-box !important;
}

/* ==========================================================
   PLAY BUTTON
========================================================== */

.abelica-play-button {
    position: absolute !important;

    top: 50% !important;
    left: 50% !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 56px !important;
    height: 56px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;
    color: #00a95c !important;

    border-radius: 50% !important;

    transform: translate(-50%, -50%) !important;

    z-index: 10 !important;
}

.abelica-play-button span {
    display: block !important;

    margin: 0 0 0 4px !important;
    padding: 0 !important;

    color: #00a95c !important;

    font-size: 20px !important;
    line-height: 1 !important;
}

/* ==========================================================
   VIDEO FOOTER
========================================================== */

.abelica-video-footer {
    position: absolute !important;

    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 0 16px !important;

    background: #123f65 !important;
    color: #ffffff !important;

    font-size: 11px !important;
    line-height: 1 !important;

    box-sizing: border-box !important;
    z-index: 5 !important;
}

.abelica-video-footer span {
    display: block !important;
    color: #ffffff !important;
}

.abelica-video-footer span:last-child {
    color: #ffffff !important;
}

/* ==========================================================
   ACTUAL VIDEO EMBED
========================================================== */

.abelica-video-embed {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
    background: #123f65;
    aspect-ratio: 16 / 9;
}

.abelica-video-embed iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 235px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
}


/* ==========================================================
   SERVICES
========================================================== */

.abelica-services-section {
	position: relative;
	width: 100vw;
	max-width: none;
	overflow: hidden;
	background: linear-gradient(135deg, #073d68, #07577d);
	padding: 80px 0;
	color: #fff;
	/* Break out of WordPress/theme container */
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.abelica-services-section h2 {
	margin: 0 0 10px;
	color: #fff;
	font-size: 30px;
	line-height: 1.25;
}

.abelica-services-intro {
	margin: 0 0 30px;
	color: rgba(255,255,255,.8);
	font-size: 12px;
}

/* ==========================================================
   KEY SERVICES
========================================================== */

.abelica-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 38px;
}


/* ==========================================================
   SERVICE FLIPBOX
========================================================== */

.abelica-service-card {
	position: relative;
	height: 290px;
	perspective: 1200px;
}


.abelica-service-flip {
	position: relative;
	width: 100%;
	height: 100%;

	transform-style: preserve-3d;

	transition: transform .65s cubic-bezier(.2, .7, .2, 1);
}


.abelica-service-card:hover .abelica-service-flip {
	transform: rotateY(180deg);
}


/* ==========================================================
   FRONT / BACK
========================================================== */

.abelica-service-front,
.abelica-service-back {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;

	box-sizing: border-box;

	border-radius: 8px;

	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;

	overflow: hidden;
}


/* ==========================================================
   FRONT
========================================================== */

.abelica-service-front {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	padding: 36px 32px;

	background: #ffffff;

	box-shadow: 0 8px 25px rgba(15, 47, 65, .08);
}


.abelica-service-front::after {
	content: '';

	position: absolute;

	width: 150px;
	height: 150px;

	right: -65px;
	top: -65px;

	border: 18px solid #e5f7fc;

	border-radius: 50%;

	pointer-events: none;
}


/* ==========================================================
   NUMBER
========================================================== */

.abelica-service-number {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	margin-bottom: 60px;

	border-radius: 50%;

	background: #e5f7fc;

	color: #009bd1;

	font-size: 14px;
	font-weight: 700;
}


/* ==========================================================
   TITLE
========================================================== */

.abelica-service-front h3,
.abelica-service-back h3 {
	position: relative;
	z-index: 2;

	margin: 0;

	font-size: 21px;
	line-height: 1.3;
	font-weight: 700;

	color: #073f6b;
}


/* ==========================================================
   VIEW DETAILS
========================================================== */

.abelica-service-hover-hint {
	position: absolute;

	left: 32px;
	bottom: 28px;

	color: #00a95c;

	font-size: 11px;
	font-weight: 600;

	text-transform: uppercase;
	letter-spacing: .4px;
}


/* ==========================================================
   BACK
========================================================== */

.abelica-service-back {
	display: flex;
	flex-direction: column;
	align-items: flex-start;

	padding: 30px 32px;

	background: #073f6b;

	color: #ffffff;

	transform: rotateY(180deg);

	box-shadow: 0 12px 30px rgba(7, 63, 107, .20);
}


/* ==========================================================
   BACK NUMBER
========================================================== */

.abelica-service-back .abelica-service-number {
	margin-bottom: 28px;

	background: rgba(255, 255, 255, .12);

	color: #ffffff;
}


/* ==========================================================
   BACK TITLE
========================================================== */

.abelica-service-back h3 {
	margin-bottom: 18px;

	color: #ffffff;
}


/* ==========================================================
   DESCRIPTION
========================================================== */

.abelica-service-description {
	position: relative;
	z-index: 2;

	color: rgba(255, 255, 255, .85);

	font-size: 14px;
	line-height: 1.65;
}


.abelica-service-description p {
	margin: 0 0 10px;
}


.abelica-service-description p:last-child {
	margin-bottom: 0;
}


/* ==========================================================
   BACK DECORATION
========================================================== */

.abelica-service-back::after {
	content: '';

	position: absolute;

	width: 170px;
	height: 170px;

	right: -80px;
	bottom: -80px;

	border: 18px solid rgba(255, 255, 255, .08);

	border-radius: 50%;

	pointer-events: none;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1000px) {

	.abelica-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 650px) {

	.abelica-services-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.abelica-service-card {
		height: 270px;
	}

	.abelica-service-front,
	.abelica-service-back {
		padding: 28px 25px;
	}

	.abelica-service-number {
		margin-bottom: 45px;
	}

}

/* ==========================================================
   SERVICE FLIPBOX - PREMIUM BACK
========================================================== */

.abelica-service-back {
	position: relative;

	display: flex;
	align-items: center;

	width: 100%;
	height: 100%;

	padding: 38px;

	box-sizing: border-box;

	border-radius: 8px;

	background:
		linear-gradient(
			135deg,
			#073f6b 0%,
			#07527e 55%,
			#06466e 100%
		);

	color: #ffffff;

	transform: rotateY(180deg);

	overflow: hidden;

	box-shadow:
		0 15px 35px rgba(7, 63, 107, .25);
}


/* ==========================================================
   LARGE BACKGROUND NUMBER
========================================================== */

.abelica-service-back-number {
	position: absolute;

	right: -15px;
	top: -35px;

	font-size: 170px;
	line-height: 1;

	font-weight: 800;

	color: rgba(255, 255, 255, .045);

	pointer-events: none;

	user-select: none;
}


/* ==========================================================
   DECORATIVE CIRCLE
========================================================== */

.abelica-service-back-decoration {
	position: absolute;

	right: -85px;
	bottom: -85px;

	width: 220px;
	height: 220px;

	border: 22px solid rgba(80, 210, 240, .12);

	border-radius: 50%;

	pointer-events: none;
}


/* Inner circle */

.abelica-service-back-decoration::after {
	content: '';

	position: absolute;

	top: 25px;
	left: 25px;

	width: 125px;
	height: 125px;

	border: 2px solid rgba(255, 255, 255, .06);

	border-radius: 50%;
}


/* ==========================================================
   BACK CONTENT
========================================================== */

.abelica-service-back-content {
	position: relative;

	z-index: 3;

	width: 100%;

	max-width: 100%;
}


/* ==========================================================
   LABEL
========================================================== */

.abelica-service-back-label {
	display: block;

	margin-bottom: 12px;

	color: #69d7ed;

	font-size: 10px;
	font-weight: 700;

	letter-spacing: 1.5px;

	text-transform: uppercase;
}


/* ==========================================================
   ACCENT LINE
========================================================== */

.abelica-service-back-line {
	width: 42px;
	height: 3px;

	margin-bottom: 22px;

	background: #ffd800;
}


/* ==========================================================
   DESCRIPTION
========================================================== */

.abelica-service-back
.abelica-service-description {

	position: relative;

	color: rgba(255, 255, 255, .9);

	font-size: 14px;

	line-height: 1.7;

	max-width: 100%;
}


.abelica-service-back
.abelica-service-description p {
	margin: 0 0 10px;
}


.abelica-service-back
.abelica-service-description p:last-child {
	margin-bottom: 0;
}

/* ==========================================================
   WHY CLIENTS
========================================================== */

.abelica-why-section {
	background: #fff;
	padding: 90px 0;
}

.abelica-why-grid {
	display: grid;
	grid-template-columns: 1fr 390px;
	gap: 80px;
	align-items: center;
}

.abelica-testimonial-card {
	position: relative;
	padding: 30px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 5px 25px rgba(15,47,65,.12);
}

.abelica-quote-mark {
	position: absolute;
	top: 12px;
	left: 22px;
	color: #d9f3f8;
	font-size: 55px;
	line-height: 1;
	font-weight: 700;
}

.abelica-testimonial-card p {
	position: relative;
	margin: 20px 0 25px;
	color: #66747d;
	font-size: 13px;
	line-height: 1.7;
}

.abelica-testimonial-person {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-top: 18px;
	border-top: 1px solid #e4e8ea;
}

.abelica-testimonial-person strong {
	display: block;
	color: #073d68;
	font-size: 11px;
}

.abelica-testimonial-person span {
	display: block;
	margin-top: 3px;
	color: #8b969c;
	font-size: 9px;
}


/* ==========================================================
   CTA
========================================================== */

.abelica-member-cta {
	position: relative;
	width: 100vw;
	max-width: none;
	overflow: hidden;
	background: linear-gradient(135deg, #073d68, #07577d);
	padding: 80px 0;
	text-align: center;
	color: #fff;
	
	/* Break out of WordPress/theme container */
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.abelica-cta-content {
	max-width: 750px;
	margin: 0 auto;
}

.abelica-member-cta .abelica-section-eyebrow {
	color: #77d2e8;
}

.abelica-member-cta h2 {
	margin: 0 0 15px;
	color: #fff;
	font-size: 32px;
	line-height: 1.25;
}

.abelica-member-cta p {
	margin: 0 auto 25px;
	max-width: 650px;
	color: rgba(255,255,255,.8);
	font-size: 12px;
	line-height: 1.7;
}

.abelica-cta-buttons {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 900px) {

	.abelica-member-hero-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.abelica-glance-grid,
	.abelica-why-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.abelica-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}

}

@media (max-width: 767px) {

	.abelica-member-hero-inner {
		width: calc(100% - 40px);
	}

}

@media (max-width: 600px) {

	.abelica-member-container,
	.abelica-member-hero-inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.abelica-member-hero {
		padding-top: 20px;
	}

	.abelica-member-hero h1 {
		font-size: 38px;
	}

	.abelica-member-card-info {
		grid-template-columns: 1fr;
	}

	.abelica-services-grid {
		grid-template-columns: 1fr;
	}

	.abelica-glance-section,
	.abelica-services-section,
	.abelica-why-section,
	.abelica-member-cta {
		padding-top: 55px;
		padding-bottom: 55px;
	}

	.abelica-glance-content h2,
	.abelica-why-content h2,
	.abelica-member-cta h2 {
		font-size: 27px;
	}

	.abelica-hero-buttons,
	.abelica-member-hero-buttons,
	.abelica-cta-buttons {
		flex-direction: column;
	}

	.abelica-btn {
		width: 100%;
	}

	.abelica-member-card-contact {
		flex-wrap: wrap;
	}

	.abelica-contact-phone {
		width: 100%;
		margin-left: 48px;
	}

}

/* ==========================================================
   ABELICA MEMBER DIRECTORY - APPROVED ARCHIVE DESIGN
========================================================== */

.abelica-members-archive {
    margin: 0;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    padding: 0 0 90px;
    background: #f3f8fb;
    box-sizing: border-box;
    overflow: hidden;
}

.abelica-members-archive *,
.abelica-members-archive *::before,
.abelica-members-archive *::after {
    box-sizing: border-box;
}


/* ==========================================================
   CONTAINER
========================================================== */

.abelica-archive-container {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
}


/* ==========================================================
   ARCHIVE HEADER
========================================================== */

.abelica-archive-header {
    position: relative;
    padding: 55px 0 0;
    background: #f3f8fb;
}

.abelica-archive-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.abelica-archive-heading-row > div:first-child {
    min-width: 0;
}

.abelica-archive-header .abelica-section-eyebrow {
    display: block;
    margin: 0 0 18px;
    color: #00a95c;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .2px;
    text-transform: uppercase;
}

.abelica-archive-header .title{
    margin: 0;
    color: #073d68;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -1.8px;
}


/* ==========================================================
   VIEW TOGGLE
========================================================== */

.abelica-view-toggle {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 0;
    margin-bottom: 2px;
}

.abelica-view-button {
    appearance: none;
    -webkit-appearance: none;

    min-height: 38px;
    padding: 0 15px;

    border: 1px solid #d7e1e7;
    background: #fff;

    color: #526879;

    font-family: inherit;
    font-size: 11px;
    font-weight: 500;

    cursor: pointer;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.abelica-view-button:first-child {
    border-radius: 20px 0 0 20px;
}

.abelica-view-button:last-child {
    border-radius: 0 20px 20px 0;
}

.abelica-view-button.active {
    background: #073d68;
    border-color: #073d68;
    color: #fff;
}

.abelica-view-button:hover:not(.active) {
    background: #f7fafc;
}


/* ==========================================================
   FILTER BAR
========================================================== */

.abelica-archive-filters {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;

    margin-top: 30px;
    padding: 13px;

    background: #fff;
    border-radius: 7px;

    box-shadow:
        0 7px 22px rgba(15, 47, 65, .08);
}

.abelica-filter-field {
    min-width: 0;
}

.abelica-filter-field input,
.abelica-filter-field select {
    display: block;

    width: 100%;
    height: 43px;

    padding: 0 13px;

    border: 1px solid #dce5ea;
    border-radius: 5px;

    background: #fff;

    color: #566b7b;

    font-family: inherit;
    font-size: 11px;
    font-weight: 400;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.abelica-filter-field input::placeholder {
    color: #8c9aa4;
}

.abelica-filter-field select {
    padding-right: 35px;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%2370808c' d='M5 7l5 6 5-6z'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: right 12px center;
}

.abelica-filter-field input:hover,
.abelica-filter-field select:hover {
    border-color: #b8ccd7;
}

.abelica-filter-field input:focus,
.abelica-filter-field select:focus {
    border-color: #0b557d;

    box-shadow:
        0 0 0 2px rgba(11, 85, 125, .08);
}


/* ==========================================================
   FEATURED LOGOS
========================================================== */

.abelica-featured-members {
    padding: 28px 0 20px;
    background: #f3f8fb;
}

.abelica-logo-carousel {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;
    height: 72px;

    padding: 0 48px;

    background: #fff;
    overflow: hidden;
}

.abelica-logo-track {
    display: flex;
    align-items: center;

    width: 100%;
    height: 100%;

    gap: 35px;

    overflow: hidden;
}

.abelica-logo-item {
    flex: 0 0 210px;

    display: flex;
    align-items: center;
    justify-content: center;

    height: 58px;

    text-decoration: none;
}

.abelica-logo-item img {
    display: block;

    width: auto;
    max-width: 175px;
    max-height: 48px;

    object-fit: contain;

    opacity: .9;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.abelica-logo-item:hover img {
    opacity: 1;
    transform: scale(1.03);
}


/* ==========================================================
   LOGO NAVIGATION
========================================================== */

.abelica-logo-nav {
    position: absolute;
    top: 50%;
    z-index: 5;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #fff;
    color: #073d68;

    font-family: Arial, sans-serif;
    font-size: 25px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    box-shadow:
        0 2px 8px rgba(0, 0, 0, .10);

    transform: translateY(-50%);

    transition:
        background .2s ease,
        box-shadow .2s ease;
}

.abelica-logo-nav:hover {
    background: #f4f8fa;

    box-shadow:
        0 4px 12px rgba(0, 0, 0, .15);
}

.abelica-logo-prev {
    left: 8px;
}

.abelica-logo-next {
    right: 8px;
}


/* ==========================================================
   DIRECTORY
========================================================== */

.abelica-member-directory {
    position: relative;
    padding: 15px 0 0;
    background: #f3f8fb;
}


/* ==========================================================
   CONTINENT SECTION
========================================================== */

.abelica-continent-section {
    margin: 0 0 38px;
}

.abelica-continent-heading {
    display: flex;
    align-items: center;
    gap: 18px;

    margin: 0 0 18px;
}

.abelica-continent-heading h2 {
    flex: 0 0 auto;

    margin: 0;

    color: #073d68;

    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.abelica-continent-heading span {
    flex: 1;

    display: block;

    height: 1px;

    background: #dbe4e9;
}


/* ==========================================================
   MEMBER GRID
========================================================== */

.abelica-member-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;
}


/* ==========================================================
   MEMBER CARD
========================================================== */

.abelica-archive-member-card {
    position: relative;

    min-width: 0;
    min-height: 76px;

    background: #fff;

    border: 1px solid #e5edf1;
    border-radius: 5px;

    overflow: hidden;

    box-shadow:
        0 4px 12px rgba(15, 47, 65, .035);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.abelica-archive-member-card::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;

    width: 3px;

    background: #00bfa5;
}

.abelica-archive-member-card:hover {
    transform: translateY(-2px);

    border-color: #d3e1e7;

    box-shadow:
        0 8px 20px rgba(15, 47, 65, .08);
}


/* ==========================================================
   CARD CONTENT
========================================================== */

.abelica-member-card-content {
    display: flex;

    align-items: center;
    justify-content: space-between;

    min-height: 76px;

    padding: 13px 14px 13px 18px;

    gap: 12px;
}

.abelica-member-card-text {
    min-width: 0;
}

.abelica-member-card-text h3 {
    margin: 0 0 5px;

    color: #073d68;

    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;

    white-space: normal;
}

.abelica-member-card-text p {
    margin: 0;

    color: #667b89;

    font-size: 9px;
    font-weight: 400;
    line-height: 1.3;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* ==========================================================
   CARD ARROW
========================================================== */

.abelica-member-card-arrow {
    flex: 0 0 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    border: 1px solid #dce7ec;
    border-radius: 50%;

    background: #fff;

    color: #073d68;

    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1;

    text-decoration: none !important;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.abelica-member-card-arrow:hover {
    background: #073d68;
    border-color: #073d68;
    color: #fff;

    transform: translateX(2px);
}


/* ==========================================================
   NO MEMBERS
========================================================== */

.abelica-no-members {
    padding: 50px 20px;

    text-align: center;

    color: #667b89;

    font-size: 14px;
}


/* ==========================================================
   MAP VIEW
========================================================== */

.abelica-directory-map {
    display: none;
}

.abelica-directory-map.active {
    display: block;
}

.abelica-directory-list.hidden {
    display: none;
}


/* ==========================================================
   DECORATIVE BACKGROUND
========================================================== */

.abelica-members-archive {
    position: relative;
}

.abelica-members-archive::before {
    content: "";

    position: absolute;

    width: 330px;
    height: 330px;

    left: -180px;
    top: 170px;

    border: 28px solid rgba(55, 192, 218, .07);

    border-radius: 50%;

    pointer-events: none;
}

.abelica-members-archive::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: -170px;
    bottom: 170px;

    border: 25px solid rgba(55, 192, 218, .055);

    border-radius: 50%;

    pointer-events: none;
}

.abelica-archive-header,
.abelica-featured-members,
.abelica-member-directory {
    position: relative;
    z-index: 1;
}


/* ==========================================================
   RESPONSIVE - TABLET
========================================================== */

@media (max-width: 900px) {

    .abelica-archive-heading-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .abelica-view-toggle {
        margin-bottom: 0;
    }

    .abelica-archive-filters {
        grid-template-columns: 1fr;
    }

    .abelica-member-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .abelica-logo-item {
        flex-basis: 180px;
    }

}


/* ==========================================================
   RESPONSIVE - MOBILE
========================================================== */

@media (max-width: 600px) {

    .abelica-members-archive {
        padding-bottom: 60px;
    }

    .abelica-archive-container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .abelica-archive-header {
        padding-top: 38px;
    }

    .abelica-archive-header h1 {
        font-size: 38px;
        letter-spacing: -1px;
    }

    .abelica-archive-filters {
        margin-top: 24px;
        padding: 10px;
        gap: 9px;
    }

    .abelica-featured-members {
        padding-top: 22px;
    }

    .abelica-logo-carousel {
        height: 68px;
        padding-left: 38px;
        padding-right: 38px;
    }

    .abelica-logo-track {
        gap: 15px;
    }

    .abelica-logo-item {
        flex: 0 0 160px;
    }

    .abelica-logo-item img {
        max-width: 135px;
        max-height: 42px;
    }

    .abelica-member-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .abelica-continent-section {
        margin-bottom: 30px;
    }

    .abelica-continent-heading {
        gap: 12px;
    }

    .abelica-continent-heading h2 {
        font-size: 15px;
    }

    .abelica-view-button {
        min-height: 36px;
        padding: 0 12px;
        font-size: 10px;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 400px) {

    .abelica-archive-header h1 {
        font-size: 34px;
    }

    .abelica-view-button {
        padding-left: 10px;
        padding-right: 10px;
    }

}

/* ==========================================================
   ARCHIVE GOOGLE MAP
========================================================== */

#abelica-map-view {
    width: 100%;
    display: none;
}

#abelica-map-view.active {
    display: block;
}

#abelica-member-map-v2 {
    width: 100%;
    height: 600px;
    min-height: 600px;
    background: #ffffff;
    position: relative;
    overflow: hidden;
}

/* Google Maps internal element */
#abelica-member-map-v2 .gm-style {
    width: 100%;
    height: 100%;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 992px) {

    #abelica-member-map-v2 {
        height: 500px;
        min-height: 500px;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {

    #abelica-member-map-v2 {
        height: 430px;
        min-height: 430px;
    }

}

/* ==========================================================
   V1.4.2 — MAP V2 LOGO CAROUSEL NORMALIZATION
   Prevent theme/Elementor image rules from stretching,
   cropping or distorting member logos.
========================================================== */
#abelica-member-map-v2 .abelica-members-map-v2__slide {
    min-width: 0;
}

#abelica-member-map-v2 .abelica-members-map-v2__logo {
    box-sizing: border-box;
    overflow: hidden;
}

#abelica-member-map-v2 .abelica-members-map-v2__logo img {
    display: block !important;
    box-sizing: border-box !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: calc(100% - 2px) !important;
    max-height: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    aspect-ratio: auto !important;
    flex: 0 1 auto !important;
}

/* Ensure very wide wordmarks always fit inside the carousel cards. */
@media (max-width: 767px) {
    #abelica-member-map-v2 .abelica-members-map-v2__logo img {
        max-height: 52px !important;
    }
}


/* ==========================================================================
   Archive filter visibility
   ========================================================================== */

.abelica-archive-member-card.abelica-filter-hidden {
	display: none !important;
}

.abelica-continent-section.abelica-section-hidden {
	display: none !important;
}
