/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.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 */

/* Global */
/* .subhead {
    padding-bottom: 1rem !important;
} */

.h1-heading,
.h2-heading,
.h3-heading,
.h4-heading,
.h5-heading,
.h6-heading {
	/* padding-top: 1rem !important;
	padding-bottom: 1rem !important; */
}

.header-accent {
	font-family: "geographica-script", sans-serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-size: 63px !important;
}

.secondary {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.accent {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.page-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.page-header h1 {}

.breadcrumbs a{
	font-size: 14px !important;
	font-weight: 400;
	color: #84abc3 !important;
}

.custom-list {
  line-height: 1.9;
}

/* Optional: Apply to remove underline on link(s) */
.link-no-underline {
	text-decoration: none !important;
}

/* Fix: This overrides the "Link Hover" setting under Settings > Typography.
   The behavior caused issues with social icon effects. */

a:hover {
	text-decoration: none !important;
}

/* Elementor Editor Fix: Text box bottom gap */
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0px;
}

/* Custom Buttons: Implemented to override issues with buggy global styles */
.elementor-button {
    background-color: #000 !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-decoration: none !important;
    text-transform: capitalize !important;
    font-size: 15px !important;
}

.elementor-button:hover {
    background-color: #436287 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.elementor-button-icon {
	font-size: 16px;
}

.btn-secondary a {
    color: #fff !important;
    background-color: #163152 !important;
}

.btn-secondary a:hover {
    color: #fff !important;
    background-color: #436287 !important;
}

.btn-tertiary a {
    color: #163152 !important;
    background-color: #fff !important;
	text-transform: uppercase !important;
}

.btn-tertiary a:hover {
    color: #436287 !important;
    background-color: #fff !important;
}

/* Button Link */
.btn-link .elementor-button-content-wrapper {
    border-bottom: 1px solid #163152 !important;
}

.btn-link .elementor-button-icon {
    fill: #163152 !important;
}

.btn-link a {
    color: #163152 !important;
    background-color: transparent !important;
    text-transform: uppercase !important;
    padding: 0 !important;
}

.btn-link a:hover {
    color: #436287 !important;
    background-color: transparent !important;
}

.btn-link a:hover .elementor-button-icon {
    fill: #436287 !important;
}

.btn-link a:hover .elementor-button-content-wrapper {
    border-bottom: 1px solid #436287 !important;
}

/* Print Button Link */
.btn-link-print .elementor-button-content-wrapper {
	font-weight: 500;
	font-size: 12px;
}

.btn-link-print .elementor-button-icon {
    fill: #8c8c8c !important;
	  font-size: 12px;
}

.btn-link-print a {
    color: #8c8c8c !important;
    background-color: transparent !important;
    text-transform: uppercase !important;
    padding: 0 !important;
}

.btn-link-print a:hover {
    color: #163152 !important;
    background-color: transparent !important;
}

.btn-link-print a:hover .elementor-button-icon {
    fill: #163152 !important;
}

/* Main Navigation */
.sub-arrow svg {
    fill: #fff;
}

.menu-item:hover .sub-arrow svg {
    fill: #fff;
}

@media screen and (min-width: 1024px) {
    .sub-arrow svg {
        fill: #fff;
    }
	
	.menu-item:hover .sub-arrow svg {
    	fill: #fff;
	}
}

/* Footer */
.subfooter a {
    font-size: 12px;
    color: #436287;
}

.subfooter a:hover {
    color: #888;
}

/* Footer Link Overrides */
.footer-link a {
    color: #fff !important;
}

.footer-link a:hover {
    color: #fff !important;
}

/* Remove icons on mobile navigation */
@media (max-width: 767px) {
    .main-footer .elementor-icon-list-item .elementor-icon-list-icon {
        display: none;
    }
}

/* Utility Header Link Overrides */
.utility-header-link a {
    color: #fff !important;
}

.utility-header-link a:hover {
    color: #fff !important;
}

/* Back to Top */
#back-to-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	background-color: #163253;
	border-radius: 50%;
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 1000;
	text-decoration: none;
	transition: background-color 0.3s;
	font-size: 24px;
}

#back-to-top svg {
	width: 24px;
	height: 24px;
	fill: white;
}

#back-to-top:hover {
	background-color: #415574;
}

/* Icon Emphasis: Reusable bounce animation for any icon */
.icon-bounce {
  display: inline-block;
  animation: floatY 2s ease-in-out infinite;
}

@keyframes floatY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}

/* Custom Tabs: Obituary */
.obit-tabs .tabs .elementor-button,
.obit-tabs .tabs .elementor-button-link {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: .25rem 0 !important;
  color: #8a8f98 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  font-size: inherit !important;
  cursor: pointer;
  transition: color .2s ease;
  text-align: left !important;
}

/* Hover state */
.obit-tabs .tabs .elementor-button:hover,
.obit-tabs .tabs .elementor-button-link:hover {
  color: #1f2530 !important;
  background: none !important;
}

/* Active state – add .is-active with JS when a tab is clicked */
.obit-tabs .tabs .is-active,
.obit-tabs .tabs .is-active .elementor-button,
.obit-tabs .tabs .is-active .elementor-button-link,
.obit-tabs .tabs .is-active .elementor-button-text,
.obit-tabs .tabs .is-active .elementor-button-content-wrapper {
  color: #163152 !important;
  font-weight: 700 !important;
  background: none !important;
}

/* Keep active color on hover/focus */
.obit-tabs .tabs .is-active:hover,
.obit-tabs .tabs .is-active:focus,
.obit-tabs .tabs .is-active a:hover,
.obit-tabs .tabs .is-active a:focus {
  color: #163152 !important;
  background: none !important;
}

/* Ensure links inside tabs inherit */
.obit-tabs .tabs .elementor-button a,
.obit-tabs .tabs .elementor-button-link a {
  color: inherit !important;
  text-transform: none !important;
  background: none !important;
}

/* Tab content visibility */
.obit-tab-content .tab-pane[hidden] { display: none !important; }
.obit-tab-content .tab-pane.is-active { display: block; }

/* If you have a sticky header, this ensures panes don't hide under it when scrolled into view */
.obit-tab-content .tab-pane { scroll-margin-top: var(--sticky-offset, 96px); }


/* Form zoom fix on mobile */
input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="file"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="range"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
input[type="checkbox"],
input[type="radio"],
input[type="image"],
input[type="button"],
input[type="submit"],
select:focus,
select,
textarea,
label,
button {
    font-size: 16px !important;
}

@media print {
  /* Hide stuff you don’t want on paper */
  .elementor-location-header,
  .elementor-location-footer,
  .elementor-nav-menu,
  .js-print,
  [data-action="print"] {
    display: none !important;
  } 

  /* Let content breathe full width */
  .elementor-container,
  .elementor-section,
  .elementor-column {
    max-width: 100% !important;
  }
  body {
    font-size: 12pt;
    line-height: 1.5;
  }
}


/* New */
.tribute-block-row{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -25px;
}
.tribute-block-col{
    padding: 0 25px;
    width: 50%;
}
.tribute-block-form-wrap{
    margin: 0 0 50px 0;
}
.tribute-testimonial-item{
    display: flex;
    align-items: flex-start;
    padding: 15px;
    background-color: #fff;
    border-bottom: 8px solid #163152;
    margin: 0 0 20px 0;
}
.tribute-testimonial-item img{
    width: 40px;
}
.tribute-testimonial-text{
    width: calc(100% - 40px);
    padding: 0 0 0 20px;
}
.tribute-testimonial-text h5,
.tribute-testimonial-text p{
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-size: var( --e-global-typography-text-font-size );
    font-weight: var( --e-global-typography-text-font-weight );
    color: var( --e-global-color-text );
    margin: 0 0 8px 0;
    font-style: italic;
}
.tribute-testimonial-text p{
    margin: 0 0 0 0;
    font-style: normal;
}

.tribute-block-form-wrap h5{
    margin: 0;
    color: #fff;
    background-color: #163152;
    padding: 10px;
    font-family: "Montserrat", Sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.tribute-block-form{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
    gap: 20px 0;
}
.form-group{
    width: 100%;
    padding: 0 10px;
}
.form-half{
    width: 50%;
}
.form-control{
    width: 100%;
    height: 40px;
    background-color: #fff;
    font-size: 16px;
    font-family: "Montserrat", Sans-serif;
    color: #242424;
    border-radius: 0;
    box-shadow: none!important;
    border: none!important;
    outline: none!important;
    padding: 5px 14px;
}
textarea.form-control{
    height: 150px;
    padding: 5px 14px;
}
.form-control.file{
    height: auto;
    padding: 0;
}
.submit-btn{
    width: 100%;
    padding: 9px;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: capitalize ;
    font-size: 15px !important;
    font-family: "Montserrat", Sans-serif;
    color: #fff!important;
    background-color: #000!important;
    border-radius: 0!important;
    border: none!important;
    box-shadow: none!important;
    outline: none!important;
    transition: all .3s;
}
.submit-btn:hover{
    background-color: #436287 !important;
    color: #fff !important;
}


.photos-gallery h5{
    font-family: var( --e-global-typography-23e9d85-font-family ), Sans-serif;
  font-size: var( --e-global-typography-23e9d85-font-size );
  font-weight: var( --e-global-typography-23e9d85-font-weight );
  line-height: var( --e-global-typography-23e9d85-line-height );
  color: #163152;
  margin: 0 0 20px 0;
}
.photos-gallery-image{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
    gap: 10px 0;
}
.photos-gallery-img{
    width: 33.33%;
    padding: 0 10px;
}
.photos-gallery-img img{
    padding: 8px ;
    background-color: #fff;
    width: 100%;
}



.tribute-load-more-btn{
    background-color: #163152!important;
    color: #fff!important;
}
.tribute-load-more-btn:hover{
    background-color: #436287!important;
    color: #fff!important;
}
.location-block h5{
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-size: var( --e-global-typography-text-font-size );
    font-weight: bold;
    color: var( --e-global-color-text );
    margin: 15px 0 7px 0;
}
.location-block p{
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-size: var( --e-global-typography-text-font-size );
    font-weight: normal;
    color: var( --e-global-color-text );
}

.share_icon ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}
.share_icon ul li a{
    background-color: #163152;
    width: 30px;
    height: 30px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
}
.share_icon ul li a svg{
    width: 16px;
    fill: #fff;
}
.share_icon ul li a:hover{
    background-color: #436287 ;
}

.recent-obituaries-block{
	background-color:#fff;
	min-height:100%;
	text-align:center;
}
img.recent-obituaries-img{
	width: 100%;
  height: 214px;
  object-fit: cover;
  object-position: top center;
}
.recent-obituaries-text{
	padding:30px;
}
.recent-obituaries-text h3{
	font-size: 18px;
  font-weight: 700;
  line-height: 1.2em;
	font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
	color: var( --e-global-color-primary );
	margin:0 0 20px 0;
}
.recent-obituaries-text h6{
	font-family: var( --e-global-typography-text-font-family ), Sans-serif;
  font-size: var( --e-global-typography-text-font-size );
  font-weight: var( --e-global-typography-text-font-weight );
  color: var( --e-global-color-text );
	margin:0 0 8px 0;
}
.see-btn{
	text-align: center;
  font-family: "Montserrat", Sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  color: var( --e-global-color-f2c7a1b );
	display: table;
  margin: 40px auto 0 auto;
	position:relative;
}
.see-btn::before{
	content:"";
	width:65px;
	height:4px;
	background-color:#DFDFDF;
	position:absolute;
	top:-20px;
	left:50%;
	transform:translatex(-50%);
}

.slick-arrow{
	position:absolute;
	border:none!important;
	padding:0;
	width:25px;
	height:25px;
	top:50%;
	transform:translateY(-50%);
	background-position:center;
	background-size:25px;
	background-repeat:no-repeat;
	z-index:1;
	font-size:0!important;
	background-color:transparent!important;
	opacity:0.2;
}
.slick-prev.slick-arrow{
	background-image:url('./images/arrow-slick-left.svg');
	left:10px;
}
.slick-next.slick-arrow{
	background-image:url('./images/arrow-slick-right.svg');
	right:10px;
}
ul.slick-dots{
	padding:10px 0 0 0;
	margin:0 auto;
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:center;
}
ul.slick-dots li button{
	font-size:0!important;
	background-color:#163152!important;
	border:none!important;
	width:10px!important;
	height:10px!important;
	opacity:0.5;
	padding:0!important;
	border-radius:100px!important;
	margin:0 6px;
}
ul.slick-dots li.slick-active button{
	opacity:1;
}
.recent-obituaries-wrapper{
	margin:0 -10px;
}
.recent-obituaries-wrapper .slide.slick-slide {
	padding:0 10px;
}

@media screen and (max-width:991px) {
    .tribute-block-col{
        width: 100%;
    }
}
@media screen and (max-width:767px) {
    .loop-block.elementor-widget-loop-grid .elementor-grid{
        grid-template-columns: repeat(2,1fr)!important;
    }
	.recent-obituaries-text{
		padding:20px;
	}
	
	ul.slick-dots li button{
		margin:0 3px;
	}
	ul.slick-dots li button{
		width: 8px !important;
  height: 8px !important;
	}
}
@media screen and (max-width:575px) {
    .photos-gallery-img{
        width: 50%;
    }
    .photos-gallery-img img{
        padding: 4px;
    }
    .form-half{
        width: 100%;
    }

    .loop-block.elementor-widget-loop-grid .elementor-grid{
        grid-template-columns: repeat(1,1fr)!important;
    }
}
@media screen and (max-width:449px) {
	img.recent-obituaries-img{
		height:280px;
	}
}