/*
 Theme Name:   Divi Child Theme
 Theme URI:    https://c-3group.com
 Description:  Child Theme for Divi
 Author:       C-3 Group
 Author URI:   https://c-3group.com
 Template:     Divi
 Version:      1.0.0
*/

/*****Add any custom CSS below this line*****/


a {
   font-weight: 500;
}

.et_pb_text ol, .et_pb_text ul {
    margin-left: 1em;
}

.et_pb_text ol li,
.et_pb_text ul li {
    margin-bottom: .5em;
}




/* ### Menu breakpoint for default menu ### */
@media only screen and (max-width: 1072px) {
 #et_mobile_nav_menu {
	display: block;
}
 
#top-menu {
	display: none;
}}

nav#top-menu-nav {
    font-weight: 400;
	letter-spacing: -.0125em;
}

#et-secondary-menu {
    font-weight: 400;
}

#top-menu li.current-menu-item>a,
#top-menu li.current-menu-ancestor>a {
	color:#0c233f;
}

.nav li ul {
    padding: 10px 0;
	background:#ebeded;
}

#top-menu li li {
    padding: 0;
}

#top-menu li li a {
    width: 240px;
    line-height: 1.15em;
}

#top-menu li li a:hover {
	background:white;
}

.et-social-youtube a:before {
    content: "\e0a3"; /* Replace with the correct Divi icon code for LinkedIn */
    position: relative;
}



/* Force menu items and anchors to display inline */
#et-secondary-nav li {
  display: inline-block !important;
  vertical-align: middle !important;
}

#et-secondary-nav li a {
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Append the separator after each anchor, except the last */
#et-secondary-nav li a::after {
  content: " //";
  margin-left: 10px !important;
  vertical-align: middle !important;
}

#et-secondary-nav li:last-child a::after {
  content: "" !important;
}



@media only screen and (max-width: 980px) {	
	/* Adjust the mobile logo size */
  #main-header .logo_container a img {
    max-height: 65px !important; /* Increase this value for a larger logo */
    width: auto; /* Maintain aspect ratio */
  }
}



.hero-block {
	text-transform: uppercase;
    font-size: 28px;
    font-weight: 900;
	color: white;
}

.hero-block span {
	padding:16px 20px;
	display: block;
    width: fit-content;
}

.hero-block span.gray-bg {
	background:#9ea1a1;
}

.hero-block span.blue-bg {
	background:#0c233f;
	margin-top:10px;
}

@media only screen and (min-width: 768px) and (max-width: 980px) {
	.hero-block {
    	font-size: 20px;
	}
	.hero-block span {
		padding:10px 16px;
	}
	
}

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

.hero-block {
    font-size: 16px;
}
	.hero-block span {
	padding:6px 10px;
	}
	
	.hero-block span.blue-bg {
	margin-top:6px;
}
	
}


/* Practice Area Buttons on Homepage */

.areas-of-practice-btns .et_pb_column {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.areas-of-practice-btns .et_pb_blurb {
    max-width: 315px;
    width: 100%;
    border: 1px solid white;
    padding: 8px 6px;
    box-sizing: border-box; /* Important to prevent padding from messing up width */
}

.areas-of-practice-btns .et_pb_blurb_content {
  display: flex !important;
  align-items: center !important;
}

.areas-of-practice-btns  .et_pb_module_header {
	padding-bottom:0;
	padding-left:8px;
}

/* Target the image container */
.areas-of-practice-btns .et_pb_main_blurb_image {
  margin-bottom: 0 !important;
  align-self: center !important;
}

/* Target the image itself */
.areas-of-practice-btns .et_pb_main_blurb_image img {
  margin-bottom: 0 !important;
  vertical-align: middle;
}


.important-documents h2 {
    border-bottom: 5px solid #9ea1a1;
    margin-bottom: 20px;
    padding-bottom: 24px;
}


.staff-member {
    text-align: center;	    
	border-radius: 15px;
}

.staff-title-position {
    line-height: 1em;
}

.staff-member:hover {
    padding: 2px;
    background: rgba(158,161,161,0.23);
	transition: all 0.3s ease;
}

h2.staff-title {
    padding-bottom: 0;
	font-size: 16px;
}

.staff-image img {
  width:70%;
  height: auto;
  object-fit: contain; /* or remove object-fit if not needed */
}

.staff-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; 
}

@media only screen and (max-width: 980px) and (min-width: 768px) {
  .staff-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media only screen and (max-width: 767px) {
  .staff-list {
    grid-template-columns: repeat(2, 1fr);
  }
}


input.ninja-forms-field {
    padding: 12px;
    font-size: 16px;
}

.nf-form-fields-required {
    font-size: 14px;
    font-style: italic;
}

.nf-field-label {
    text-transform: uppercase;
    margin-bottom: 0px !important;
}

input#nf-field-4 {
    border-width: 1px !important;
	border-radius: 3px;
    border-color: #0C233F;
	color:#0C233F;
    font-size: 18px;
    font-family: 'Raleway', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

input#nf-field-4:hover {
	background:white;
	cursor:pointer;
	transition: all 0.3s ease;
}

.recaptcha-wrap .nf-field-label {
    display: none;
}

.et_pb_slide .et_pb_slide_content {
  position: relative; /* Ensure the pseudo-element is positioned relative to the slide content */
}

.et_pb_slide .et_pb_slide_content:before {
  content: "|"; /* Or use a font icon if desired */
	font-family: ETmodules !important;
  font-size: 32px;
	color:#194a85;
  position: absolute;
  top: -70px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  padding: 5px;
  border-radius: 50%; /* Adjust as needed */
  z-index: 2;
}


/* Events Plugin */

.em.em-list .em-item {
    display: unset;
    grid-template-columns:unset;
}

.em-item-image {
    display: none;
}

.em.em-list .em-item .em-item-info {
    border-left: unset;
    padding: unset;
}

.em.em-list .em-item .em-item-info h3.em-item-title {
	text-transform:unset;
	font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
	margin-bottom: 10px !important;
}

.em.em-list .em-item .em-item-info h3.em-item-title a {
    color: #194a85 !important;
    font-size: 26px;
    font-weight: 600;
}

.em.em-list .em-item .em-item-info .em-item-meta,
.em.em-list .em-item .em-item-info .em-item-meta a,
.em.em-item.em-item-single .em-item-meta,
.em.em-item.em-item-single .em-item-meta a {
   color: #333333!important;
}

.em.em-list .em-item .em-item-info .button,
.em.pixelbones .button.input,
input.em-form-submit.em-booking-submit.em-button.em-button-1 {
	color:#194a85!important;
	border:1px solid #194a85 !important;
}

section#comment-wrap {
    display: none!important;
}

section.em-event-when h3,
section.em-event-where h3,
section.em-event-bookings-meta h3,
button.em-event-add-to-calendar.em-tooltip-ddm.em-clickable.input,
section.em-event-bookings h2 {
    display: none;
}

.em.em-event-booking-form .em-booking-section {
    padding: 20px 0px;
}

.em.em-event-booking-form .em-tickets {
	margin:unset;
}

.em.pixelbones pre, .em.pixelbones blockquote, .em.pixelbones dl, .em.pixelbones figure, .em.pixelbones table, .em.pixelbones p, .em.pixelbones ul, .em.pixelbones ol {
    margin-bottom: 0px !important;
}

.em-login-trigger {
    display: none;
}

.em.em-event-booking-form h3.em-booking-section-title,
h3.em-booking-section-title.em-booking-form-details-title {
	margin-bottom:0!important;
}

.em-event.em-item {
    padding: 0 !important;
}

.em-item-meta-line.em-event-prices,
.em-bs-row.em-bs-row-total,
.em-bs-cell-price {
    display: none !important;
}

.em .em-booking-form-summary.em-booking-section.no-booking {
    padding-bottom: 0;
}

section.em-item-header {
    margin-bottom: unset !important;
}



.custom-video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 ratio */
  height: 0;
  overflow: hidden;
}

.custom-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


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

.staff-member {
    box-sizing: border-box;
}

.staff-member.first-row {
    width: calc(50% - 15px); /* 2 per row */
}

.staff-member.rest-row {
    width: calc(33.333% - 20px); /* 3 per row */
}


/* Make Google Map controls smaller */
.et_pb_map .gm-fullscreen-control,
.et_pb_map .gm-svpc,
.et_pb_map .gmnoprint .gm-bundled-control {
    transform: scale(0.75);
    transform-origin: bottom right;
}

/* Optional: reposition controls slightly to compensate for scale */
.et_pb_map .gmnoprint .gm-bundled-control {
    right: 10px !important;
    bottom: 10px !important;
}