/* 
Theme Name: Hello Elementor - Child - Hammerhead
Theme URI: https://www.hammerheadsecurity.com/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://www.hammerheadsecurity.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

[type=button], [type=submit], button {
    border:none
}

[type=button]:hover,
[type=submit]:hover,
button:hover {
    background:#3c8599;
		color:#fff!important;
}


/* html, body {
	overflow-x: hidden !important;
}
 */
/* Override plugin/injected body overflow so the page can scroll */

/* Blog Posts */



.elementor-post__excerpt p {
	text-align: left;
}

.wp-block-heading {
	color: #000;
}




/* Lists */

ul,
ol {
  margin-bottom: 0.9rem;
}








/* Crocoblock CF7 Styles */

.cf-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}

.cf-col-1, .cf-col-2, .cf-col-3, .cf-col-4, .cf-col-5, .cf-col-6, .cf-col-7, .cf-col-8, .cf-col-9, .cf-col-10, .cf-col-11, .cf-col-12 {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 5px;
  padding-left: 5px;
}

@media ( min-width: 576px ) {
  .cf-col-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  
  .cf-push-1 { margin-left: 8.333333%; }
  
  .cf-col-2 {
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
  }
  
  .cf-push-2 { margin-left: 16.66667%; }
  
  .cf-col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  
  .cf-push-3 { margin-left: 25%; }
  
  .cf-col-4 {
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
  
  .cf-push-4 { margin-left: 33.33333%; }
  
  .cf-col-5 {
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
  }
  
  .cf-push-5 { margin-left: 41.66667%; }
  
  .cf-col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  
  .cf-push-6 { margin-left: 50%; }
  
  .cf-col-7 {
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  
  .cf-push-7 { margin-left: 58.33333%; }
  
  .cf-col-8 {
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  
  .cf-push-8 { margin-left: 66.66667%; }
  
  .cf-col-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  
  .cf-push-9 { margin-left: 75%; }
  
  .cf-col-10 {
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  
  .cf-push-10 { margin-left: 83.33333%; }
  
  .cf-col-11 {
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
  }
  
  .cf-push-11 { margin-left: 91.66667%; }
  .cf-col-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}






/* Custom Form Styles */

.cf-container ::placeholder {
  color: #767676;
	font-weight: 300 !important;
}

.cf-container label {
	width: 100%;
}

.cf-container .wpcf7-form-control {
  background-color: #fff;
  border: 1px solid #3C8599 !important;
  border-radius: 0;
  color: #767676;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 300;
  line-height: 1.5;
	margin-top: 10px;
}

.cf-container textarea {
  height: 104px !important;
}

.cf-container .wpcf7-submit {
	background-color: #a01616;
  border: 2px solid #3C8599;
  border-radius: 2px;
	box-shadow: 0px 2px 6px 0px rgb(0 0 0 / 30%);
  color: #fff;
  font-size: 1.1rem;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 2px;
	padding: 0.8rem 1rem !important;
  text-transform: none;
	width: 100%;
}

.cf-container .wpcf7-submit:hover,
.cf-container .wpcf7-submit:focus,
.cf-container .wpcf7-submit:focus-within,
.cf-container .wpcf7-submit:active {
  background-color: #a01616;
  border: 2px solid #3C8599;
}

.wpcf7-spinner {
  position: absolute !important;
  bottom: -1em;
  left: 0;
  margin-left: 50% !important;
  transform: translateX(-50%);
}

.wpcf7-response-output {
  font-family: 'Space Grotesk', sans-serif;
  margin: 0 !important;
  text-align: center !important;
}

.wpcf7-not-valid-tip {
  font-family: 'Space Grotesk', sans-serif;
}


/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
































[data-class="wpcf7cf_group"] {
  width: 100%;
}





.cf-container .fas,
.cf-container .fa-solid {
	color: #3C8599;
}

.cf-container .wpcf7-form-control-wrap {
	margin-top: 10px;
}

.cf-container i {
	margin-right: 15px;
}

.elementor-widget-contact-form-7 .wpcf7 input.wpcf7-submit {
	background-color: #3c8599;
	border: none;
}

.elementor-widget-contact-form-7 .wpcf7 input.wpcf7-submit:hover {
	background-color: #212121;
}

.wpcf7-file {
	padding: 0.33rem 1rem;
	background: white;
	border: 1px solid #3C8599!important;
	width: 100%;
}








.woocommerce-info::before {
    top: -5em;
}

/* Country / Region dropdown – highlight color (Select2) */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: #3c8599 !important;
	color: #fff !important;
}

/* Reviews Button */

.glsr-button {
  background-color: #3c8599;
	color: #fff;
	border-color: #3c8599;
}

.glsr-button:hover {
  background-color: #212121;
  border-color: #212121;
}


/* Apply these styles to additional steps page */
@media (max-width: 767px) {
    .e-con.e-con>.e-con-inner>.elementor-widget, 
    .elementor.elementor .e-con>.elementor-widget {
        width: 100% !important;
    }
}

/* Products Page - DG 11/5/2025 */

table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th,
table tbody tr:hover>td, table tbody tr:hover>th{
	background-color: hsl(0deg 0% 50% / 0%);
}

table td, table th {
	padding: 10px 0;
}

@media (min-width: 768px) {
	.woocommerce .woocommerce-product-gallery {
		display: flex;
		flex-direction: row;
		gap: 15px;
	}
	.woocommerce .woocommerce-product-gallery .flex-control-thumbs {
		order: 1;
		display: flex;
		flex-direction: column;
		flex: 0 0 100px;
		margin: 0 !important;
	}
	.woocommerce .woocommerce-product-gallery .flex-control-thumbs li {
		width: 100% !important;
		float: none !important;
		margin: 0 0 10px 0 !important;
    }
	.woocommerce .woocommerce-product-gallery .flex-viewport {
		order: 2;
		flex: 1 1 auto; 
		min-width: 0;
	}
}


.learndash-wrapper .ld-tabs {
    margin: 0;
}

.ld-lesson-list,
.learndash-wrapper .ld-course-status-not-enrolled{
    display: none;
}


html body { overflow-y: auto !important; 
	overflow: auto !important; }


/* Events Manager - Single Event Format - Custom Styles */
/* Container & grid */
.em-single-event--eventbrite-style { max-width: 1200px; margin: 0 auto; padding: 0 1rem 2rem; font-family: 'Space Grotesk', 'Segoe UI', Arial, sans-serif; }
.em-single-event__layout { display: grid; grid-template-columns: 1fr 360px; gap: 2rem; align-items: start; }
@media (max-width: 900px) { .em-single-event__layout { grid-template-columns: 1fr; } }
.em-single-event__main { padding-top: 1rem; }

/* Hide the theme's default page header on Events Manager single events
   (we render the title inside the EM template instead). */
.single-event .page-header,
.single-event .entry-header { display: none; }

.em-single-event__header { margin: 0 0 1rem; }

.em-single-event__featured-image {
	margin-bottom: 1.5rem;
	overflow: hidden;
	line-height: 0;
}
.em-single-event__featured-image img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: middle;
}.em-single-event__title { font-size: 2rem; margin: 0 0 1rem; line-height: 1.2; letter-spacing: -0.02em; }
.em-single-event__section { margin-bottom: 2.25rem; }
.em-single-event__section-title { font-size: 1.25rem; margin: 0 0 0.75rem; color: #3c8599; font-weight: 700; }
.em-single-event__content { line-height: 1.6; }
.em-single-event__sidebar { position: sticky; top: 7rem; }
/* Only applies when we explicitly switch the sidebar to fixed positioning. */
.em-single-event__sidebar.em-single-event__sidebar--fixed { position: fixed; top: 80px; }
.em-single-event__card { background: #fff; border: 1px solid #e5e7eb; border-radius: 0; padding: 1.75rem 1.5rem; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.em-single-event__card-title { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: #3c8599; margin: 0 0 0.75rem; font-weight: 700; }
.em-single-event__when + .em-single-event__where,
.em-single-event__where + .em-single-event__book { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e5e7eb; }
.em-single-event__book { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e5e7eb; }
.em-single-event__when .em-single-event__datetime { margin-bottom: 0.5rem; }
.em-single-event__datetime {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.4;
    color: #212121;
}
.em-single-event__datetime-text {
    display: flex;
    flex-direction: column;
}
.em-single-event__date { display: block; }
.em-single-event__time { display: block; margin-top: 0.35rem; font-weight: 500; color: #374151; font-size: 0.9375rem; }
.em-single-event__when a { margin-top: 0.75rem; display: inline-block; }
.em-single-event__location-summary { font-size: 0.9375rem; line-height: 1.6; color: #374151; }
.em-single-event__location-summary a { text-decoration: none; color: #3c8599; font-weight: 600; }
.em-single-event__location-summary a:hover { text-decoration: underline; }
.em-single-event__location-summary br + * { margin-top: 0.25rem; }
.em-single-event__price {
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.9375rem;
    color: #212121;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.em-single-event__card-title .em-icon,
.em-single-event__price .em-icon { margin-right: 0.35rem; font-size: 0.9em; }
.em-single-event__book .em-single-event__cta { margin-top: 0.5rem; width: 100%; }
.em-single-event__cta,
.em-single-event__book a.em-single-event__cta { display: inline-block; background: #3c8599; color: #fff !important; padding: 0.75rem 1.5rem; border-radius: 0; border: none; text-decoration: none !important; font-weight: 600; font-family: 'Space Grotesk', 'Segoe UI', Arial, sans-serif; text-align: center; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.em-single-event__cta:hover,
.em-single-event__cta:focus,
.em-single-event__book a.em-single-event__cta:hover,
.em-single-event__book a.em-single-event__cta:focus { background: #2f6b7a; color: #fff !important; text-decoration: none !important; }
.em-single-event__closed { margin: 0; color: #6b7280; }
.em-single-event__booking-form { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid #e5e7eb; }
.em-single-event__booking-form .em-single-event__section-title { margin-top: 0; margin-bottom: 1.5rem; }

/* Booking form section headings (Tickets, Registration Info, Summary, Confirm) */
.em-single-event__booking-form .em-event-booking-form h3.em-booking-section-title {
	background: transparent;
	color: #3c8599;
	font-size: 1rem !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 1rem 0 0.75rem;
	margin: 0 0 0.5rem;
	border: none;
	border-bottom: 2px solid #3c8599;
	border-radius: 0;
}
.em-single-event__booking-form .em-event-booking-form .em-booking-section {
	padding: 1rem 0 1.5rem;
}
.em-single-event__location-name { font-weight: 600; margin-bottom: 0.25rem; }
.em-single-event__location-address { margin: 0; color: #6b7280; }
.em-single-event__map iframe { border-radius: 8px; }
.em-single-event__refund-policy {
	margin-top: 2.5rem;
	padding: 1.75rem 1.5rem;
	background: #f8fafb;
	border-radius: 10px;
	border: 1px solid #e5e7eb;
}
.em-single-event__refund-policy .em-single-event__section-title {
	font-size: 1.25rem;
	margin: 0 0 1rem;
	color: #3c8599;
	font-weight: 700;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #e5e7eb;
}
.em-single-event__refund-policy-content p {
	margin: 0 0 1rem;
	line-height: 1.65;
	color: #374151;
	font-size: 0.9375rem;
}
.em-single-event__refund-policy-content > p:first-of-type {
	font-size: 1rem;
	color: #4b5563;
	margin-bottom: 1.25rem;
}
.em-single-event__refund-policy-content p:last-child { margin-bottom: 0; }
.em-single-event__refund-heading {
	font-size: 1rem;
	font-weight: 600;
	margin: 1.5rem 0 0.4rem;
	color: #3c8599;
	line-height: 1.3;
}
.em-single-event__refund-heading:first-of-type { margin-top: 0; }
.em-single-event__refund-policy-content .em-single-event__refund-heading + p { margin-top: 0; }
.em-single-event--eventbrite-style hr { display: none; }
.type-event{margin-top:4rem;}

.em-single-event__categories {margin-bottom: 0.75rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.em-single-event__categories a, .single-event .event-categories a {
    color:#261b36!important;
	text-decoration: none;
	font-size:14px;
}
.em-single-event__categories a:hover {
    color: #111827;
}

.single-event .event-categories{
	margin-bottom: 0!important;
  padding-left: 0!important;
}


.event-categories li{
	font-size:14px;
	background:#f8f7fa;
	padding: 8px 12px;	
	list-style: none;
	border-radius: 16px;
}

.single-event .entry-title{
	padding: 0 1rem;
}

.em-single-event__cta{
	padding: 0.75rem 1.5rem;
	border-radius: 0;
	border: none;
	color:#fff;
	background:#3c8599;
	text-decoration: none !important;
	font-weight: 600;
	font-family: 'Space Grotesk', 'Segoe UI', Arial, sans-serif;
	text-align: center;
}

.em-ticket .ticket-price{
  display: none;
}

.em-event-add-to-calendar{
  color:#3c8599;
}

.em-event-add-to-calendar:hover{
  color:#2e6f81;
}


.em-event-add-to-calendar{
  padding:0 !important;
}

.em-ticket-bookings{
  padding:0
}

.em.em-event-booking-form .em-tickets .em-ticket-bookings {
  padding: 0 !important;
}

.single-event .em-event-booking-form .em-tickets {
 width:100%;
}