/*
Theme Name: SHOAL
Description: The best possible theme for WordPress
Author: Robert B - DouglassDigital
Version: 1.0
Tags: lightweight
*/


:root {
	--rib-green: #73C48F;
	--rib-darkgreen: #087997;
	--rib-lightgreen: #D1D700;
	--rib-orange: #EFB33F;

	
	--custom-color2: rgba(0,0,0,0.9);
	--custom-color3: rgba(0,0,0,0.5);
	--boxed-width: 1409px;
}


* {
	scroll-margin-top: 100px;
}

html {
  scroll-behavior: smooth;
}

.site-main {
	min-height:calc(100vh - 375px);
/* 	overflow-y: hidden; */
}

.boxed-width {
	max-width: var(--boxed-width);
	margin: 0 auto;
}

img {
    vertical-align: middle;
}

@media screen and (max-width:899px) {
	.desktop_only {
		display: none!important;
	}
}

@media screen and (min-width:900px) {
	.mobile_only {
		display: none!important;
	}
}

.map_text p{
	font-size: 16px;
	line-height: 1.4
}

.map_text h4 {
	margin-top: 0;
	
}

.gtranslate_container {
	margin-right: 175px;
}

blockquote {
	background: rgba(8, 121, 151, 0.24);
	margin-left: 0!important; 
	margin-right: 0!important;
	margin-top: 20px!important;
	padding: 20px;
	border-radius: 0 12px 0 12px!important;
	position: relative;
	font-style: italic;
}

blockquote::after {
	content: '';
	position: absolute;
	left: 30px;
	bottom :0;
	display: block;
	transform: translateY(20px);
	  width: 0; 
  height: 0; 
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  
  border-top: 20px solid rgba(8, 121, 151, 0.24);
	
}

/* Single member page */
.user_flexible {
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom: -60px;
}
.member_map_and_contacts {
}

.member_map_and_contacts .col{
	padding: 0!important;
}

.member_contacts{ 
padding-top: 60px;
	padding-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	font-weight: bold;
	gap: 30px 80px;
}

.member_contacts * {
	font-weight: bold;
	color: var(--rib-blue);
}
.member_contacts
.buttons_container {
	width: 200px;
}

.member_contacts
.buttons_container a {
	width: 100%;
}

.member_map_and_contacts .boxed-width {
	padding-left: 20px;
	padding-right: 20px;
}
#map {
	height: 100%;
	min-height: 400px;
	margin-left: -20px;
	margin-right: -20px;
}
.about_member_section {
	background: #dbe5cc;
	margin-left: -20px;
	margin-right: -20px;
	margin-top: -60px;
	padding-top: 60px;
	padding-bottom: 60px;
	
}

.about_member {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}

.about_member_image {
	flex: 300px;
	max-width: 300px;
}

.about_member_details {
	flex: calc(100% - 330px);
	min-width: 60%;
}

.about_member_section .boxed-width {
	padding-left: 20px;
	padding-right: 20px;
}
/* Custom search page */
.products_search {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	margin-bottom: 40px;
}

.facetwp-counter {
	display: none;
}
@media screen and (min-width: 1100px) {
	.search_filter {
	flex: calc(100% - 650px);
		flex: calc(100% - 00px);
}
}

@media screen and (max-width: 1100px) {
	.search_filter {
	flex: calc(100% - 90px);
		flex: calc(100% - 0px);
}
}

@media screen and (max-width: 600px) {
	.search_filter {
	flex: calc(100%)!important;
}
	.products_search {
		position : relative;
	}
	.reset_filters {
		position: absolute;
		right: 0;
		bottom: -55px;
	}
	
	
}

.search_filter .facetwp-facet{
	margin: 0;
	width: 100%;
	
}
.search_filter .facetwp-facet
.facetwp-input-wrap {
	width: calc(100%);
	flex: 100%;
}

.facetwp-type-search .facetwp-input-wrap i {
	width: 200px;
	background: var(--lb-yellow);
	opacity: 1!important;
	border-radius: 30px;
	transition: all 0.3s;
	padding: 27px;
	display: none;
}

.facetwp-type-search .facetwp-input-wrap i::before {
	display: none;
}

.facetwp-type-search .facetwp-input-wrap i::after {
    content: 'Search';
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    color: var(--lb-darkblue)!important;
	font-family: "Poppins";
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-style: normal;
	transition: all 0.3s;
}

.facetwp-facet.is-loading {
	opacity: 1!important; 
}

@media screen and (max-width: 600px) {
	.facetwp-type-search .facetwp-input-wrap {
		margin-bottom: 60px;
	}
	
	.facetwp-input-wrap input, .togle_title, .fitler_toggle{
		width: 100%!important;
	}
	
	.search_filter .facetwp-type-search .facetwp-input-wrap i {
		top: calc(100% + 20px);
		left: 0;
		transform: none!important;
		width: calc(100% - 80px)!important;
	}
}

.facetwp-type-search .facetwp-input-wrap i:hover::after {
	color: #fff!important;
}

.search_filter .facetwp-facet .facetwp-search {
	padding: 15px 25px;
	background: #E8E8E8;
	height: 56px;
	border: 0;
	border-radius: 12px;
	font-weight: bold;
	color: var(--lb-darkblue);
	width: calc(100%);
}

.search_filter .facetwp-facet .facetwp-search::placeholder {
	color: var(--lb-darkblue);
}

/* Members Search */
.top_search {
	background: #d4dbc9;
	padding-top: 60px;
	padding-bottom: 30px;
	margin-left: -20px;
	margin-right: -20px;
	margin-top: -60px;
}

.members_search, .members_filters {
	padding-left: 20px;
	padding-right: 20px;
}


.top_search .boxed-width{
	padding-left: 20px;
	padding-right: 20px;
}

.member_dropdowns {
	display: flex;
	gap: 30px;
}

.member_cards {
	padding: 40px 0px;
}


.member_cards .boxed-width{
	padding-left: 20px;
	padding-right: 20px;
}

@media screen and (max-width: 1390px) {
	.member_cards .boxed-width, .top_search .boxed-width, .member_map_and_contacts .boxed-width{
	padding-left: 0px;
	padding-right: 0px;
}
}

/* Partners map */
.only_map .all_partners{
	display: none;
}

.all_partners {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.single_partner {
	flex-grow: 0!important;
}

@media screen and (min-width:900px) {
.single_partner {
	flex: calc((100% - 20px) / 2);
}}


@media screen and (max-width:499px) {
.single_partner {
	flex: 100%;
}}

.single_partner {
	padding: 20px;
	box-shadow: 0px 0px 32px 0px #00000014;
	border-radius: 12px;
	}

.single_partner_content {
	flex-wrap: wrap;
	display: flex;
	gap: 20px;
}

.single_partner_content .single_partner_image {
		flex: 197px;
	box-shadow: 0px 0px 32px 0px #00000014;
	border-radius: 12px;
	padding: 20px;
	height: 197px;
	object-fit: contain;
	}

.single_partner_content .single_partner_details {
	flex: calc(100% - 197px - 20px);
}

@media screen and (min-width: 900px) and (max-width: 1100px) {
	.single_partner_content * {
		flex: 100%;
	}
}

.only_map .buttons_container {
	margin-top: -170px;
}
button.facetwp-map-filtering {
	display: none;
}
.facetwp-facet-partner_map {
	margin-left: -20px;
	margin-right: -20px;
	margin-top: 65x;
}
/* End partners map */


.facetwp-facet-search {
	position: relative!important;
}
.facetwp-facet-search .facetwp-icon {
    opacity: 1;
	
}

.facetwp-facet-search .facetwp-input-wrap {
	width: 100%!important;
}

.facetwp-facet-search .facetwp-icon {
    right: 0!important;
	left: auto;
    height: 100%;
    line-height: 1;
    position: absolute;
    cursor: pointer;
    opacity: 0.5;
}

.facetwp-facet-search .facetwp-icon:after {
	position: absolute;
    background: var(--rib-blue);
    content: 'Search';
    font-style: normal;
    padding: 20px;
    right: 0;
	line-height: 1;
    width: 160px;
    text-align: center;
    border-radius: 8px;
    color: #fff;
    font-size: 18px;
		font-weight: bold;
}

.facetwp-facet-search input {
	width: calc(100% - 180px);
	padding: 15px 20px!important;
	background: #fff!important;
	border: none!important;
	border-radius: 8px!important;
}

.facetwp-facet-search .facetwp-icon:before {
	display: none;
}

/* Timeline */

 .timeline {
      position: relative;
/*       overflow: hidden; */
      width: 100%;
    }

.timeline::after{
	content: '';
	position: absolute;
	width: 5000px;
	height: 2px;
	background: #fff;
	bottom: 63px;
	z-index: 0;
	transform: translateX(-50%);
}
    .timeline_navigation {
      position: absolute;
      bottom: 32px;
      transform: translateY(-50%);
      cursor: pointer;
      z-index: 10;
			background: var(--rib-blue);
			width: 32px;
			height: 32px;
			display: flex;
			justify-content: center;
			align-items: center;
			border-radius: 50px;
			cursor: pointer;
    }
    .timeline_navigation.left {
      left: 0;
    }
    .timeline_navigation.right {
      right: 0;
    }
    .timeline_contents {
      display: flex;
      transition: all 0.3s ease;
			position: relative;
			z-index: 1;
    }
    .single_timeline {
      min-width: 350px; 
      padding-left: 50px;
			padding-right: 50px;

    }

.timeline_description {
	min-height: 160px;
}

.timeline_description p {
		font-weight: bold;

}

.timeline_image_container {
	position: relative;
	padding-top: 60%;
	overflow: hidden;
	border-radius: 8px;
	margin-bottom: 35px;
}


.timeline_image_container img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	
}

.timeline_bubble {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--rib-blue);
	margin-bottom: 20px;
}

.timeline_year {
	font-size: 24px;
	font-weight: bold;
}

/* Tabs */
.tabs  {
	display: flex;
	flex-wrap: wrap;
}

.tabs.team_tabs {
	gap: 20px;
}

@media screen and (min-width: 900px) {
	.tab_buttons  {
		flex: 30%;
	}
	.tab_content  {
		flex: 70%;
	}
	
	.tab_content.fees_content  {
		flex: 60%!important;
	}
	
	.tab_buttons.team_buttons {
		flex: calc(30% - 20px);
	}
	
	.team_content.mobile_team_content {
		display: none!important;
	}
	
}

@media screen and (max-width: 899px) {
	.tab_buttons, 
	.tab_content  {
		flex: 100%;
	}
	
	
}

.tab_button {
	cursor: pointer;
	transition: all 0.3s;
}

/* team tabs */

.team_content .custom_button  {
	font-size: 18px;
	font-weight: 400;
}

.team_buttons {
	transition: all 0.3s;
}
@media screen and (min-width: 950px) {
.team_buttons {
	padding-right: 50px;
}
}

@media screen and (min-width: 900px) and (max-width: 950px) {
.team_buttons {
	padding-right: 0px;
}
}

.team_buttons {
	margin-bottom: 30px;
}

.team_button {
	
	display: block;
	text-decoration: none;
	padding: 13px 25px;
	padding-top: 16px;
	font-family: "Lato", sans-serif; 
	font-weight: 700;
	color: #000;
	transition: all 0.3s;
	border: 0;
	cursor: pointer;
	white-space: wrap;
	text-align: center;
	min-width: 90px;	
	border-radius: 8px!important;
	border: 2px solid var(--rib-green);
	margin-bottom: 20px;
}

.team_button:hover {
	color: var(--rib-lightgreen);
}

.team_button.active {
	background: var(--rib-green);
	color: #fff;
}

.tab_content:not(.active) {
	display: none;
}

/* Fees tabs */
.tab_buttons.fees_buttons  {
		flex: 40%!important;
	}
.tab_buttons.fees_content  {
		flex: 60%!important;
	}
.fees_tabs {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.16);
	border: 1px solid #ACACAC;
	overflow: hidden
}

.fees_buttons {
	border-right: 1px solid #ACACAC;
	background: #d4dbc9;
}

.fees_button  {
	border-bottom: 1px solid #ACACAC;
	padding: 30px 20px;
	color: var(--rib-green);
	font-family: "Lato", sans-serif; 
	font-weight: 700;
}

.fees_button.active {
	background: #fff;
}

.fees_button:last-of-type  {
	border-bottom: none;
}

.fees_group {
	padding: 30px 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.fees_group > div {
	flex: calc(50% - 15px);
}

.turnover_title, .fee_title {
		color: var(--rib-green);
	font-family: "Lato", sans-serif; 
	font-weight: 700;
}

/* Logos carousel */
.carousel-content {
  position: relative;
  overflow: hidden;
  transition: width .4s;
  height: 100%;
	padding: 100px 0;
} 

.slide {
  height: 100%;
  position: absolute;
  z-index: 1;
	top: 0px;
  transition: left 2s linear;
	text-align: center;
	
}

.slide img {
	height: 100%;
	max-height: 200px;
	max-width: 290px;
	object-fit: contain;
}

/* Image gallery */
.image_gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.image_title_optional {
	text-align: left;
	margin-top: 20px;
}
.image_title_optional h4 {
	margin-bottom: 10px!important;
	margin-top: 0!important;
	font-size: 20px;
}

.image_title_optional p {
	margin-top: 10px!important;
	line-height: 1.4;
	font-size: 18px!important;
}

.gallery_single_container {
	flex-grow: 0!important;
}

@media screen and (min-width:900px) {
.gallery_single_container {
	flex: calc((100% - 40px) / 3);
}
	
	.width1of2.logo_gallery .gallery_single_container {
	flex: calc((100% - 20px) / 2);
}
	
	.width1of1.logo_gallery .gallery_single_container {
	flex: calc((100% - 100px) / 6);
}

	
}

div:not(.team_content) .image_title_optional h4{
	color: var(--rib-blue);
}


@media screen and (min-width:500px) and (max-width:899px) {
.gallery_single_container {
	flex: calc((100% - 20px) / 2);
}

	.width1of1.logo_gallery .gallery_single_container {
	flex: calc((100% - 60px) / 3);
	}
}

@media screen and (max-width:499px) {
.gallery_single_container {
	flex: 100%;
}}

.gallery_single_image {
	position: relative;
	padding-top: 120%;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0px 0px 24px 0px #00000040;
}

body.single-post .gallery_single_image {
	padding-top: 0;
	aspect-ratio: 1/1;
}

.logo_gallery .gallery_single_image {
	position: relative;
	padding-top: 100%;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0px 0px 24px 0px #00000040;
}

.team_bio {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 100%;
	width: 100%;
	transform: translate(-50%, -50%); 
	padding: 20px;
	
	
	z-index: 2;
	opacity: 0;
	transition: all 0.5s;
}

.gallery_single_image:hover .team_bio {
	opacity: 1;
}

.team_bio_blur_background {
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	height: 100%;
	width: 100%;
	transform: translate(-50%, -50%); 
	filter: blur(10px);
}

.team_bio_text {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 100%;
	width: 100%;
	transform: translate(-50%, -50%); 
	position: relative;
	overflow-y: scroll;
/* 	display: flex;
	align-items: center; */
}

.team_bio_text::-webkit-scrollbar {
  width: 0px;
}

/* width */
.team_bio

/* Track */
.team_bio::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Handle */
.team_bio::-webkit-scrollbar-thumb {
  background: #888;
}

/* Handle on hover */
.team_bio::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.gallery_single_image img {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 100%;
	width: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}

/* Single Event */
.event_main {
	overflow: visible;
}
/* Events page */
.event_filters  {
	margin-bottom: -30px;
}
.custom_fitlers {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}

.date_filter  {
	padding-bottom: 40px;
}
.date_filter
.date_activator  {
	min-width: 250px;
	position: relative;
	font-weight: normal;
	padding: 20px!important;
	padding-right: 40px;
	color: #000;
	background: #EDF0F1;
	border: none;
	border-radius: 8px;
	text-align: left;
	font-size: 18px;
	font-weight: bold;
}

.date_dropdown:not(.active) {
	display: none;
}

.date_dropdown {
	margin-top: 15px;
	position: absolute;
	max-height: 0;
	overflow: hidden;
	transition: all 0.3s;
}

.date_dropdown  .facetwp-type-date_range {
		display: flex;
	gap: 20px;
}
.date_dropdown
.fdate-input {
	width: 115px; 
}

.date_dropdown.active {
	max-height: 100px;
}

.facetwp-type-dropdown {
	position: relative;
	width: 250px;
	
}

.facetwp-type-dropdown:hover {
	cursor: pointer!important;
}

.facetwp-type-dropdown::after, .date_filter
.date_activator:after  {
	font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f078";
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	transition: all 0.3s;
}

.facetwp-type-dropdown:focus-within:after {
/* 	transform: translateY(-50%) rotate(90deg); */
}

.facetwp-dropdown {
	width: 100%;
	 -webkit-appearance: none!important;
	appearance: none!important;
	padding: 14px 20px;
	padding-right: 40px;
	border-radius: 8px;
	background: #EDF0F1;
	border: 0;
	font-size: 18px;
	line-height: 1.6;
	font-weight: bold;
}


.single_b_background_container {
	padding-top: 50%;
	position: relative;
	overflow: hidden;
	border-radius: 8px 8px 0 0
}

.single_b_background_container .single_news_image {
	position: absolute;
	top:50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background-size: cover!important;
	background-position: center!important;
}

.single_e_details .single_b_title h4{
	color: var(--rib-blue);
	font-size: 20px!important;
}

.event_meta {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
}

.event_meta i {
	flex: 20px;
	margin-top: 5px;
	color: var(--rib-green)
}

.event_meta div {
	flex: calc(100% - 20px);
}

.single_e_details {
	padding: 20px;
}

/* MemberPress */

body.page-id-306 .entry-content {
	padding-top: 180px;
	max-width: var(--boxed-width);
	margin: 0 auto;
}

iframe {
	border: 0;
	
}
#masthead {
	display: none;
}

.invoice-wrapper {
	display: none;
}

/* Adverts */
.single_adv a{
	text-decoration: none!important;
}

.all_advs {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.single_adv {
	padding: 30px;
	display: flex;
	border-radius: 8px;
	box-shadow: 0px 0px 24px 0px #00000014;
	gap: 20px;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
	flex-grow: 0!important;
}

.single_adv::after {
	content: '';
	position: absolute;
	width: 50%;
	padding-top: 50%;
	bottom: 0;
	right: 0;
	transform: translate(30%, 50%);
	background-image: url(/wp-content/uploads/2024/07/corner_hexagon_right.svg);
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: none;
	opacity: 0.5;
}

.single_adv_image_container {
	flex: 185px;
	max-width: 185px;
	margin: 0 auto;
}

.single_adv_image_container .custom_button {
	width: 100%;
}

.single_adv_image {
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	padding-top: 100%;
}
.single_adv_image img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	
}

.adv_details {
	flex: calc(100% - 205px);
}

@media screen and (max-width: 600px) {
	.single_adv_image_container {
		flex: 100%;
	}
	
	.adv_details {
	flex: 100%;
}
}



@media screen and (min-width:900px) {
	.single_adv {
	flex: calc((100% - 30px) / 2);
}
}

@media screen and (max-width:899px) {
	.single_adv {
	flex: 100%;
}
}

.single_adv h4 {
	color: var(--rib-blue)
}

.adv_meta {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.adv_meta i {
	flex: 30px;
	width: 30px;
	color: var(--rib-green);
	font-size: 25px;
	text-align: center;
}

.adv_meta div {
	flex: calc(100% - 50px);
}

/* Ridba tables */

.table {
/* 	overflow-x: scroll; */
}
table {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	border-collapse: collapse; 
	margin-top: 30px!important;
}

table tr:nth-of-type(even) {
	background: #fff;
}

table tr:nth-of-type(odd) {
	background: #D9D9D9;
}

table tr:first-of-type {
	background: var(--rib-green);
	font-weight: bold;
	color: #fff;
}

table:not(#mepr-account-payments-table) tr:first-of-type td {
		font-weight: bold;
	color: #fff;
	font-family: "Lato", sans-serif; 
	padding-bottom: 15px;
	font-size: 20px;
}

table tr td {
	padding: 20px;
}

@media screen and (min-width: 899px) {
	table tr td {
		padding: 20px 60px;
	}
}

/* Headings */

h1, h2, h3, h5, h6 {
	padding: 0!important;
	margin: 0;
}

h4 {
	margin-top: 20px;
	margin-bottom: 20px;
}

h1 {
	font-size: 3.55rem;
}

h2 {
	font-size: 2.66rem;
}

h3 {
	font-size: 1.77rem;
}


.simple_text h4, .post_sidebar h4 {
	font-size: 1.33rem!important;
}

.underlined_headings h1, .underlined_headings h2, .underlined_headings h3, .underlined_headings h4  {
	position: relative;
	display: inline-block;
}

.underlined_headings h1::after, .underlined_headings h2::after, .underlined_headings h3::after, .underlined_headings h4::after  {
	content:'';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background: var(--rib-lightgreen);
}


.post_sidebar h5 {
	font-size: 1rem;
}

.post_sidebar_content div {
	margin-top: 20px;
}

.post_sidebar_content i {
	margin-right: 10px;
}

.simple_text a:not(.custom_button):not(.bread-parent):not(.bread-link) {
	text-decoration:underline;
}

a {
	color: #333333;
}


.colored h1, .colored h2, .colored h3, .colored h4, .colored h5, .colored h6  {
	color: #fff;
}

.colored p, .colored, .colored span  {
	color: #fff;
}

.large_quote .overlay{
	padding-top: 500px;
	background: #087997A3!important;
}

.quote .dark_green {
	margin-bottom: -60px;
}

.large_quote p {
	font-size: 40px;
	font-weight: bold;
}

.quote p {
	font-size: 24px;
	max-width: 900px;
	margin: 0 auto;
	
}

/* dashboard */
.mp_users_subscriptions_list {
	display: none;
}
.pass_success {
	margin-top: 40px;
	font-weight: bold;
	color: var(--rib-green);
}
.payments .mp_wrapper {
	max-width: 300px;
	overflow-X: visible;
}
.payments table {
	border: 1px solid var(--rib-blue)!important;
	border-collapse: separate!important;
}
.payments table td, .payments table th  {
	background: #fff;
	color: var(--rib-blue)!important;
}

.payments table td {
	border-top: 1px solid var(--rib-blue);
	padding: 15px!important;
}
#mepr-account-payments-table {
	max-width: 100%;
	width: 100%;
}
.dashboard_benefits {
	display: none;
	padding: 0;
}
.move_benefits_here .dashboard_benefits {
	display: block;
}



@media screen and (max-width: 700px) {
	.dashboard_benefits .custom_button:not(.social) {

	margin-right: 0px;
}
}

.move_benefits_here {
	margin-left: -20px;
	margin-right: -20px;
}

.mepr_details .mp_wrapper {
	display: none;
} /* 	hide mepr table */

input[type="checkbox"], input[type="radio"] {

  accent-color: var(--rib-green);

}
.notice {
	margin-top: 60px;
}
.dashboard {
	margin-top: -60px;
	margin-bottom: -60px;
	margin-left: -20px;
	margin-right: -20px;
}
.dashboard_sidebar {
	background: #6892293D;
	padding: 60px!important;
	position: relative;
}
.dashboard_section {
	overflow: visible;
}
.dashboard_menu {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	position: sticky;
	top: 180px;
}

.dashboard_menu i {
	margin-right: 15px;
}

.dashboard_item {
	text-decoration: none!important;
	font-weight: bold;
	flex: 100%;
	color: var(--rib-blue);
	transition: all 0.3s;
}


.dashboard_item:hover, .dashboard_item:hover i{
	color: var(--rib-lightgreen);
}

.dashboard_item i {
	color: var(--rib-green);
	font-size: 20px;
	transition: all 0.3s;
}

.dashboard_item.current {
	text-decoration: underline!important;
}

.dashboard_content {
	padding: 30px;
}

/* Login */
.reg_complete {
	min-height: 800px;
}

.reg_complete::after {
	margin-top: 80px;
}
.login_section {
	min-height: 1000px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#mepr_login_page_meta_box {
	background: #fff;
    padding: 60px;
    border-radius: 8px;
    box-shadow: 0px 4px 4px 0px #00000040;
    min-width: min(700px, 90vw);
    margin-top: 80px;
}

#mepr_login_page_meta_box::before {
	content:'Log In';
	color: var(--rib-green);
	font-size: 3.55rem;
	font-family: "Lato", sans-serif;
    font-weight: 700;
	text-align: center;
	margin-bottom: 30px;
	display: block;
	width: 100%;
	
}

#mepr_login_page_meta_box label[for="user_login"], #mepr_login_page_meta_box label[for="user_pass"] {
	font-weight: bold;
	color: var(--rib-blue);
}



.custom-login-form-col-content {
	background: #fff;
	padding: 60px;
	border-radius: 8px;
	box-shadow: 0px 4px 4px 0px #00000040;
	min-width: min(600px, 90vw);
	margin-top: 80px;
}

.custom-login-form-col-content h1 {
	text-align: center;
}

.custom-login-form-col-content label, .custom-login-form-col-content  input:not([type="checkbox"]) {
	display: block;
}

.custom-login-form-col-content  input:not([type="checkbox"]):not([type="submit"]) {
	background: #E0E0E0;
	width: 100%;
	bordeR: 0;
	min-height: 48px;
}

.custom-login-form-col-content  input[type="submit"] {
	background: var(--rib-green);
	border-radius: 8px;
		display: inline-block;
	text-decoration: none;
	padding: 13px 25px;
	padding-top: 16px;
	font-family: "Lato", sans-serif; 
	font-weight: 700;
	color: #fff;
	transition: all 0.3s;
	border: 0;
	cursor: pointer;
	white-space: wrap;
	text-align: center;
	min-width: 90px;	
	border-radius: 8px;
}

.custom-login-form-col-content label[for="user_login"], .custom-login-form-col-content label[for="user_pass"] {
	color: var(--rib-blue);
	font-weight: bold;
}

/* sign up steps */
.signup_steps {
	background: var(--rib-green);
	color: #fff;
	padding: 20px;
	border-radius: 8px;
	max-width: 306px;
	float: right;
	margin-left: 30px;
}

@media screen and (max-width: 900px) {
	.signup_steps {
		float: none;
		margin-left: 0;
		margin-bottom: 30px;
	}
	
	.form_and_steps  {
		flex-direction: column-reverse;
	}
}

.signup_steps a {
	text-decoration: none;
	font-weight: bold;
}

.signup_steps * {
	color: #fff;
}

.step  {
	display: flex;
	align-items: center;
	min-height: 60px;
	flex-wrap: nowrap;
	font-family: "Lato", sans-serif; 
}

.step_description {

}

.step_circle {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	border-radius: 50%;
	border: 4px solid #fff;
	text-align: center;
	margin-right: 20px;
}

.step i {
	font-size: 20px;
	margin: 0!important;
}

.step:not(.complete) i {
	display: none!important;
}

.step.complete {
	font-weight: bold;
}

.step.current {
	font-weight: bold;
}

.steps {
	margin-bottom: 20px;
	border-bottom: 1px solid #fff;
	padding-bottom: 20px;
}

/* Sign up form */
.submit_and_spinner {
	display: flex;
	align-items: center;
	gap: 20px;
}

.spinner {
	margin-top: 20px;
	display: none;
}

.spinner.working {
	display: block;
}

.mepr-payment-methods-radios label {
	
	display: block;
}

.mepr-payment-methods-radios label  span {
	font-weight: bold;
}

#mepr_signup_form > div:not(.mepr_price):not(.mepr-payment-methods-wrapper):not(.mepr_spacer):not(.mp-form-submit) {
	display: none!important;
}

#mepr_signup_form .mepr_price .mepr_price_cell_label {
	display: none;
}

#mepr_signup_form .mepr_price .mepr_price_cell {
	font-weight: bold;
	font-size: 24px;
	margin-bottom: 10px;
	color: var(--rib-green);
}

#mepr_signup_form .mepr_price {
	margin-top: 20px;
}

#mepr_signup_form .mepr-payment-methods-wrapper h3 {
	display: none;
}
.thank_you_message {
	font-size: 24px;
}
.sign_up_form {
}
.criteria {
	margin-top: 40px;
}

.criteria h4 {
	margin-bottom: 20px;
}

.sign_up_form h3 {
	color: var(--rib-blue);
	font-size: 32px;
	margin-top: 40px;
}

.sign_up_form .row{
}

.sign_up_form h2{
	margin-top: 40px;
	margin-bottom: 20px;
}

.sign_up_form label {
	width: 100%;
	font-weight: bold;
	display: block;
	margin-top: 20px;
}

.req {
	font-weight: bold;
	color: red;
}

.sign_up_form input, .sign_up_form textarea {
	width: 100%;
	margin-top: 5px;
	margin-bottom: 20px;
	background: #E0E0E0;
	border: none!important;
	border-radius: 8px!important;
	min-height: 48px;
	display: block;
	padding-left: 10px!important;
	padding-right: 10px!important;
}

.sign_up_form input[disabled] {
	background: #f0f0f0;
	color: rgba(0,0,0,0.2);
}

.sign_up_form input[disabled] ::placeholder {
	color: white!important;
}
.sign_up_form textarea {
	min-height: 181px;
}

.checkboxes input, .checkboxes label{
	width: auto;
	display: inline-block;
	vertical-align: middle;
	margin: 0;
}

.checkboxes input {
	width: 20px;
	margin-right: 20px;
}

.checkboxes label {
	font-weight: normal;
}

.checkboxes {
	display: flex;
	gap: 0 20px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.checkboxes.noflex {
	display: block;
}

.checkboxes> div {
	flex: calc(50% - 10px);
}

.upload_image {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.uploaded_company_logo {
	flex: calc(50% - 15px);
	width: calc(50% - 15px);
	max-width: calc(50% - 15px);
	background: #E0E0E0;
	padding-top: 50%;
	margin-top: 10px;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}

.uploaded_company_logo img {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.upload_details {
	flex: calc(50% - 15px);
	margin-top: -15px;
	margin-bottom: 20px;
}

.sign_up_form .custom_button  {
	margin-top: 20px;
}

.sign_up_form .custom_button span {
	margin-top: 3px;
	display: block;
}

@media screen and (max-width: 600px) {
	.upload_details {
	flex: 100%;
	margin-top: -15px;
}
	.uploaded_company_logo {
    flex: 100%;
    width: 200px;
    max-width: 200px;
		height: 200px;
		max-height: 200px;
		min-height: 200px;
		padding: 0;
}
}

.upload_image .file-upload {
	display: none;
}

.document_upload .file-upload {
	display: none;
}

.custom-file-upload {
	width: auto!important;
	display: inline-block!important;
	display: inline-block;
	text-decoration: none;
	padding: 13px 25px;
	padding-top: 16px;
	font-family: "Lato", sans-serif; 
	font-weight: 700;
	transition: all 0.3s;
	border: 0;
	cursor: pointer;
	white-space: wrap;
	text-align: center;
	min-width: 90px;	
	border-radius: 8px;
	background: var(--rib-green);
	color: #fff;
}

.upload_image .file-uploaded {
	display: none;
}

.document_upload .file-uploaded{
	display: block;
	margin-top: 5px;
}

.document_upload {
	border-top: 1px solid #000;
	padding-bottom: 20px;
}

/* Case studies */
.case_study_meta_container {
	overflow-x: visible;
}
.case_study_meta {
	display: flex;
	gap: 0 50px;
}

.case_study_meta.wrap {
	display: block;
}

.case_meta {
	margin-top: 20px;
	margin-bottom: 30px;
	color: var(--rib-blue);
}

.case_meta i {
	color: var(--rib-green);
	width: 10px;
	text-align: center;
	display: inline-block;
	text-align: left;
}
.case_meta_deets {
	margin-top: 10px;
	display: flex;
	flex-wrap: no-wrap;
	align-items: center;
}

.case_meta_deets *{
	display: inline-block;
	font-weight: bold;
}

.case_meta_deets i {
	width: 30px;
}

.case_meta_title {
	font-size: 24px;
	font-family: "Lato", sans-serif;
	font-weight: 700;
	min-width: 180px;
}

@media screen and (max-width: 700px) {
	.case_meta_title {
		flex: 100%;
	}
}

/* Single post */
.post_flexible {
	margin-top: -80px;
	margin-bottom: 30px;
}
.single_main_image img {
	border-radius: 8px;
	margin-bottom: 20px;
	box-shadow: 0px 0px 16px 0px #00000040;
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
}
.sidebar_sticky {
	position: relative;
}

.sidebar_contents {
	position: sticky;
	top: 160px;
}

.sidebar_card {
	background: var(--rib-darkgreen);
	color: #fff;
	padding: 20px 20px 30px 20px;
	border-radius: 8px;
	margin-bottom: 20px;
}

.sidebar_card h4 {
	text-align: center;
	font-size: 24px;
}

.sidebar_card * {
	color: #fff;
}

.sidebar_card i {
	width: 42px;
	text-align: center;
}

.post_sharing {
	display: flex;
	gap: 15px;
	padding: 15px;
}

.post_sharing.green {
	background: var(--rib-lightgreen);
	border-radius: 8px;
}
.post_sharing.green * {
	color: var(--rib-blue);
}

.post_sharing.blue {
	background: var(--rib-blue);
	border-radius: 8px;
	display: inline-flex;
}
.post_sharing.blue * {
	color: #fff;
}

.post_sharing .sharing_icons {
	display: flex;
	gap: 15px;
	justify-content: center;
	align-items: center;
}

.main_post_title {
	margin-bottom: 30px;
	margin-top: -30px;
}


/* Reverse mobile */

@media screen and (max-width: 900px) {
.reverse_even_mobile .row:nth-of-type(even) {
	flex-direction: column-reverse!important;
}
.reverse_mobile .row {
	flex-direction: column-reverse!important;
}
}


/* Columns and Rows */
section {
	padding-top: 40px;
	padding-bottom: 40px;
	overflow: hidden;
}

@media screen and (max-width: 600px) {
	section {
	padding-top: 20px;
	padding-bottom: 20px;
}
}

section .overlay {
	position: relative;
}


.parallax-mirror {
	min-height :1300px!important;
}

.parallax {
	position: absolute;
	height: 100%;
	width: 100%;
}

.simpleParallax  {
	height: 100%;
	width: 100%;
}

.simpleParallax img {
	width: 100%;
}

section > .boxed-width {
	position: relative;
}

section#shadow-host-companion {
	padding: 0; 
/* 	fix for Loom extension */
}

section:has(.overlay) {
	padding: 0;
}

section.no_margins {
	padding: 0;
}

section.full_column_image {
	padding: 0;
}

section.full_column_image > div > .col:not(.col:has(.simple_image )) {
	padding-top: 60px;
	padding-bottom: 60px;
}

.row {
	display: flex;
	flex-wrap: wrap;
}

.valign_center.row{
	align-items: center;
}

.valign_top.row{
	align-items: flex-start;
}

.valign_bottom.row{
	align-items: flex-end;
}

.col {
	padding: 20px 20px;
	flex-grow: 0!important;
}
.row.form_and_steps {
	position: relative;
}
.row.form_and_steps::after {
	position: absolute;
	content:'';
	bottom: -80px;
	right: -100px;
	width: 50%;
	min-width: 400px;
	height: 300px;
	background: url(/wp-content/uploads/2024/07/corner_hexagon_right.svg);
	background-size: cover;
	background-position: left top;
}
.form_and_steps > .col {
	padding: 0!important;
}

/* padding adjustments for consecutive columns */

/* .row ~ .row .col {
	padding-top: 0px;
	margin-top: -30px;
	flex-grow: 0!important;
}


.col.width1of1 ~ .col.width1of2 {
	padding-top: 0px;
	margin-top: -30px;
	flex-grow: 0!important;
}

.col.width1of2 ~ .col.width1of1 {
	padding-top: 0px;
	margin-top: -30px;
	flex-grow: 0!important;
}
 */
@media screen and (min-width:900px) {
.x-grid .col.width1of2 img{
	margin-top: 150px;
	} 
	
	.x-grid .col.width1of4 .simple_text{
		min-height: 200px
	}	
}

@media screen and (max-width:899px)  {
	.x-grid .row{
		justify-content: center;
	}
	}

/* MEdia responsiveness query for columns */
@media screen and (min-width:900px) {
	.col.width1of2 {
	flex: 50%;
}
	
.sign_up_form		.col.width1of2:nth-of-type(odd) {
	padding: 0;
	padding-right: 15px;
}
	
	.sign_up_form		.col.width1of2:nth-of-type(even) {
	padding: 0;
	padding-left: 15px!important;
}
		.col.width1of4 {
	flex: 25%;
}
	.col.width3of4 {
	flex: 75%;
}
	.col.width1of3 {
	flex: calc(100% / 3);
}
	
.content_and_sidebar .col.width3of4 {
/* 	flex: calc(100% - 306px); */
}
	
	.content_and_sidebar .col.width1of4 {
/* 	flex: 306px; */
}
	
	.col.width2of3 {
	flex: calc(100% / 3 * 2);
}
	.benefits_section	.col.width1of3 {
		flex: 35%;
	}
	
	.benefits_section	.col.width2of3 {
		flex: 65%;
	}
	
}

.benefits_section .col.width2of3 .buttons_container {
	margin-bottom: 80px;
}

@media screen and (min-width:500px) and (max-width: 899px) {
	.benefits_section .col.width1of3 {
		flex: 100%;
	}
	.map_text	.col.width1of3 {
		flex: 100%;
	}
		.col.width1of4, .col.width1of3 {
	flex: 50%;
}
	.col.width3of4, .col.width2of3 {
		flex: 100%;
	}
}

@media screen and (max-width:899px) {
	.col.width1of2 {
	flex: 100%;
}
	.sign_up_form		.col.width1of2 {
		padding: 0;
	}
	.desktop_only {
		display: none;
	}
	
	.mobile_only  {
		margin-bottom: 25px;
	}
}

.col.width1of1 {
	flex: 100%;
	width: 100%;
}

@media screen and (max-width:499px) {
	.col {
	flex: 100%!important;
	width: 100%;
}
}


/* Buttons */

.buttons_container {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.buttons_container.center {
	justify-content: center;
}

.buttons_container.right {
	justify-content: flex-end;
}

.buttons_container.tags_container {
	margin-bottom: 20px;
}

.custom_button.tag {
	pointer-events: none;
	height: 40px;
	padding-top: 7px;
}
.custom_button {
	display: inline-block;
	text-decoration: none;
	padding: 13px 20px;
	padding-top: 16px;
	font-family: "Lato", sans-serif; 
	font-weight: 700;
	color: #000;
	border: 0;
	cursor: pointer;
	white-space: wrap;
	text-align: center;
	min-width: 90px;	
	border-radius: 0 12px!important;
	transition: all 0.3s;
}

#site-navigation .custom_button {
	padding: 8px 25px;
	
}

.mega_menu .custom_button {
	transition: all 0s;
}

.asp_product_buy_btn_container {
	text-align: center;
	width: 100%;
	padding-top: 20px;
}
.asp_product_buy_btn  {
	 margin: 0 auto;
		display: inline-block;
	text-decoration: none;
	padding: 13px 20px!important;
	padding-top: 16px!important;
	font-family: "Lato", sans-serif; 
	font-weight: 700;
	color: #000;
	transition: all 0.3s;
	border: 0!important;
	cursor: pointer;
	white-space: wrap;
	text-align: center;
	min-width: 90px;	
	border-radius: 0 12px!important;
	font-size: 18px!important;
	height: 44px!important;
	background: var(--rib-orange)!important;
	transition: all 0.3s!important;
	
}

.asp_product_buy_btn:hover {
	background: var(--rib-darkgreen)!important;
}

.asp_product_buy_btn:hover span {
	color: var(--rib-lightgreen)!important;
}

.asp_product_buy_btn span {
	color: var(--rib-darkgreen)!important;
	text-decoration: none!important;
	text-shadow: none!important;
	font-weight: 700;
}

.smaller_buttons .custom_button {
	font-size: 17px;
}

.simple_text {
	border-radius: 0 12px;
}

.buttons_container .custom_button:not(.social) {
	position: relative;
}

.buttons_container .custom_button:not(.social) i {
	transition: all 0.3s;
	transform: translateY(-50%) scale(0);
	width: 0;
	position: absolute;
	top: 50%;
	right: 30px;
}


.buttons_container .custom_button.social i.fa-circle-chevron-right {
	display: none;
}

.buttons_container .custom_button:not(.social):hover i{
	transform: translateY(-50%) scale(1);	
}

.buttons_container .custom_button:not(.social):hover {
/* 	padding-right: 35px;
		padding-left: 15px; */
/* 	Sophie wanted the arrow removed */
}


#mepr_login_page_meta_box input[type="submit"] {
	font-weight: 700;
	color: #fff;
	background: var(--rib-green);
	border-radius: 8px;
	padding: 13px 25px;

} 

.mepr-submit{
	display: inline-block;
	text-decoration: none;
	padding: 13px 25px!important;
	padding-top: 16px;
	font-family: "Lato", sans-serif!important; 
	font-weight: 700;
	color: #fff!important;
	transition: all 0.3s;
	border: 0;
	cursor: pointer;
	white-space: wrap;
	text-align: center;
	min-width: 90px;	
	border-radius: 8px!important;
	border: none!important;
	background: var(--rib-green)!important;
	height: auto!important;
	line-height: 1.5!important;
}

.cat_tag  {
	display: inline-block;
	text-decoration: none;
	padding: 10px 25px;
	
	font-family: "Lato", sans-serif; 
	font-weight: 700;
	color: #000;
	transition: all 0.3s;
	border: 0;
	cursor: pointer;
	white-space: wrap;
	text-align: center;
	min-width: 90px;	
	border-radius: 0 12px;
	pointer-events: none;
}

.cat_tag.green {
	background: var(--rib-green);
	color: #fff
}

.single_featured_card  .cat_tag {
	position: absolute;
	z-index: 3;
	right: 20px;
	top: 20px;

}

.custom_button.social {
	min-width: auto!important;
	padding: 0!important;
	position: relative;
}

.custom_button.social {
	font-size: 24px;
	line-break: 40px;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--rib-lightgreen)!important;
	border-radius: 50%!important;
}
.custom_button.social span {
	height: 0;
	position: absolute;
	top: 50%;
	margin-top: -15px;
}
.custom_button.social i{
	color: var(--rib-darkgreen)!important;
	height: 0px;
	
}


button.custom_button , input[type="button"].custom_button , input[type="reset"].custom_button , input[type="submit"].custom_button  {
	border-radius: 0px;
	padding: 12px 25px;
	border: 0;
	font-size: 18px;
	line-height: 1.5;
}

.custom_button {
	color: #fff;
}
.custom_button span {
	font-family: "Lato", sans-serif; 
	font-weight: 700;
	color: #fff;
}

body.page-id-296  .custom_button span {
	letter-spacing: 0;
}

.custom_button.green  {
	background: var(--rib-green);
	color: var(--rib-darkgreen);
}

.custom_button.green span {
	color: var(--rib-darkgreen);
}

.custom_button.dark_green  {
	background: var(--rib-darkgreen);
	color: var(--rib-lightgreen);
}

.simple_text.dark_green {
	background: var(--rib-darkgreen);
	color: #fff;
	padding: 20px;
	font-weight: bold;
}


.custom_button.dark_green span {
	color: var(--rib-lightgreen);
}


.custom_button.dark_green:hover  {
	background: var(--rib-lightgreen);
	color: var(--rib-darkgreen);
}

.custom_button.dark_green:hover span {
	color: var(--rib-darkgreen);
}


.custom_button.light_green  {
	background: var(--rib-lightgreen);
		color: var(--rib-darkgreen);
}

.custom_button.light_green:hover  {
	background: var(--rib-darkgreen);
		color: var(--rib-lightgreen);
}

.custom_button.light_green span {
	color: var(--rib-darkgreen);
}

.custom_button.light_green:hover span {
	color: var(--rib-lightgreen);
}

.custom_button.orange  {
	background: var(--rib-orange);
		color: var(--rib-darkgreen);
}

.cat_tag.orange  {
	background: var(--rib-orange);
		color: var(--rib-darkgreen);
}

.custom_button.orange span {
	color: var(--rib-darkgreen);
}





/* adjustment for mobile buttons on members_work section */
@media screen and (max-width: 900px) {
.members_work .buttons_container.right, .meet_board .buttons_container.right{
justify-content: flex-start;
	margin-top: -30px;
	margin-bottom: -20px;
}
	
	.members_work .all_posts  {
		margin-top: 0!important;
	}


	
}	


/* no_margin */

.no_margins .col  {
	padding: 0;
}

/* Full column image  */
.full_column_image .row {
	align-items: stretch!important;
}
.full_column_image > .row > .col {
	position: relative;
	min-height: 350px;
}

.full_column_image .col:has(.simple_image) {
	padding: 0;
}

.full_column_image .col .simple_image  img  {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
}

.full_column_image .simple_text {
	max-width: 670px;
}

/* careers jobs */
.all_jobs {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 30px;
}

.single_job {
	flex-grow: 0!important;
	padding: 20px;
	background: #6CAFC11F;
	border-radius: 0 12px;
}

.single_job h4 {
	margin-top: 0;
}

@media screen and (min-width:900px) {
.single_job {
	flex: calc((100% - 40px) / 3);
}}


@media screen and (min-width:500px) and (max-width:899px) {
.single_job {
	flex: calc((100% - 20px) / 2);
}}

@media screen and (max-width:499px) {
.single_job {
	flex: 100%;
}}

.single_job a.custom_button {
	margin-top: 20px;
}

/* big_featured_card */
.big_featured_card {
	position: relative;
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.big_featured_card .custom_button {
	margin-bottom: 30px;
}

.big_featured_image {
	border-radius: 12px 0;
	overflow: hidden;
	position: relative;
}
.big_featured_image img {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 100%;
	width: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
}


@media screen and (min-width: 900px) {
	.big_featured_image {
		flex: 60%;
		min-height: 440px;
	}
	
	.mega_menu .big_featured_image {
		flex: 50%;
		min-height: 0;
	}
	
	
	.big_featured_details {
		flex: calc(40% - 20px);
	}
	
	.mega_menu .big_featured_details {
		flex: calc(50% - 20px);
	}
}

.mega_menu .big_featured_card {
	margin-top: 25px;
}

@media screen and (max-width: 899px) {
	.big_featured_image {
	padding-top: 60%;
		width: 100%;
}
}

.big_featured_date {
	font-weight: 600;
	margin-bottom: 20px;
}

.big_featured_title {
	margin-bottom: 20px;
}

.big_featured_excerpt {
	margin-bottom: 20px;
}

/* Latest posts slider */
.single_post_content {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
}
.slider-container {
    position: relative;
    width: 100%;
    padding-bottom: 20px; 
}

.cards {
	margin-left: -10px;
	margin-right: -10px;
    display: flex;
    flex-wrap: nowrap;
    position: relative;
    transition: transform 0s ease; 
}

.card {
   width: 646px;
	min-width: min(calc(100vw - 40px), 646px);
	
    height: 418px;
    margin: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    user-select: none; /* Prevent text selection */
}


.card .single_b_link {
	max-height: 0;
	overflow: hidden;
	margin-top: 0;
	transition: all 0.3s;
}

.card .single_b_excerpt {
	max-height: 0;
	overflow: hidden;
	margin-top: 0;
	transition: all 0.3s;
}

.card:hover .single_b_excerpt {
	max-height: 100px;
	margin-top: 10px;
}

.card:hover .single_b_link {
	max-height: 100px;
	margin-top: 10px;
}

.card h4 {
	margin-bottom: 0;
}

.card a {
	text-decoration: none!important;
}

.scroll-indicator-container {
    width: 100%;
    height: 12px;
    background-color: #0879978F;
	border-radius: 4px;
	overflow: hidden;
		position: relative;
}

.scroll-indicator {
    height: 100%;
    background-color: var(--rib-darkgreen);
    cursor: pointer;
		position: absolute;
	height: 100%;
}

/* Image slider */

section.custom_slider {
	background-position: top right!important;
	margin-top: -65px;
	position: relative;
}

.custom_slider:before {
	content: '';
	position: absolute;
	bottom: 50px;
	z-index: 0;
	left: 0;
	width: 40px;
	height: 30px;
	background: var(--rib-blue);
}

.custom_slider:after {
	content: '';
	position: absolute;
	bottom: 50px;
	z-index: 0;
	right: 0;
	width: 40px;
	height: 30px;
	background: var(--rib-blue);
}

@media screen and (max-width: 900px) {
	.custom_slider:before, .custom_slider:after {
		display: none;
	}
}

section {
		position: relative;
}
.image_slider {
	margin-left: -20px;
	margin-right: -20px;
	height: 586px;
	padding-bottom: 30px;
	overflow-y: hidden;
	overflow-x: scroll;
	display: flex;
	gap: 30px;
	cursor: pointer;

}
.image_slider.dragstart a  {
	pointer-events: none;
}
.image_slider img {
	position: relative;
	height: 546px;
	min-height: 546px;
	max-height: 546px;
	width: auto;
	min-width: none;
	max-width: none;
    user-drag: none;
    -webkit-user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;

}

.image_container {
	position: relative;
	    user-drag: none;
    -webkit-user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
	display: block;
}

.image_container .image_title {
	font-size: 1.77rem;
	padding: 20px;
	text-align: center;
	font-family: "Lato", sans-serif; 
	font-weight: 700;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 2px;
	left: 0;
	z-index: 1;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: linear-gradient(0deg, rgba(43, 60, 79, 0.66) 0%, rgba(0, 0, 0, 0.00) 100%);
	transition: all 0.3s;
}

.image_container .image_title * {
	font-family: "Lato", sans-serif;
	font-weight: 700;
}

.image_slider .image_container .image_title {
	align-items: flex-end;
}

.image_slider .image_container .image_title div {
	min-height: 100px;
}

.image_container .image_title div {
	transition: all 0.3s;
}

.image_slider .image_container:hover .image_title div {
	transform: scale(1.05);
}

.image_container:hover .image_title {
	background: linear-gradient(0deg, rgba(43, 60, 79, 0.66) 0%, rgba(0, 0, 0, 0.00) 100%);
}
 

/* .image_slider .image_container:nth-of-type(3)::after {
	content: 'Drag me';
	background: var(--rib-red);
	width: 200px;
	height: 200px;
	position: absolute;
	right: -115px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: GothamPro; font-weight: 700;
	font-size: 1.77rem;
	border-radius: 50%;
	pointer-events: none;
	transition: all 1s;
}

.image_slider.active .image_container:nth-of-type(3)::after { 
opacity: 0;} */

.image_slider::after {
	content: 'Drag me';
	background: var(--rib-red);
	color: var(--rib-blue);
	width: 200px;
	height: 200px;
	position: absolute;
	right: 25%;
	top: 45%;
	transform: translateY(-50%);
	z-index: 9;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "Lato", sans-serif; font-weight: 700;
	font-size: 1.77rem;
	border-radius: 50%;
	pointer-events: none;
	transition: all 1s;
}

.image_slider.active::after { 
opacity: 0;}

/* Image grid */
.image_grid {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}

.image_grid .image_container {
	position: relative;
	overflow: hidden;
	height: 520px;
}

.image_grid .image_container img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.6s;
}

.image_grid .image_container:hover img{
	transform: scale(1.05);
}
.image_grid .image_container .image_title {
	background: linear-gradient(0deg, rgba(43, 60, 79, 1), rgba(22, 23, 42, 0.20) 100%);
}

.image_grid .image_container .image_title div {
	max-width: 250px;
}


@media screen and (min-width:800px) {
.image_grid .image_container {
	flex: calc((100% - 60px) / 3);
}}

@media screen and (max-width:799px) {
.image_grid .image_container {
	flex: 100%;
}}


/* Community directory */
.community_directory {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	justify-content: center;
}

.logo_container {
	background : #fff;
	padding: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.back_container {
	background: url(/wp-content/uploads/2023/11/Group-53.jpg);
	background-size: cover;
	background-position: right bottom;
	background-repeat: no-repeat;
	text-align: center;
	padding: 20px;
}

.back_container i {
	color: var(--rib-lightgreen);
	margin-top: 3px;
	margin-right: 10px;
}

.back_title {
	color :#fff;
	font-size:1.33rem; 
	font-family: "Lato", sans-serif; font-weight: 700;
	margin-bottom: 20px;
}

.back_content a {
	display: flex;
	color: #fff;
}

.back_content {
	display: flex;
	flex-direction: column;

	align-items: center;
	justify-content: center;
	color: #fff;
}

.back_container {
		overflow-y: scroll;
}

/* width */
.back_container::-webkit-scrollbar {
  width: 2px;
}

/* Track */
.back_container::-webkit-scrollbar-track {
  background: rgba(0,0,0,0);
}

/* Handle */
.back_container::-webkit-scrollbar-thumb {
  background: var(--rib-lightgreen);
}

/* Handle on hover */
.back_container::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.back_content div {
	margin-bottom: 10px;
	display: flex;
	flex-wrap: nowrap;
	
	justify-content: center;
}

.preview_community_directory .logo_container  {
	width: 203px;
	height: 203px;
}

.preview_community_directory .back_container {
	height: 203px;
}


.preview_community_directory .single_community_directory:nth-of-type(12)~.single_community_directory {
	display: none;
}

.preview_community_directory .single_community_directory  {
	flex: 203px;
	width: 203px;
	height: 203px;
}

.preview_community_directory .back_link {
	font-size: 0;
}

.preview_community_directory .back_link::after {
	font-size: 1rem;
	content:'Visit site';
}

.full_community_directory .community_directory{
	margin-top: 60px;
}
.full_community_directory .logo_container  {
	width: 320px;
	height: 320px;
}

.full_community_directory .back_container {
	height: 320px;
}

.full_community_directory .single_community_directory  {
	flex: 320px;
	width: 320px;
	height: 320px;
}
.facetwp-facet-load_more.facetwp-type-pager {
	text-align: center;
	margin-top: 60px;
}
.facetwp-load-more {
	border: none;
	padding: 15px 25px;
	border-radius: 12px 0;
	cursor: pointer;
	background: var(--rib-green);
	color: var(--rib-darkgreen);
	transition: all 0.3s;
	font-family: "Lato", sans-serif; font-weight: 700;
	margin: 0 auto!important;
	
}

.facetwp-type-pager {
	text-align: center;
}

.facetwp-load-more:hover {
/* 	background: var(--rib-lightgreen); */
}

.single_community_directory {
	flex-grow: 0!important;
}

/* Users Section */
.featured_users {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.single_user_card  {
	width: 320px;
	max-width: 100%;
}

.single_user_background_container {
	width: 100%;
	height: 340px;
	position: relative;
	margin-bottom: 20px;
}

.single_user_background_container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 0;
	top: 0;
	transition: all 0.3s;
}

.single_user_hover {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	padding: 30px;
	text-align: center;
	color: #fff;
	font-family: "Lato", sans-serif; font-weight: 700;
	opacity: 0;
	transition: all 0.3s;
}

.single_user_hover * {
	z-index: 1;
	position: relative;
}

.single_user_hover::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	z-index: 0;
	opacity: 0;
}

.single_user_card:hover .single_user_hover{
	opacity: 1;
}

.single_user_card:hover .single_user_hover::before{
	opacity: 1;
	filter: blur(10px);
}

.single_user_card:hover .single_user_background_container img{
	filter: blur(10px);
}

.single_user_details {
	text-align: center;
}

.single_user_title {
	margin-bottom: 10px;
	font-family: "Lato", sans-serif; font-weight: 700;
}

.user_details .bio {
	margin-bottom: 20px;
}

.user_details i {
	color: #fff;
	font-size: 40px;
}

.user_details .inline a {
	margin-left: 10px;
	margin-right: 10px;
}

/* Transport cards */
.transportation {
	padding: 0;
}

.transportation .col.width1of2 {
	padding-top: 60px;
	padding-bottom: 60px;
}

.transportation .simple_image img {
	margin-top: -60px;
	margin-bottom: -60px;
}

.transportation .boxed-width {
	max-width: 1800px;
}
.transport_cards {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 40px;
}

.transport_card {
	flex-grow: 0!important;
}

.transport_card_title {
	border-top: 1px solid #fff;
	padding-top: 20px;
	margin-bottom: 20px;
	text-transform: uppercase;
	font-family: "Lato", sans-serif; font-weight: 700;
	font-size: 1.33rem;
}

.transport_card_image {
	margin-bottom: 20px;
	min-height: 110px;
}

.transport_row {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #fff;
}

.transport_routes {
	margin-bottom: 20px;
}

@media screen and (min-width:600px) {
.transport_card {
	flex: calc((100% - 30px) / 2);
}}
@media screen and (max-width:599px) {
.transport_card {
	flex: 100%;
}}

/* Numbers and icons section */
.inc_numbers {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 80px;
	margin-bottom: 60px;
	
}

.inc_number {
	min-width: 250px;
	flex-grow: 0;
	flex: calc((100% - 60px ) / 3);
}

.number_number {
padding-left: 20px;
	border-left: 8px solid var(--rib-lightgreen);
}

.text_under_number {
	margin-top: 20px;
	font-size: 24px;
}

.inc_number .number_value  {
	font-size: 100px;
}


@media screen and (max-width: 899px) {
 .inc_number {
		flex: 100%;
	}
}

.large_cards .text_under_icon {
	display: none;
}

.number_number {
	font-size: 1.20rem!important;
	font-family: "Lato", sans-serif; font-weight: 700;
}

.number_number * {
	font-family: "Lato", sans-serif; font-weight: 700;
	letter-spacing: 0!important;
	margin-left: 5px;
	margin-right: 5px;
}
.number_icon {
	padding: 10px;
	border-radius: 8px;
	height: 196px;
	width: 196px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 20px;
	background: #fff;
	box-shadow: 0px 0px 24px 0px #00000014;
}



.colored .number_icon {
	border: 2px solid #fff;
}

.number_icon img {
	max-height: 90px;
}

.text_under_icon {
	font-weight: bold;
	font-size: 0.9rem;
	color: var(--rib-green);
/* 	min-height: 50px; */
	max-width: 170px;
	font-family: "Lato", sans-serif;
}

@media screen and (min-width: 400px) and (max-width: 600px) {
	.inc_number {
	flex: 156px;
	flex-grow: 0;
}
	.number_icon {
		height: 156px;
	width: 156px;
		gap: 10px;
	}
	
	.number_icon img{
		max-height: 50px;
	}
}

@media screen and (max-width: 400px) {
	.inc_number {
	flex: 136px;
	flex-grow: 0;
}
	.number_icon {
		height: 136px;
	width: 136px;
		gap: 10px;
	}
	
	.number_icon img{
		max-height: 40px;
	}
}

@media screen and (max-width: 600px) {
	body.home .all_posts.featured1 {
		margin-bottom: 0;
		margin-top: 0;
	}
}

/* CD Filters */
.custom_search {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}

.blog_search .fitler_toggle button.togle_title {
	min-width: 202px;
	background: #E8E8E8;
} 

.fitler_toggle button.togle_title{
/* 	padding: 15px 20px 12px; */
	height: 64px;
	text-align: center;
	border: none;
	min-width: 320px;
	background: #F8F8F8;
	font-family: "Lato", sans-serif; font-weight: 700;
	color: var(--rib-blue);
	cursor: pointer;
}
.search_filter {
	flex: calc(100% - 350px);
}
.search_filter .facetwp-type-search, .search_filter .facetwp-type-search span{
	margin: 0;
	width: 100%;
}

.search_filter .facetwp-type-search input {
	padding: 15px 20px 15px 60px;
	height: 64px;
	width: 100%;
	background: #F8F8F8;
	border: none;
}

.search_filter .facetwp-type-search input::placeholder {
	font-family: "Lato", sans-serif; font-weight: 700;
	color: var(--rib-blue);
}

.facetwp-icon {
    left: 15px;
		width: 30px;
    height: 100%;
    line-height: 1;
    position: absolute;
    cursor: pointer;
    opacity: 1!important;
}

.facetwp-icon:before {
	background: url(/wp-content/themes/ribda/images/seach_icon.svg)!important;
	background-size: 25px!important;
	background-position: center!important;
	background-repeat: no-repeat!important;
}


.fitler_toggle {
	position: relative;
}
.fitler_toggle
.facetwp-facet {
	position: absolute;
	background: #fff;
	padding: 0 10px;
	width: calc(100% - 20px);
	margin-left: 10px;
	margin-right: 10px;
	border-radius: 0 0 8px 8px;
	max-height: 0;
	overflow: hidden;
	transition: all 0.3s;
	font-size: 15px;
	box-shadow: 0 0 16px rgba(0,0,0,0.16);
	z-index: 1;
}

.fitler_toggle
.facetwp-facet .facetwp-checkbox:first-of-type {
	margin-top: 10px;
}

.fitler_toggle
.facetwp-facet .facetwp-checkbox:last-of-type {
	margin-bottom: 10px;
}

.fitler_toggle .facetwp-facet.active {
	max-height: 300px;
	overflow-y: scroll;
}
/* Case study filters */
.facetwp-facet.facetwp-facet-case_study_categories {
	display: flex; 
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 0;
}
.facetwp-facet.facetwp-facet-case_study_categories
.facetwp-radio {
	background: none;
	border: 2px solid var(--rib-green);
	padding: 10px 15px;
	border-radius: 8px;
	background:  #b3c0a0;
	
}

.facetwp-facet.facetwp-facet-case_study_categories
.facetwp-radio, .facetwp-facet.facetwp-facet-case_study_categories
.facetwp-radio  span {
	font-weight: bold!important;
	color:  var(--rib-blue);
}

.facetwp-facet.facetwp-facet-case_study_categories
.facetwp-radio.checked {
	background: var(--rib-green);
	color: #fff;
}

.facetwp-facet.facetwp-facet-case_study_categories
.facetwp-radio.checked span {
	color: #fff;
}

.facetwp-facet.facetwp-facet-case_study_categories .facetwp-counter {
	display: none;
}

/* width */
.fitler_toggle ::-webkit-scrollbar {
  width: 5px;
}

/* Track */
.fitler_toggle ::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Handle */
.fitler_toggle ::-webkit-scrollbar-thumb {
  background: #888;
}

/* Handle on hover */
.fitler_toggle ::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* 3dcards */
.card3d {
  perspective: 1000px;
	
}
.card3d .card3d_content {
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.3s cubic-bezier(0.75, 0, 0.85, 1);
	height: 100%;
}


.card3d:hover .card3d_content {
  transform: rotateY(180deg);
}

.card3d_front,
.card3d_back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
	box-shadow: 0 0 5px 5px rgba(0,0,0,0.1);
	
}

.card3d_front {
	z-index: 1;
}

.card3d_back {
	z-index: 0;
}

.card3d:hover .card3d_front{
	z-index: 0;
}

.card3d:hover .card3d_back{
	z-index: 1;
}

.card3d_back {
  transform: rotateY(180deg);
}



/* width */
.image_slider::-webkit-scrollbar {
  width: 12px;
	height: 12px;
}

/* Track */
.image_slider::-webkit-scrollbar-track {
  background: #FFFFFF; 
}
 
/* Handle */
.image_slider::-webkit-scrollbar-thumb {
  background: var(--rib-green); 
}

/* Handle on hover */
.image_slider::-webkit-scrollbar-thumb:hover {
  background: var(--rib-lightgreen); 
}


/* Green section */ 
.green_section {
	background-image: url(/wp-content/uploads/2024/07/corner_hexagon.svg)!important;
	background-size: 35%!important;
	background-position: left bottom!important;
	background-repeat: no-repeat!important;

}

@media screen and (max-width: 600px) {
	.green_section {
		background-size: 60%!important; 
	}
}


/* General sections and overlay */

section {
	background-size: cover!important;
	background-position: center!important;
}


.overlay {
	background: linear-gradient(180deg, #03526800, #035268A3)!important;
}

.numbers_section .overlay {
	background: rgba(3, 82, 104, 0.56)!important;
	padding-top: 170px;
	padding-bottom: 170px;
}

.numbers_section.numbers_v2 .overlay {
	background: #087997A3!important;
	padding-top: 70px;
	padding-bottom: 70px;
}

.title_bar .col {
	padding: 20px;
	min-height: 460px;
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
}

.title_bar.align_center .col {
	justify-content: center;
	align-items: center;
}

.title_bar.large .col {
	height: 740px;
}

#CIPVideo {
    position: absolute;
    left: 50%;
	top: 50%;
    -webkit-transform: translateX(-50%,-50%);
    transform: translate(-50%,-50%);
    z-index: 0;
		transition: all ease-in-out 1s;
	min-width: 100%;
  min-height: 100%;
		max-width: 500%;
	max-height: 500%;
}

.intro_text p {
	font-size: 24px;
}

body.home .hero p {
	font-size: 1.33rem;
	font-family: "Lato", sans-serif; 
	font-weight: bold;

}

.hero {
	height: 100vh;
/* 	max-height: calc(100vh - 100px); */
}

body.home .hero {
	position: relative;
	aspect-ratio: 1920/1080;
	height: auto!important;
}

body.home .hero #CIPVideo {
	max-width: 100%;
	max-height: 100%;
}



.hero.small_hero {
	height: 700px;
	max-height: calc(100vh - 100px);
}

.hero .boxed-width, .hero .col:first-of-type {
	height: 100%;
	max-height: calc(100vh - 100px);
}

.hero.small_hero .col:first-of-type {
	height: 700px;
	max-height: calc(100vh - 100px);
}

.hero .simple_text  {
	width: 100%;
}

@media screen and (min-width: 1100px) {
.hero .col.width1of1:last-of-type:not(.col.width1of1:first-of-type) {
	margin-bottom: 60px;
	margin-top: -140px;
}
}

body.single-case_study .hero .simple_text {
	max-width: none;
}

.hero.small .col.width1of1 {
	min-height: 460px;
}

.hero h1 {
	color: #FFF!important;
}

.hero:not(.centered) .col.width1of1:first-of-type {
	justify-content: flex-end!important;
	align-items: flex-start!important;
	flex-direction: column!important;
	display: flex!important;
}

body.single-case_study .hero:not(.centered) .col.width1of1:first-of-type {
	justify-content: center!important;
	align-items: flex-start!important;
	flex-direction: column!important;
	display: flex!important;
	padding-top: 255px;
}


body.page-id-1702 .hero {
	background-size: cover!important;
	background-position: center top!important;
}

.hero.centered .col.width1of1 {
	justify-content: center!important;
	align-items: center!important;
	display: flex!important;
	flex-direction: column;
}


/* Scroll indicator */
.scroll_icon_container {
	position: absolute;
	bottom: 00px;
	width: 100%;
	height: 40px;
	text-align: center;
}

@keyframes scroll_wheel {
  0%   { transform: translateY(0); opacity: 1; }
  50%   {  opacity: 1; }
  100% { transform: translateY(23px); opacity: 0; }
}

.scroll-icon__dot {
  display: block;
  position: absolute;
  left: 50%;
  background: #fff;
  height: 6px;
  width: 6px;
  top: 10px;
  margin-left: -3px;
  border-radius: 50%;
  transform-origin: top center;
  backface-visibility: hidden;
  animation: scroll_wheel 2s ease-out infinite;
}


.scroll-icon {
  display: block;
  position: relative;
  height: 3em;
  width: 30px;
  border: 2px solid #fff;
  border-radius: 1em;
	margin: 0 auto;
}

/* Breadcrumbs */
body.single-post .breadcrumbs{
	display: none!important;
}

.hero .breadcrumbs {
	position: absolute;
	top: 180px;
	font-family: "Lato", sans-serif;
}
.hero .breadcrumbs * {
	font-family: "Lato", sans-serif;
}

/* Hero slider */
.heroSliderContainer .hero:not(.active) {
	display: none;
}

.heroSliderContainer .hero .col {
	padding-bottom: 90px;
}

.heroSliderContainer {
	position: relative;
}
.heroSliderContainer .f_dots {
	position: absolute;
	bottom: 30px;
	z-index: 9;
	width: 100%;
}

.heroSliderContainer .f_dots .boxed-width {
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	gap: 15px;
}

.heroSliderContainer .f_dot  {
	width: 86px;
	height: 8px;
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
}

.heroSliderContainer .f_dot:not(.active) {
	opacity: 0.5;
}


.white_hero {
	padding-top: 150px;
	position: relative;
	overflow: visible;
}

.simple_hero {
	padding-top: 150px;
	position: relative;
	overflow: visible;
	background: #fff!important;
	margin-bottom: -60px;
}

body:not(.single-post) .white_hero::after {
	position: absolute;
	content: '';
	width: 500px;
	height: 500px;
	left: 70%;
	
	top: 50%;
	z-index: 0;
	background-image: url(/wp-content/uploads/2024/07/corner_hexagon_right.svg)!important;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.breadcrumbs {
	display: inline-flex;
	gap: 5px;
	padding: 15px 20px 12px;
	border-radius: 8px;
	background: var(--rib-blue);
}
.white_hero .breadcrumbs {
	background: var(--rib-lightgreen);
	color: #333;
	margin-bottom: 40px;
}

.white_hero .breadcrumbs * {
	color: #333!important;
}

 ul.breadcrumbs li {
	margin: 0!important;
	list-style: none;
}
.breadcrumbs a {
	text-decoration: none;
}

.breadcrumbs * {
	color:#fff!important;
}
/* Contact */
.address_column .col {
	padding: 0;
	padding-right: 20px;
}

.address_column .buttons_container br {
	display: none;
}

.address_column h4 {
	margin-top: 40px;
}

/* Contact map */
.contact_section  {
	padding-bottom: 0;
	padding-top: 0;
	
}

.contact_section .row {
	justify-content: stretch;
}

.contact_section .col.width1of2:nth-of-type(1) {
	padding-top: 60px;
	padding-bottom: 60px;
}	

.contact_section .col.width1of2:nth-of-type(2) {
	background: #d4dbc9;
	padding-top: 60px;
	padding-bottom: 60px;
	align-self: stretch;
	position: relative;
}

.contact_section .col.width1of2:nth-of-type(2)::after {
	content:'';
	position: absolute;
	top: 0;
	left: 100%;
	width: 1000px;
	height: 100%;
	background: #d4dbc9;
}
@media screen and (min-width: 1400px) {
.contact_section .image_gallery {
	margin-right: 60px;
}}

.contact_section h4{
	margin-top: 40px;
	margin-bottom: 20px;
}
.main_map {
	margin-left: -20px;
	margin-right: -20px;
	width: calc(100% + 40px);
	min-width: calc(100% + 40px);
	margin-bottom:-85px;
	margin-top: -50px;
}

/* Subscribe form */
.subscribe_section {
	margin: 50px auto;
	max-width: min(calc(var(--boxed-width) - 40px), calc(100% - 40px));
	border-radius: 0 12px;
}

body.page-id-3993 .subscribe_section{
	display: none;
}

.subscribe_section p {
	margin-bottom: 0;
}

.subscribe_section a {
	color: #fff;
}

.sign-up-form .row{
	margin-left: -10px;
	margin-right: -10px;
	max-width: 674px;
}

.subscribe_section .overlay {
	background: linear-gradient(270deg, rgba(8, 121, 151, 0) 0%, #087997 78.94%)!important;
	
}

	form.wpcf7-form input.custom_button {
		border-radius: 0 8px!important;
		padding-top: 15px;
	margin-top: 10px;	
}	

/* Contact form */

.wpcf7-checkbox .wpcf7-list-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-left: 10px;
}

form.wpcf7-form .row .col, .wpcf7 .row .col {
	padding: 0 10px;
}


form.wpcf7-form ::placeholder {
	color: #212121;
}

form.wpcf7-form label{
	font-weight: bold;
	color: var(--rib-blue)
}

.wpcf7-form-control-wrap {
	width: 100%;
}

.wpcf7-form-control-wrap input[type="text"], .wpcf7-form-control-wrap select, .wpcf7-form-control-wrap input[type="email"], .wpcf7-form-control-wrap textarea {
	width: 100%;
	padding: 8px 20px;
	border: 0;
	border-radius: 4px;
	background: #E8E8E8 ;
	color: #333;
}

.subscribe_section .wpcf7-form-control-wrap input[type="text"],.subscribe_section .wpcf7-form-control-wrap select, .subscribe_section .wpcf7-form-control-wrap input[type="email"], .subscribe_section .wpcf7-form-control-wrap textarea {
	width: 100%;
	padding: 8px 20px;
	border: 0;
	border-radius: 4px;
	background: #fff ;
	color: #333;
}


.wpcf7 .simple_text ul {
	margin: 0!important;
}

.wpcf7 .simple_text ul li p {
	margin: 0!important;
}

p:has([data-name="your-message"]) {
	margin-top: 10px;
	margin-bottom: 10px;
}

.wpcf7-form-control-wrap textarea {
	height: 180px;
}

/* Popups */
.popup_container  {
position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
	display: none;
	z-index: 9999;
}

.popup_container.active {
	display: flex;
	justify-content: center;
	align-items: center;
}

.popup_frame {
	position: relative;
	background: url(/wp-content/uploads/2023/09/pills_background-scaled.jpg);
	background-size: cover;
	background-position:center;
	border-radius: 24px;
	padding: 30px;
	max-width: min(var(--boxed-width), calc(100% - 40px));
	max-height: calc(100% - 40px);
}

.site-search .popup_frame {
	background: none;
	width: 600px;
	max-width: 100%;
	padding-right: 90px;
}

@media screen and (max-width: 600px) {
	.site-search .popup_frame {
		padding-top: 100px;
		padding-left: 20px!important;
		padding-right: 20px!important;
	}	
}

.site-search
.title_search {
	margin: 0;
}

.site-search input[type="text"] {
	color: #fff!important;
}

.site-search .popup_frame .close_button {
	top: 32px;
}

.search_placeholder {
	position: absolute;
	left: 20px;
	pointer-events: none;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	transition: all 0.3s;
}

.search_placeholder.active {
	margin-top: -50px;
}

@media screen and (max-width: 600px) {
	.popup_frame {
		overflow-y: scroll;
	}
	
.popup_frame::-webkit-scrollbar {
  width: 5px;
}

/* Track */
.popup_frame::-webkit-scrollbar-track {
  background: none;
}

/* Handle */
.popup_frame::-webkit-scrollbar-thumb {
  background: #888;
}

/* Handle on hover */
.popup_frame::-webkit-scrollbar-thumb:hover {
  background: #555;
}
}

.close_button {
	cursor: pointer;
	position: absolute;
	right: 20px;
	top: 20px;
	font-size: 1.77rem;
	color: #fff;
	background: var(--rib-darkgreen);
	display: flex;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	padding: 0;
	border: 0;
	transition: all 0.3s;
}

.close_button:hover {
	color: var(--rib-darkgreen);
	background: var(--rib-lightgreen);
}

/* Simple image */

.simple_image {
	text-align: center;
	position: relative;
}

.image_caption {
	position: absolute;
	right: 20px;
	bottom: 15px;
	color: #fff;
}

.simple_image.round_corners img {
	border-radius: 4px;
	box-shadow: 0 0 16px rgba(0, 0, 0, 0.16);
}
.simple_image.hover {
	aspect-ratio: 6/3;
	position: relative;
}
.simple_image.hover .secondary_image, .simple_image.hover .primary_image {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	object-fit: contain;
	transition: all 0.3s;
}

.simple_image.hover .secondary_image {
	opacity: 0;
}

.simple_image.hover:hover .secondary_image {
	opacity: 1;
}

.simple_image.hover:hover .primary_image {
	opacity: 0;
}
.image-90 .simple_image img {
	max-width: 1150px;
}

.image-80 .simple_image img {
	max-width: 1050px;
}

.image-70 .simple_image img {
	max-width: 950px;
}

.image-60 .simple_image img {
	max-width: 850px;
}
.image-50 .simple_image img {
	max-width: 750px;
}

/* Simple Text */
.simple_text.green {
	background: var(--rib-green);
	padding: 20px;
	border-radius: 8px;
}

.simple_text.lightgreen {
	background: var(--rib-lightgreen);
	padding: 20px;
	border-radius: 8px;
}

.simple_text.blue {
	background: var(--rib-blue);
	padding: 20px;
	border-radius: 8px;
}

.simple_text.lightblue {
	background: var(--rib-lightblue);
	padding: 20px;
	border-radius: 8px;
}

.simple_text.lime {
	background: var(--rib-lime);
	padding: 20px;
	border-radius: 8px;
}

.simple_text.white {
	background: #fff;
	padding: 20px;
	border-radius: 8px;
}

.simple_text.green *, .simple_text.lightgreen *, .simple_text.blue *, .simple_text.lightblue * {
	color: #fff;
}
.icons_and_numbers ul {
	padding-left: 20px;
}
.simple_text ul, .icons_and_numbers ul {
	margin: 0;
	padding-left: 20px;
}

.simple_text ul li, .icons_and_numbers ul li {
	color: #333333;
	line-height: 1.6;
	margin-top: 15px;
	margin-bottom: 15px;
}

.simple_text ul li::before {
	content: '';
	position: absolute;
	top: 0px;
	left: -20px;
	width: 4px;
	height: 24px;
	background: var(--lb-blue);
	border-radius: 3px;
}

/* 404 */
.four_oh_four .overlay{
	min-height: 740px;
	display: flex;
	color :#fff;
}

.four_oh_four .overlay h1, .four_oh_four .overlay h4 {
	color: #fff;
}

.four_oh_four .overlay h1 {
	font-size: 6rem!important;
}

/* Single Blog */
.post_meta {
	display: flex;
	align-items: center;
	gap: 30px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.post_date {
	display: flex;
	align-items: center;
}

.post_meta i {
	margin-right: 10px;
	font-size: 30px;
	display: inline-block;

}

.post_categories {
	display: flex;
	align-items: center;
}

.post_meta div {

	font-family: "Lato", sans-serif; 
	font-weight: 700;
}
.short_author {
	display: flex;
	align-items: center;
	gap: 10px;

}
.meta_separator {
	width: 2px;
	background: var(--rib-blue);
	height: 30px;
}
.short_author
.author_avatar img {
	border-radius: 50%;
	width: 42px;
	height: 42px;
	object-fit: cover;
}

/* All videos */
.videos {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.youtube_video {
	flex-grow: 0!important;
}

/* MEdia responsiveness query */
@media screen and (min-width:900px) {
.youtube_video {
	flex: calc((100% - 60px) / 3);
}}

@media screen and (min-width:500px) and (max-width:899px) {
.youtube_video {
	flex: calc((100% - 30px) / 2);
}}

@media screen and (max-width:499px) {
.youtube_video {
	flex: 100%;
}}

/* ALL Blogs */
.related_posts .all_posts {
	margin-top: 20px;
}
.all_posts  {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	margin-top: 20px;
	margin-bottom: 40px;
}
.single_featured_card {
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.16);
	display: block;
	text-decoration: none!important;
	flex-grow: 0!important;
	transition: all 0.3s;
	border-radius: 0 12px;
	position: relative;
}

.single_featured_card.large {
	padding-top: 40%;
}

.single_featured_card.small {
	padding-top: 65%;
	min-height: 300px;
}

.single_featured_details {
	width: 100%;
}

.all_posts.featured .single_featured_details {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media screen and (max-width: 600px) {
	.single_featured_details * {
		flex: 100%;
	}
}

.single_featured_details .buttons_container  {
	margin: 0;
}

.single_featured_card.small .single_featured_details {
	position: absolute;
	bottom: 0;
	
}
.single_featured_card.small .single_featured_details .single_b_title{
/* 	min-height: 70px; */
}
body.page-id-232 .white_hero {
	margin-bottom: -100px;
}

.main_posts {
/* 	margin-top: -80px; */
}
.main_posts .single_featured_card.small {
	padding-top: 15%;
}

.single_featured_card.small.big_image_card {
	padding-top: 400px;
	min-height: 300px;
}

.big_image_links .single_featured_card.small.big_image_card {
	padding-top: 288px;
	min-height: 288px;
}

.big_image_links .single_b_title h4 {
	margin-bottom: 0;
}

.big_image_card .single_b_excerpt{
/* 	min-height: 50px; */
}

.single_featured_card:hover {
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.08);
}

.single_featured_card:hover .single_featured_image img {
	transform: translate(-50%, -50%) scale(1.05);
}

.single_featured_image, .single_featured_image img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover!important;
	z-index: 0;
	transition: all 0.3s;
}

.single_featured_image {
	border-radius: 0 12px;
	overflow: hidden;
}

.single_simple_image {
	border-radius: 0 12px;
	overflow: hidden;
	padding-top: 60%;
	position: relative;
}

.single_simple_image img {
		position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover!important;
	z-index: 0;
	transition: all 0.3s;
}

.single_featured_image::after {
	content:'';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background: linear-gradient(00deg, #087997 0%, rgba(8, 121, 151, 0) 100%);
	z-index: 1;
}

.single_featured_details {
	position: relative;
	padding: 20px;
	z-index: 2;
	color: #fff;
}
.single_featured_details * {
	color: #fff;
}

.single_featured_card
.single_b_title {
	font-family: "Lato", sans-serif; font-weight: 700;
	color: var(--rib-blue);
	font-size: 1.33rem;

}
.single_featured_card
.single_b_date {
	color: #16172A;
}
.single_featured_card
.read_more {
	margin-top: 10px;
	font-family: "Lato", sans-serif; font-weight: 700;
	color: #16172A;
}

.simple_card {
	position: relative;
	padding-bottom: 60px;
}

@media screen and (min-width: 600px) {
	.simple_card {
	margin-bottom: 40px;
}
}

.simple_card .single_b_link {
	position :absolute;
	bottom: 0;
}

.simple_card h4 {
	
}
@media screen and (min-width:900px) {
.simple_card {
	flex: calc((100% - 60px) / 3);
	}}

@media screen and (min-width:600px) and (max-width:899px) {
.simple_card {
	flex: calc((100% - 30px) / 2);
	}}
@media screen and (max-width:599px) {
.simple_card {
	flex: 100%;
	}
}


@media screen and (min-width:900px) {
.single_featured_card {
	flex: calc((100% - 60px) / 3);
}
	
.bigger_cards .single_featured_card {
	flex: calc((100% - 30px) / 2);
	height: 440px!important;
	width: 100%!important;
}
	
	.all_posts .card.single_featured_card {
		width: auto!important;
		margin: 0;
		min-width: auto;;
		height: 330px;
	}
	
	
.col.width1of3 .single_featured_card {
	flex: calc((100% - 0px) / 1);
}
	
	.col.width1of2 .single_featured_card {
	flex: calc((100% - 0px) / 1);
}
	
	.single_featured_card.large {
	flex: calc((100% - 30px) / 2);
}
}

@media screen and (min-width:600px) and (max-width:899px) {
.single_featured_card {
	flex: calc((100% - 30px) / 2);
}
	.col.width1of3 .single_featured_card {
	flex: calc((100% - 0px) / 1);
}
	
	.col.width1of2 .single_featured_card {
	flex: calc((100% - 0px) / 1);
}
	
	.all_posts {
		margin: 0;
	}
	
	.bigger_cards .single_featured_card {
	flex: calc((100% - 30px) / 2);
	height: 340px!important;
	width: 100%!important;
}
	
	.all_posts .card.single_featured_card {
		width: auto!important;
		margin: 0;
		min-width: auto;;
		height: 330px;
	}
	
}

@media screen and (max-width:599px) {
.single_featured_card {
	flex: 100%;
	}
	.all_posts {
		margin: 0;
	}
	
		.bigger_cards .single_featured_card {
	flex: calc((100% - 00px) / 1);
	height: 340px!important;
	width: 100%!important;
}
	
	.all_posts .card.single_featured_card {
		width: auto!important;
		margin: 0;
		min-width: auto;;
		height: 330px;
	}
}



/* Testimonial slider */

.testimonials_slider_section {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

@media screen and (min-width: 900px) {
	.testimonials_title {
		flex: 33%;
	}
	
	.testimonials_title  {
	padding-bottom: 60px;
}
	
	.testimonials_slider_container {
		flex: calc(67% - 20px);
	}
	
	.testimonials_slider_container .slider_arrow  {
		top: auto;
		bottom: 0;
	}
	
	.testimonials_slider_container .slider_left_arrow {
		left: -105px!important;
	}
	
	.testimonials_slider_container .slider_right_arrow {
		left: -50px!important;
	}
}

@media screen and (max-width: 899px) {
	.testimonials_title {
		flex: 100%;
	}
	.testimonials_title  {
	padding-bottom: 30px;
}
	.testimonials_slider_container {
		flex: 100%;
	}
	
		.testimonials_slider_container .slider_arrow  {
		top: -30px;
	}
	
	.testimonials_slider_container .slider_left_arrow {
		left: auto!important;
		right: 55px!important;
	}
	
	.testimonials_slider_container .slider_right_arrow {
		left: auto!important;
		right: 0!important;
	}
}

.testimonials_slider {
	height: 100%;
}
.testimonial_quote {
	line-height: 1.8;
	text-align: center;
	margin-bottom: 20px;
	margin-top: 20px;
	font-style: italic;
	font-size: 24px;
}

.testimonial_slide_container::before {
	content:'';
	width: 71px;
	height: 71px;
	background: url(/wp-content/uploads/2024/10/quote.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 50%;
	top: 50px;
	left: 30px;
	position: absolute;
	transform: translate(30px, -50%);
}

.testimonials_slider_container {
	margin-top: -46px;
}
.testimonial_slide.single_slide   {
	padding-top: 50px;
	padding-bottom: 16px; 
}

.signature_company, .signature_name {
	font-weight: bold;
	text-align:center;
	margin-bottom: 10px;
}

.signature_company {
	font-size: 20px;
	color: var(--rib-lightgreen);
}

.signature_name {
	color: var(--rib-blue);
}




.testimonial_slide  {
	padding-left: 12px;
	padding-right: 12px;
}

.testimonial_slide .single_slide_container {
	box-shadow: 0px 0px 16px 0px #0000001F;

}

/* Sliders */
.slider_container {
	position: relative;
}
.slider * {
  -webkit-user-select: none;
  -ms-user-select: none; 
  user-select: none; 
}

.slider {
	display: flex;
	margin-left: -16px;
	margin-right: -16px;
	padding-left: 8px;
	padding-right: 8px;
	flex-wrap: nowrap;
	overflow: hidden;
	gap: 0!important;
	position: relative;
	margin-top: 0!important;
	margin-bottom: 0!important;
}

.slider_arrow {
	background:var(--rib-green);
	border-radius: 50%;
	width: 33px;
	height: 33px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 25px;
	position: absolute;
	z-index: 01;
	cursor: pointer;
	transition: all 0.3s;
	top: 50%;
	transform: translateY(-50%);
}

.slider_left_arrow {
	left: 0px;
}
.slider_right_arrow {
	right: 0;
}

.slider_arrows {
	display: none;
}

@media screen and (max-width: 900px) {
	.slider_container  {
		position: relative;
		padding-bottom: 30px;
	}
	
	.slider_arrows {
		position: absolute;
		bottom: -20px;
		right: 8px
	}
}

.slider_arrow:hover {
	background:var(--rib-lightgreen);
}

.single_slide {
	flex-grow: 0!important;
	flex-shrink: 0!important;
}

.single_slide {
		padding-top: 16px;
	padding-bottom: 16px;
	transition: all 1s;
}
.single_slide_content  {
	margin-left: 16px;
	margin-right: 16px;
	background: #fff;
	padding: 20px 20px 20px 20px;
	height: 100%;
	border-radius: 16px;;
	box-shadow: 0 0 16px rgba(0, 0, 0, 0.16);
	overflow: hidden;
	position: relative;
}

.slider .single_slide:nth-of-type(3) ~ .single_slide .single_slide_content {
	box-shadow: none!important;
}

.slider .single_slide.remove ~ .single_slide:nth-of-type(4) .single_slide_content {
	box-shadow: 0 0 16px rgba(0, 0, 0, 0.16)!important;
}


@media screen and (min-width:900px) {
.single_slide {
	flex: calc(100% / 3);
}

	.single_slide.remove {
	margin-left: max(calc((100% + 0px) / -3), -550px)!important;
}
	
	.testimonial_slide  {
		flex: calc(100% / 1);
	}
	
	.single_slide.testimonial_slide.remove {
	margin-left: max(calc((100% + 0px) / -2), -850px)!important;
}
	
}

@media screen and (min-width:600px) and (max-width:899px) {
.single_slide {
	flex: calc(100% / 2);
}
	
	.single_slide.remove {
	margin-left: max(calc((100% - 0px) / -2), -550px)!important;
}
}

@media screen and (max-width:599px) {
.single_slide {
	flex: 100%;
}
	.single_slide.remove {
	margin-left: max(calc((100% - 0px) / -1), -550px)!important;
}
}

/* Footer */
#footer {
	position: relative;
	background: none!important;
	padding-top: 200px;
	padding-bottom: 0!important;
}

body.page-id-3993 #footer {
	padding-top: 100px;
}

body.page-id-3993 #footer::before {
	content:'';
	position: absolute;
	top:00px;
	width:100%;
 	min-width: 1200px; 
 /* avoid stretching the background */
	height: 400px;
	background: #035268;
	background-size: 100% 100%;
	
}


#footer::before {
	content:'';
	position: absolute;
	top:00px;
	width:100%;
 	min-width: 1200px; 
 /* avoid stretching the background */
	height: 400px;
	background: url(/wp-content/uploads/2024/10/footer-frame.png);
	background-size: 100% 100%;
	
}

#footer > .boxed-width:first-of-type  {
	margin-top: -50px;
}

#footer > .boxed-width:first-of-type .col.width1of2   {
	padding-bottom: 0;
}

#footer::after {
	content:'';
	position: absolute;
	top:400px;
	width:100%;
	height: calc(100% - 400px);
	background: #035268 ;
	z-index: -1;
}

.footer img {
	margin-bottom: 20px;
	margin-right: 20px;
}
.footer h4 {
	color: var(--rib-lightgreen)!important;
	font-size: 20px!important;
}

.footer p i {
	color: var(--rib-lightgreen)!important;
}

.footer a {
	color: #fff;
}

.footer a strong {
	color: var(--rib-lightgreen)!important;
}

#footer p {
	font-size: 16px;
	
}
.simple_text p:has(i.fa-solid) {
	display: flex;
	flex-wrap: nowrap;
}

.simple_text i.fa-solid {
	display: inline-block
}

.text_with_icon {
	display: flex;
	flex-wrap: nowrap;
}

.text_with_icon i {
	color: var(--rib-green);
}

.next_to_i {
	display: inline-block;
	padding-top: 5px;
	margin-bottom: 25px;
}
.b {
	font-weight: bold;
	font-size: 20px;
}

.simple_text p i.fa-solid, .text_with_icon i {
  flex: 0 0 auto; /* Prevent icon from taking extra space */
  margin-right: 0.2em;
	margin-top: 10px;
	min-width: 30px;
}

#footer .col.width1of4 {
	flex: 16%;
}

#footer .col.footer_info  {
	flex: 36%;
}

#footer .col.footer_info img {
	max-width: calc(50% - 10px);
}

#footer .col.footer_info .last_image {
	margin-right: 0!important;
}

#footer section {
	padding-bottom: 0;
	padding-top: 20px;
}

#footer a {
	text-decoration: none;
}

#footer a:hover {
	color: var(--rib-green);
}

#footer i {
	color: var(--rib-blue);
	width: 30px;
}

#footer .simple_image:first-of-type {
/* 	max-width: 240px; */
	margin-bottom: 40px;
}



#footer .simple_image:nth-of-type(3) {
	margin-top: 20px;
}


#footer .row:first-of-type .col .simple_image {
	text-align: left;
}

#footer .row:first-of-type .col:first-of-type img {
	max-width: 250px;
}




/* footer copyright */

.footer .row:nth-of-type(2) {
	margin-top: -30px;
	position: relative;
	justify-content: space-between;
	gap: 0px;
	font-size: 16px;
	padding-top: 10px;
	padding-bottom: 10px;
}
.footer .row:nth-of-type(2) .col{
	flex: auto;
}

.footer .row:nth-of-type(2)::before {
	content:'';
	width: calc(100% - 40px);
	position: absolute;
	top: 0;
	left: 20px;
	border-top: 1px solid #fff;
}

.footer .row:nth-of-type(2) .col {
	padding-top: 0;
	padding-bottom: 0;
}

.footer .col {
	margin-top: 0!important;
}

.footer strong a {
	font-weight: bold;
	color: var(--rib-lightgreen);
}

/* Heading adjustments */
@media screen and (min-width:900px) and (max-width: 1099px) {
	
	html h1 {
		font-size: 2.2rem!important;
	}
	
	html h2 {
		font-size: 2rem!important;
	}
	
	html h3 {
		font-size: 1.7rem!important;
	}
	
	html h4 {
		font-size: 1.3rem!important;
	}
}

@media screen and (min-width:500px) and (max-width: 899px) {
	
		.col.width1of4 {
	flex: 50%;
}
		.row .col {
		padding: 30px 20px;
	}
	html h1 {
		font-size: 1.9rem!important;
	}
	
	html h2 {
		font-size: 1.7rem!important;
	}
	
	html h3 {
		font-size: 1.4rem!important;
	}
	
	html h4 {
		font-size: 1.2rem!important;
	}
}

@media screen and (max-width:499px) {
		.row .col {
		padding: 30px 20px;
	}
	html h1 {
		font-size: 1.75rem!important;
	}
	
	html h2 {
		font-size: 1.5rem!important;
	}
	
	html h3 {
		font-size: 1.2rem!important;
	}
	
	html h4 {
		font-size: 1rem!important;
	}
	
	.col.width1of4 {
	flex: 100%;
}
}

/* Title bar */
#title_bar h1, #title_bar h2, #title_bar h3, #title_bar h4, #title_bar h5, #title_bar h6, #title_bar p{
	color: #fff;
}

#title_bar {
	background-size: cover!important;
	background-position: center!important;
	
}


/* Global Search */
.title_search input[type="submit"]:hover {
	color: var(--rib-darkgreen)!important;
	background: var(--rib-lightgreen);
}

.title_search {
	margin: 0;
}

.title_search {
	position: relative;
	border:2px solid #fff;
	padding: 2px;
	border-radius: 40px;
	margin-top: 40px;
	max-width: 550px;
	background: rgba(0,0,0,0.5);
}

.title_search input[type="submit"] {
	position: absolute;
	height: calc(100% - 4px);
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 40px;
	width: 130px;
	font-weight: bold;
	color: #fff;
	background: var(--rib-darkgreen);
	border: none;
	cursor: pointer;
	transition: all 0.3s;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5px;
	font-weight: bold;
}

.title_search input[type="text"] {
	width: calc(100% - 135px);
	background: none;
	border: none;
	padding: 10px;
}

.title_search input[type="text"]:focus-visible {
	outline: none!important;
}

/* Global search page */

/* Top Menu */


.desktop-search {
	color: #fff;
	cursor: pointer;
	margin-bottom: 3px;
	display: block;
}

#header.active .desktop-search, #header.sticky .desktop-search,  #header.green_header .desktop-search {
	color: var(--rib-darkgreen);
}

body:has(#header.green_header) .entry-content > section:first-of-type{
	padding-top: 110px;
}

.top_menu .buttons_container {
	margin-top: 0;
}
.top_menu {
	padding-top: 20px;
	padding-bottom: 0px;
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: flex-end;
}

 .custom_button.social{
	width: 32px;
	height: 32px;
	font-size: 20px;
}

 .address_column .custom_button.social {
	width: 32px;
	height: 32px;
	font-size: 20px;
}

/* gtranslate */
.gt_switcher  {
	position: absolute;
	top: 21px;
	border-radius: 8px;
	border: 1px solid ;
}

.gt_switcher img {
	display: none!important;
}

.gt_switcher a{
	line-height: 20px;
	font-weight: bold;
	color: #000!important;
}

.move_on_mobile {
	display: flex; 
	align-items: center;
	gap: 20px;
}
#primary-menu .top_menu .move_on_mobile {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

#primary-menu .top_menu {
	padding: 0;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-top: 10px;
}


.login_button {
		font-family: "Lato", sans-serif;
	font-weight: 700;
}

#header:not(.green_header):not(.sticky):not(.active) .main-navigation .login_button {

	color: #fff!important;
}

#header:not(.green_header):not(.sticky):not(.active) .main-navigation #primary-menu .top_menu .login_button {
	color: var(--rib-green)!important;
}

#primary-menu .top_menu .desktop-search {
	color: var(--rib-green)!important;
}


#header.green_header .main-navigation .login_button, #header.sticky .main-navigation .login_button, #header.active .main-navigation .login_button {

	color: var(--rib-green)!important;
}



/* Main menu */

#header:not(.green_header):not(.sticky):not(.active) #main_site_logo img{
	filter: brightness(0) invert(1);
}

#header.sticky #main_site_logo img, #header.green_header #main_site_logo img {
/* 	filter: brightness(0) saturate(100%) invert(24%) sepia(81%) saturate(2177%) hue-rotate(172deg) brightness(98%) contrast(94%); */
/* 	Shoal dark green with compute css filter */
/* 	filter: brightness(0) saturate(100%) invert(68%) sepia(78%) saturate(1273%) hue-rotate(18deg) brightness(107%) contrast(100%); */
	/* 	Shoal light green  */
}



#header {
	position: fixed;
	width: 100%;
	z-index: 10;
	transition: all 0.3s;
/* 	background: linear-gradient(rgba(255,255,255,0.4), rgba(255,255,255,0.1)); */
/* 	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); */
/*    backdrop-filter: blur(25px); */
}

#header.sticky, #header.active  {
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
	background: #fff;
}




body:not(.logged-in) #header {
	top: 0;
}

body.logged-in #header {
	top: 32px;
}

body.logged-in.customize-partial-edit-shortcuts-shown #header {
	top: 0;
}

.header_container {
	display: flex!important;
	position: relative;
	justify-content: space-between;
	align-items: center;
	padding-right: 20px;
}

main#primary {
	padding-top: 0px;
}

#primary-menu {
	margin: 0;
	list-style: none;
	padding: 0;
	display: flex;
}
#primary-menu>ul {
	margin: 0;
	list-style: none;
	padding: 0;
	display: flex;
}
#primary-menu>li>a>i {
	font-size: 22px;
}


header.sticky #primary-menu a, header.active #primary-menu a {
	color: #1e1e1e;
}

header.sticky #primary-menu .sub-menu a, header.active #primary-menu .sub-menu a, header.green_header #primary-menu .sub-menu a{
	color: #333;
}

.sub-menu a {
	color: #333!important;
}

header.sticky #site-navigation #primary-menu>li.menu-item-has-children > a::after, header.active #site-navigation #primary-menu>li.menu-item-has-children > a::after, header.green_header #site-navigation #primary-menu>li.menu-item-has-children > a::after {
	color: var(--rib-green); 
}

#site-navigation {
	display: flex;
	gap: 20px;
}

.right_menu {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

#header.green_header {
	
}

header.green_header #primary-menu a {
	color: var(--rib-darkgreen);
}

#primary-menu a {
	font-size: 18px;
	color: #fff;
	transition: all 0.3s;
	cursor: pointer;
	font-style: normal;
	position: relative;
}

#primary-menu > li > a::before {
	content: '';
	position: absolute;
	width: 0;
	height: 4px;
	bottom: -10px;
	left: 50%;
	border-radius: 2px;
	transform: translateX(-50%);
	background: var(--rib-lightgreen);
	transition: all 0.3s;
}

#primary-menu .sub-menu a::before {
	content: '';
	position: absolute;
	width: 0;
	height: 30px;
	top: 50%;
	left: -5px;
	border-radius: 2px;
	transform: translateY(-50%);
	background: var(--rib-lightgreen);
	transition: all 0.3s;
}

#primary-menu .sub-menu a:hover::before {
	width: 4px;
}

#primary-menu a:hover::before {
	width: 100%;
}

#primary-menu a:not(.custom_button):hover {
/* 	color: var(--rib-green)!important; */
/* 	 -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: var(--rib-green); */
}

#primary-menu .current_page_item > a, #primary-menu .current_page_ancestor > a {
	font-family: "Lato", sans-serif; font-weight: 700;
}


#main_site_logo {
	padding: 10px 20px;
}

#main_site_logo img {
	width: 306px;
}


#main_site_logo * {
	transition: all 0.3s;
}


#main_site_logo .logo_link {
	height: 100%;
	width: 100%;
	display: block;
	position: relative;
}
	#site-navigation #primary-menu>li:not(.menu-item-has-children) {
		padding-right: 35px;
	}


/* Mega menu */


.mega_menu {
	visibility: hidden;
	opacity: 0;
	height: 0;
	padding: 0!important;
/* 	overflow: hidden; */
	transition: visibility 0s, opacity 0.5s linear;
	position: absolute;
	left: 0;
	width: 100%;
	top: calc(100% - 20px);
	padding: 40px;

}

.mega_menu.active {
	visibility: visible;
	opacity: 1;
	height: auto;
	
}

.mega_menu:before {
/* 		content: '';
	width: 3000px;
	top: 0;
	background: var(--coregreen);
	height: 4px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%); */
}

.menu-item.has_mega_menu {
	position: relative;
}

.menu-item.has_mega_menu::after {
	content: '';
	position: absolute;
	background: url(/wp-content/uploads/2024/10/menu-arrow.svg);
	background-size: 100%;
	top: calc(100% - 10px);
	left: 50%;
	transform: translateX(calc(-50% - 15px));
	width: 30px;
	height: 16px;
	opacity: 0;
	visibility: hidden;
	transition: visibility 0s, opacity 0.3s linear;
	pointer-events: none;
}

.menu-item.has_mega_menu:hover::after {
	opacity: 1;
	visibility: visible;
}

.single_menu_post_card .single_menu_card_image{
	position: relative;
	width: 100%;
	height: 200px;
	display: block;
	padding: 0!important;
	border-radius: 0 12px;
	overflow: hidden;
}

.single_menu_card_image img{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	transition: transform 0.3s;
}

.single_menu_card_image:hover img {
	transform: translate(-50%, -50%) scale(1.05);
}

.menu_cards {
	display: flex;
	gap: 20px;
}

.menu_cards .single_featured_details {
	padding: 0;
}

.single_menu_post_card {
	flex: calc((100% - 40px) / 3);
}

.single_menu_post_card .single_b_title a{
	font-weight: bold;
	margin-top: 20px;
	margin-bottom: 20px;
	font-size: 20px;
	display: block;
}

.menu_cards a, .menu_cards a h4
 {
	color: #333333!important;

}

.mega_menu p {
	margin-top: 0;
}


.mega_menu .col {
	padding: 0;
}
.mega_menu .big_featured_date {
	display: none;
}

.mega_menu_container {
	background: #fff;
	margin: 20px;
	padding: 20px;
	border-radius: 12px;
	position: relative;
	padding-top: 100px;
	overflow: hidden;
		box-shadow: 0px 0px 24px 0px #00000040;
}

.mega_menu_container::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: url(/wp-content/uploads/2024/10/mega_menu_background.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	height: 120px;
}
.mega_menu_links {
	padding-right: 20px;
}
.mega_menu_links a{
	font-weight: bold;
}



.mega_menu_column h4, .mega_menu_column h3 {
	font-size: 24px;
}

.mega_menu_links.links2 {
	column-count: 2;
  column-gap: 20px;
}

.mega_menu .big_featured_card .custom_button{
	margin-bottom: 10px;
}

.mega_menu .big_featured_image {
	height: 300px;
	margin-bottom: 15px;
}

/* Desktop menu  */
@media screen and (min-width:1100px) {
	.sub-menu {
		display:  none!important;
	}
	
	#main_site_logo img {
	margin-top: 50px;
	margin-bottom: -5px;
}
	#mobile_menu_toggle{ 
	display: none;}
	#primary-menu> .menu_posts {
		display: none;
	}
	.sub-menu {
		padding: 10px 20px;
		left: 0;
		display: none;
	list-style: none;
	position: absolute;
		width: 330px;
		background :#fff;
		border-radius: 0px 0 8px 8px;
		box-shadow: 0 0 16px rgba(0,0,0,0.16);
		margin-top: 20px;
		margin-left: -20px;
		
}
	.sub-menu >li> a {
		margin-top: 10px;
		margin-bottom: 10px;
		padding-left: 10px;
		display: block;
	}
	
	#primary-menu > li {
		padding-top: 20px;
		padding-bottom: 20px;
	}

#primary-menu > li.menu-item-has-children:hover	.sub-menu {
		display: block;
	}
	
	#primary-menu > li:last-of-type {
		padding-right: 0!important;
	}


		#site-navigation #primary-menu>li.menu-item-has-children {
		padding-right: 30px;
			position: relative;
	}
		#site-navigation #primary-menu>li.menu-item-has-children > a {
		position: relative;
	}
	
	#site-navigation #primary-menu>li.menu-item-has-children > a::after {
		content: '\f078';
		font-family: "Font Awesome 5 Free"; font-weight: 900;
		color: #fff;
		position: absolute;
		right: -25px;
		top: 40%;
		transform: translateY(-50%);
		transition: all 0.3s;
		 -webkit-text-stroke-width: 0px;
  -webkit-text-stroke-color: var(--rib-green);
		display: none;
	}
}

/* Tablet menu */
@media screen and (min-width:1099px) and (max-width: 1300px) {
		#primary-menu a{
	font-size: 16px!important;
	}
}

@media screen and (min-width:1099px) and (max-width: 1200px) {
		#primary-menu a{
	font-size: 15px!important;
	}
		#site-navigation #primary-menu>li:not(.menu-item-has-children):not(li:last-of-type) {
		padding-right: 25px!important;
	}
}

/* Mobile menu */
@media screen and (max-width:1100px) {
	.gt_switcher  {
	left: 30px;
}
	.move_on_mobile .custom_button {
margin-top: 20px;		
	}
	.menu-item.has_mega_menu::after {
		display: none!important;
	}
	.mega_menu {
		display: none!important;
	}
	
	.main_menu_right {
		margin-right: 60px;
	}
	
	#main_site_logo img {
		width: 245px!important;
	}
	
	#primary-menu {
		top: 73px!important;
	}
	
	#primary-menu {
		height: 100vh;
	}
	
	.top_menu {
		padding-top: 20px;
		padding-bottom: 20px;
		margin-right: 60px;
	}	
	
	#primary-menu {
		box-shadow: 0px 10px 8px rgba(0,0,0,0.16);
	}
	.main-navigation a{
		color: var(--lb-darkblue)!important;
	}
/* Hide search	 */
	#menu-item-509 {
/* 		display: none; */
	}
	
.main-navigation #primary-menu {
		display: block!important;
		transform: scaleY(0);
	transform-origin: top left;
		position: absolute;
	left: 0;
	top: 95px;
	width: 100%;
	background :#fff;
	padding: 60px 30px;
		transition: all 0.3s;
	overflow-Y: scroll;
	
	max-height: calc(100vh - 0px);
	
	}
	
	
	
.main-navigation ::-webkit-scrollbar {
  width: 10px;
}

/* Track */
.main-navigation ::-webkit-scrollbar-track {
  background: #fff;
}

/* Handle */
.main-navigation ::-webkit-scrollbar-thumb {
  background: #f1f1f1;
	border-radius: 10px;
}

/* Handle on hover */
.main-navigation ::-webkit-scrollbar-thumb:hover {
  background: #999;
}
	
		
.main-navigation.active	#primary-menu {
		display: block!important;

	transform: scaleY(1);
	}
	
	.main-navigation.active	#primary-menu li{
		line-height: 2.5;
}	
	
	#primary-menu li.menu-item-has-children {
		position: relative;
	}
#primary-menu li.menu-item-has-children::before {
	content: "\f078";
    position: absolute;
    right: 5px;
    top: -5px;
    color: var(--lb-blue);
    font-family: "Font Awesome 5 Free";
	font-size: 1.33rem;
    font-weight: 900; 
	z-index: 1;
	cursor: pointer;
}	
	.sub-menu{
		padding-left: 20px;
		display: none;
		list-style: none;
	}
	
	
	
	.open-subnav > .sub-menu{
		display: block;
	}

	
#mobile_menu_toggle{
    position:absolute;
    width:40px;
    height:40px;
    right:20px;
    top:50%;
    cursor:pointer;
    transform:translateY(-50%);
}
#mobile_menu_toggle span{
    position:absolute;
    transition:.3s;
    width:100%;
    height:3px;
    border-radius:2px;
    transform:translate(-50%,-50%);
    background: #fff!important;
    left:50%;
}

	header.sticky	#mobile_menu_toggle span, header.active	#mobile_menu_toggle span{
    background: var(--rib-darkgreen)!important;
}
	
#mobile_menu_toggle span:first-of-type{
    top:25%;
}
#mobile_menu_toggle span:nth-of-type(2){
    top:50%;
}
#mobile_menu_toggle span:nth-of-type(3){
    top:75%;
}
#mobile_menu_toggle.active span:first-of-type{
    transform:translate(-50%,-50%) rotate(45deg);
    top:50%;
}
#mobile_menu_toggle.active span:nth-of-type(2){
    width:0;
}
#mobile_menu_toggle.active span:nth-of-type(3){
    transform:translate(-50%,-50%) rotate(-45deg);
    top:50%;
}
	
}
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	font-size: 18px;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
	text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong, strong > a, b > a {
	font-family: "Lato", sans-serif; font-weight: 700;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */


/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/


* {
font-family: "Lato", sans-serif;;
	letter-spacing: 0.00rem;
	font-weight: normal;
  font-style: normal;
}

p {
	line-height: 2;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Lato", sans-serif;;
	font-weight: 700;
  font-style: normal;
	color: #1D4C3C;
}

h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong {
	font-family: "Lato", sans-serif;;
	font-weight: 800;
}

#primary-menu a {
	font-family: "Lato", sans-serif; font-weight: 700; 
  font-style: normal;
	
}


body,
button,
input,
select,
optgroup,
textarea {
	color: #1E1E1E;
	font-size: 1rem;
	line-height: 1.5;
}

.sub-menu a {
	padding-top: 5px;
}

@media screen and (max-width: 600px) {
	body, button, input, select, optgroup, textarea {
		font-size: 0.9rem;
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 15px;
	margin-top: 15px;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {

}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul, li > ol {
	margin-bottom: 0;
	margin-left: 0;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

.content_and_sidebar * {
	max-width: 100%;
}
@media screen and (min-width: 900px) {
.content_and_sidebar .width3of4 {
	max-width: 75%;
}}

img, figure {
	height: auto;
	max-width: 100%;
}

.simple_image img{
		width: 100%;
	border-radius: 12px;
	box-shadow: 0px 0px 24px 0px #00000040;

}

.no_shadow .simple_image img{
		width: 100%;
	border-radius: 0;
	box-shadow: none;
}


.footer .simple_image img{
	box-shadow: none;

}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
/* a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
} */

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 0em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin:  0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

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

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.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 !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* Admin area CSS fixes */

html body.wp-autoresize {
	overflow-Y: scroll!important;
}

.postbox-container #categorychecklist {
	list-style: none;
	margin: 0;
}
.postbox-container #categorychecklist ul.children {
	list-style: none;
}

.postbox-container #categorychecklist button.wpseo-make-primary-term {
	line-height: 1!important;
	font-size: 14px!important;
	width: 100%;
    text-align: right;
}

body h2.media-attachments-filter-heading, body h2.media-frame-menu-heading {
	font-size: 14px!important;
}

.media-frame-title h1 {
	font-size: 18px!important;
	margin-left: 15px!important;
}

h1.wp-heading-inline {
	font-size: 1rem!important;
}


h2.hndle {
	font-size: 16px!important;
	margin-left: 10px!important;
}

/* MEdia responsiveness query */
@media screen and (min-width:900px) {
.div {
	flex: calc((100% - 40px) / 3);
}}

@media screen and (min-width:700px) and (max-width:899px) {
.div {
	flex: calc((100% - 40px) / 3);
}}

@media screen and (min-width:500px) and (max-width:699px) {
.div {
	flex: calc((100% - 20px) / 2);
}}

@media screen and (max-width:499px) {
.div {
	flex: 100%;
}}

/* QA changes */
.hero .scroll_icon_container {
	 bottom: 0px!important;
}

.page-id-3678 .single_featured_image {
	min-height: 427px;
}

.page-id-3678 .single_featured_details {
	position: relative!important;
}

.page-id-3762 .custom_button.green:hover {
	background-color: #D1D700!important;
	font-weight: bolder!important;
}
.page-id-3762 .testimonial_quote {
	font-size: 18px;
	text-align: left;
}

.team_content h4 {
	font-size: 24px!important;
}
.team_content .custom_button {
	font-weight: 700!important;
	cursor: default;
	margin-bottom: 64px;
	text-align: left;
}

.team_content .custom_button:hover {
	background:#087997;
	color:#d1d700;
}

.page-id-3590 #green-box {
	padding-bottom: 0px!important;
}

/* footer mobile */
@media screen and (max-width:767px){
.footer_socials .right {
	justify-content: flex-start!important;
}	
	
	#footer .simple_image img {
		width: 250px!important;
	}  
	#footer .width1of4 {
		padding-bottom: 0;
		padding-top: 10px;
	} 
	#footer .footer_info {
		padding-top: 5px;
	} 
}

.simple_text strong, .simple_text strong span {
	font-weight: 700;
}

.blue-sub-title-box{
	background: #087997;
	display:flex;
	padding:48px 24px;
	font-size:24px;
	margin-bottom:24px;
	border-radius:0 12px;
  color: #ffffff;
	font-weight:700;
}
.blue-sub-title-box .text{
font-weight:700;
}
.blue-sub-title-box .icon i{    
		border-color: #333333;
    border-width: 1px;
    background-color: #333333;
    box-sizing: content-box;
    height: 42px;
    width: 42px;
    line-height: 42px;
    border-radius: 50%;
    color: #ffffff;
    font-size: 21px;
		display:block;
		margin-right:16px;
	text-align:center
}
.blue-sub-title-box .icon {
	
}

.acf-field .acf-input label, .acf-field .acf-input label *, .acf-field .acf-label label, .acf-field .acf-label label *, .acf-selection {
	color: #000;
	font-size: 16px;
	font-weight: 500;
}