/*
Theme Name:     GOTB Child Theme
Theme URI:      https://geeksonthebeach.ca
Description:    GOTB Master
Author:         Geeks On The Beach
Author URI:     https://geeksonthebeach.ca
Template: Divi
Version:        4.0
*/
/* This file was modified 2020-05-06 by Aspen Grove Studios to customize metadata in header comment */

/* =Theme customization starts here
------------------------------------------------------- */

/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {
}
/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {
}
/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
}
/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
}
/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {
}
/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {
}

/* ------------- 1. general styles ------------- */

h1, h2, h3, h4, h5, h6 {overflow-wrap: normal;}

sup {
    position: relative;
    top: -0.5em;
    font-size: 12px;
    margin-right: 2px;
}

/* ------------- a. Gravity contact form ------------- */

.gform_wrapper ul.gform_fields li {
    list-style: none;
}
.gform_wrapper ul.gform_fields {
    padding-left: 0 !important;
}
.gform_wrapper .hidden_label label {
    display: none;
}
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper textarea,
.gform_wrapper select {
    border-radius: 0px !important;
    background-color: #fff;
    color: inherit;
    font-family: sans-serif;
    border: 0;
    padding: 10px !important;
    border: 1px solid #eeeeee;
}
.gform_wrapper.gravity-theme .gfield_label {
    display: inline-block;
    font-size: 15px;
    font-weight: normal;
    margin-bottom: 3px;
    padding: 0;
}
.gform_wrapper input[type=email]:focus {
    border: 1px solid #eeeeee;
}
.gform_wrapper input[type=text]::placeholder,
.gform_wrapper input[type=email]::placeholder,
.gform_wrapper input[type=tel]::placeholder,
.gform_wrapper textarea::placeholder,
.gform_wrapper select::placeholder {
    color: inherit;
    font-family: inherit;
}
.gform_wrapper .gform_footer {
    text-align: right;
}
.gform_wrapper input[type=submit] {
	border: 0;
    background-color: #333333;
    color: #ffffff;
    font-family: inherit;
    text-transform: uppercase;
    font-weight: inherit;
    font-size: inherit;
    transition-duration: .3s;
    border-radius: 0px;
    padding: 8px 28px;
    cursor:pointer;
}
.gform_wrapper input[type=submit]:hover {
    transition-duration: .3s;
    opacity:0.9;
}
.gform_legacy_markup_wrapper .gform_footer {
    margin: 0px 0 0;
}
/* grow icons effect */
.mp_m_blurb_grow:hover .et_pb_image_wrap {
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}
.mp_m_blurb_grow:hover .et_pb_image_wrap {
    -webkit-transform: scale(1.3) translateZ(0);
    transform: scale(1.3) translateZ(0);
}
/* ------------- 3. Nav Menu ------------- */
/** #####  CALL TO ACTION BUTTON in the menu item  ##### 
/* Desktop & tablet, call to action menu */
.menu_cta {
    background-color: #fff;
    color: #212121;
    border: 1px solid #212121;
    padding: 0 !important;
    border-radius: 25px;
}
.menu_cta a {
    color: #212121 !important;
    padding: 11px 20px 13px 20px !important;
}
/* Mobile call to action menu */
@media (max-width: 980px) {
    .menu_cta {
        margin: 20px 40px 20px;
    }
    .menu_cta a {
        text-align: center;
}}

/* ##### DROPDOWN MENU WIDTH ##### */
.nav li ul {
    width: 300px !important; /* Width of the dropdown menu */
}
.nav li li ul {
    left: 300px !important; /* Use the same size as above */
}
#top-menu li li a {
    width: 260px; /* Make this 40 less then the width of the dropdown menu */
}
/* remove the hover grey when current on dropdown-menu */
.nav ul li a:hover {opacity: 1; background-color: rgba(0, 0, 0, 0);}

.et-menu li li a {
    padding: 6px 15px;
    width: 260px;
}
.et_pb_menu .et-menu-nav>ul ul {
padding: 10px 0;} 


/* ------------- 4. Content ------------- */

/* Vertically Center Text in 2 columns - Make equal heights check */

.et_pb_equal_columns >.et_pb_column {
margin-top:auto;
margin-bottom:auto;
}
li {padding-bottom: 0.4em;}


.et_pb_page h1, .et_pb_page h2, .et_pb_page h3, .et_pb_page h4, .et_pb_page h5 {
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.1em;
	letter-spacing:0.05em;
}
/* Base font sizes for Desktop (1260px and above) */
.et_pb_page h1 { font-size: 100px; }
.et_pb_page h2 { font-size: 70px; }
.et_pb_page h3 { font-size: 56px; }
.et_pb_page h4 { font-size: 40px; }
.et_pb_page h5 { font-size: 30px; }
.hero-video-title h1 {font-size:120px;}
.hero-video-title h1 span {font-size:80px!important;}
.title-split-section h3 {font-size:44px!important; line-height: 1.1em;color: #80618B !important; letter-spacing: 0.05em;}
.subtitle-split-section {font-size:48px!important; line-height: 1.6em; margin-top:-15px!important;}
.text-split-section {font-size:30px!important; line-height: 1.6em;}
.et_pb_menu ul li a {font-size: 20px;}


/* Tablet (between 768px and 1260px) */
@media only screen and (max-width: 1260px) {
    .et_pb_page h1 { font-size: 90px; }
    .et_pb_page h2 { font-size: 55px!important; line-height: 1.2em!important; }
    .et_pb_page h3 { font-size: 30px!important; line-height: 1.3em!important; }
    .et_pb_page h4 { font-size: 36px; }
    .et_pb_page h5 { font-size: 28px; }
    .hero-video-title h1 {font-size:90px;}
    .hero-video-title h1 span {font-size:50px!important;}
    .title-split-section h3 {font-size:38px!important; line-height: 1.1em;color: #80618B !important; letter-spacing: 0.05em;}
	.subtitle-split-section {font-size:44px!important; line-height: 1.6em; margin-top:-15px!important;}
	.text-split-section {font-size:21px!important; line-height: 1.7em;}
	.et_pb_menu ul li a {font-size: 16px;}
}

/* Mobile (below 768px) */
@media only screen and (max-width: 768px) {
    .et_pb_page  h1 { font-size: 50px; }
    .et_pb_page h2 { font-size: 38px!important; }
    .et_pb_page h3 { font-size: 24px; }
    .et_pb_page h4 { font-size: 20px; }
    .et_pb_page h5 { font-size: 16px; }
    
    .hero-video-title h1 {font-size:72px;}
    .hero-video-title h1 span {font-size:38px!important;}
    .title-split-section h3 {font-size:34px!important; line-height: 1.1em;color: #80618B !important; letter-spacing: 0.05em;}
	.subtitle-split-section {font-size:38px!important; line-height: 1.6em; margin-top:-15px!important;}
	.text-split-section {font-size:19px!important; line-height: 1.6em;}
	.menu-text {
    position: absolute;
    top: -2px!important;
    left: -50px!important;
    font-size: 18px!important;
    color: #80618b;
    font-family: 'Ubuntu', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 500 !important;
}
}
/* Overlay for video background */
.hero-video1-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #80618b57 0%, #80618b3b 50%, #80618b5c 100%) !important;
    z-index: 1;
}
/* Ensure the video is below the overlay */
.hero-video1-overlay {
    position: relative;
    z-index: 0;
}
/* Overlay for video background */
.hero-video-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(232 214 226 / 55%);
    z-index: 1;
}
/* Ensure the video is below the overlay */
.hero-video-overlay {
    position: relative;
    z-index: 0;
}
/* Initial style for the menu links */
.et_pb_menu_0_tb_header.et_pb_menu .et-menu-nav li a, .et-db #et-boc .et-l #dm-menu.nav li a  {
    position: relative;
    display: inline-block;
}
/* Overlay for phot background */
.hero-photo-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(#d9cdd9ba, #ffffff);
    z-index: 1;
}

/* Create the underline elementon menu  */
.et_pb_menu_0_tb_header.et_pb_menu .et-menu-nav li a::after, .et-db #et-boc .et-l #dm-menu.nav li a::after  {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0px; /* Position below the text */
    width: 0;
    height: 1.5px;
    background-color: #80618c;
    transition: width 0.3s ease-in-out; /* Duration and animation effect */
}
/* Hover state - expand underline from left to right */
.et_pb_menu_0_tb_header.et_pb_menu .et-menu-nav li a:hover::after, .et-db #et-boc .et-l #dm-menu.nav li a:hover::after  {
    width: 100%; /* Expand to full width */
}
#dm-menu li a, .et-db #et-boc .et-l #dm-menu.nav li a {
    line-height: 1.5em;
    font-family: 'Ubuntu', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 500;
    color: #80618b !important;
    font-size: 20px !important;
    letter-spacing: 0.1em;
    line-height: 1.1em;
    transition: color 300ms ease 0ms;
}
.menu-wrap a {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
span.gratitude-author {
    font-size: 18px;
    line-height: 1.3em;
    color: #80618b;
    font-weight: 500;
}