@charset "UTF-8";
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url('/app/tf/assets/anomaly/icon-field_type/resources/fonts/fontawesome/fontawesome-webfont.eot?v=1770969168');
  src: url('/app/tf/assets/anomaly/icon-field_type/resources/fonts/fontawesome/fontawesome-webfont.eot?v=1770969168#iefix') format("embedded-opentype"), url('/app/tf/assets/anomaly/icon-field_type/resources/fonts/fontawesome/fontawesome-webfont.woff2?v=1770969168') format("woff2"), url('/app/tf/assets/anomaly/icon-field_type/resources/fonts/fontawesome/fontawesome-webfont.woff?v=1770969168') format("woff"), url('/app/tf/assets/anomaly/icon-field_type/resources/fonts/fontawesome/fontawesome-webfont.ttf?v=1770969168') format("truetype"), url('/app/tf/assets/anomaly/icon-field_type/resources/fonts/fontawesome/fontawesome-webfont.svg?v=1770969168#fontawesomeregular') format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 16px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.3333333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.2857142857em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.1428571429em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.1428571429em;
  width: 2.1428571429em;
  top: 0.1428571429em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.8571428571em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eee;
  border-radius: 0.1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left {
  margin-right: 0.3em;
}
.fa.fa-pull-right {
  margin-left: 0.3em;
}

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: 0.3em;
}
.fa.pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  -webkit-filter: none;
          filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\F000";
}

.fa-music:before {
  content: "\F001";
}

.fa-search:before {
  content: "\F002";
}

.fa-envelope-o:before {
  content: "\F003";
}

.fa-heart:before {
  content: "\F004";
}

.fa-star:before {
  content: "\F005";
}

.fa-star-o:before {
  content: "\F006";
}

.fa-user:before {
  content: "\F007";
}

.fa-film:before {
  content: "\F008";
}

.fa-th-large:before {
  content: "\F009";
}

.fa-th:before {
  content: "\F00A";
}

.fa-th-list:before {
  content: "\F00B";
}

.fa-check:before {
  content: "\F00C";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\F00D";
}

.fa-search-plus:before {
  content: "\F00E";
}

.fa-search-minus:before {
  content: "\F010";
}

.fa-power-off:before {
  content: "\F011";
}

.fa-signal:before {
  content: "\F012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\F013";
}

.fa-trash-o:before {
  content: "\F014";
}

.fa-home:before {
  content: "\F015";
}

.fa-file-o:before {
  content: "\F016";
}

.fa-clock-o:before {
  content: "\F017";
}

.fa-road:before {
  content: "\F018";
}

.fa-download:before {
  content: "\F019";
}

.fa-arrow-circle-o-down:before {
  content: "\F01A";
}

.fa-arrow-circle-o-up:before {
  content: "\F01B";
}

.fa-inbox:before {
  content: "\F01C";
}

.fa-play-circle-o:before {
  content: "\F01D";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\F01E";
}

.fa-refresh:before {
  content: "\F021";
}

.fa-list-alt:before {
  content: "\F022";
}

.fa-lock:before {
  content: "\F023";
}

.fa-flag:before {
  content: "\F024";
}

.fa-headphones:before {
  content: "\F025";
}

.fa-volume-off:before {
  content: "\F026";
}

.fa-volume-down:before {
  content: "\F027";
}

.fa-volume-up:before {
  content: "\F028";
}

.fa-qrcode:before {
  content: "\F029";
}

.fa-barcode:before {
  content: "\F02A";
}

.fa-tag:before {
  content: "\F02B";
}

.fa-tags:before {
  content: "\F02C";
}

.fa-book:before {
  content: "\F02D";
}

.fa-bookmark:before {
  content: "\F02E";
}

.fa-print:before {
  content: "\F02F";
}

.fa-camera:before {
  content: "\F030";
}

.fa-font:before {
  content: "\F031";
}

.fa-bold:before {
  content: "\F032";
}

.fa-italic:before {
  content: "\F033";
}

.fa-text-height:before {
  content: "\F034";
}

.fa-text-width:before {
  content: "\F035";
}

.fa-align-left:before {
  content: "\F036";
}

.fa-align-center:before {
  content: "\F037";
}

.fa-align-right:before {
  content: "\F038";
}

.fa-align-justify:before {
  content: "\F039";
}

.fa-list:before {
  content: "\F03A";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\F03B";
}

.fa-indent:before {
  content: "\F03C";
}

.fa-video-camera:before {
  content: "\F03D";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\F03E";
}

.fa-pencil:before {
  content: "\F040";
}

.fa-map-marker:before {
  content: "\F041";
}

.fa-adjust:before {
  content: "\F042";
}

.fa-tint:before {
  content: "\F043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\F044";
}

.fa-share-square-o:before {
  content: "\F045";
}

.fa-check-square-o:before {
  content: "\F046";
}

.fa-arrows:before {
  content: "\F047";
}

.fa-step-backward:before {
  content: "\F048";
}

.fa-fast-backward:before {
  content: "\F049";
}

.fa-backward:before {
  content: "\F04A";
}

.fa-play:before {
  content: "\F04B";
}

.fa-pause:before {
  content: "\F04C";
}

.fa-stop:before {
  content: "\F04D";
}

.fa-forward:before {
  content: "\F04E";
}

.fa-fast-forward:before {
  content: "\F050";
}

.fa-step-forward:before {
  content: "\F051";
}

.fa-eject:before {
  content: "\F052";
}

.fa-chevron-left:before {
  content: "\F053";
}

.fa-chevron-right:before {
  content: "\F054";
}

.fa-plus-circle:before {
  content: "\F055";
}

.fa-minus-circle:before {
  content: "\F056";
}

.fa-times-circle:before {
  content: "\F057";
}

.fa-check-circle:before {
  content: "\F058";
}

.fa-question-circle:before {
  content: "\F059";
}

.fa-info-circle:before {
  content: "\F05A";
}

.fa-crosshairs:before {
  content: "\F05B";
}

.fa-times-circle-o:before {
  content: "\F05C";
}

.fa-check-circle-o:before {
  content: "\F05D";
}

.fa-ban:before {
  content: "\F05E";
}

.fa-arrow-left:before {
  content: "\F060";
}

.fa-arrow-right:before {
  content: "\F061";
}

.fa-arrow-up:before {
  content: "\F062";
}

.fa-arrow-down:before {
  content: "\F063";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "\F064";
}

.fa-expand:before {
  content: "\F065";
}

.fa-compress:before {
  content: "\F066";
}

.fa-plus:before {
  content: "\F067";
}

.fa-minus:before {
  content: "\F068";
}

.fa-asterisk:before {
  content: "\F069";
}

.fa-exclamation-circle:before {
  content: "\F06A";
}

.fa-gift:before {
  content: "\F06B";
}

.fa-leaf:before {
  content: "\F06C";
}

.fa-fire:before {
  content: "\F06D";
}

.fa-eye:before {
  content: "\F06E";
}

.fa-eye-slash:before {
  content: "\F070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\F071";
}

.fa-plane:before {
  content: "\F072";
}

.fa-calendar:before {
  content: "\F073";
}

.fa-random:before {
  content: "\F074";
}

.fa-comment:before {
  content: "\F075";
}

.fa-magnet:before {
  content: "\F076";
}

.fa-chevron-up:before {
  content: "\F077";
}

.fa-chevron-down:before {
  content: "\F078";
}

.fa-retweet:before {
  content: "\F079";
}

.fa-shopping-cart:before {
  content: "\F07A";
}

.fa-folder:before {
  content: "\F07B";
}

.fa-folder-open:before {
  content: "\F07C";
}

.fa-arrows-v:before {
  content: "\F07D";
}

.fa-arrows-h:before {
  content: "\F07E";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\F080";
}

.fa-twitter-square:before {
  content: "\F081";
}

.fa-facebook-square:before {
  content: "\F082";
}

.fa-camera-retro:before {
  content: "\F083";
}

.fa-key:before {
  content: "\F084";
}

.fa-gears:before,
.fa-cogs:before {
  content: "\F085";
}

.fa-comments:before {
  content: "\F086";
}

.fa-thumbs-o-up:before {
  content: "\F087";
}

.fa-thumbs-o-down:before {
  content: "\F088";
}

.fa-star-half:before {
  content: "\F089";
}

.fa-heart-o:before {
  content: "\F08A";
}

.fa-sign-out:before {
  content: "\F08B";
}

.fa-linkedin-square:before {
  content: "\F08C";
}

.fa-thumb-tack:before {
  content: "\F08D";
}

.fa-external-link:before {
  content: "\F08E";
}

.fa-sign-in:before {
  content: "\F090";
}

.fa-trophy:before {
  content: "\F091";
}

.fa-github-square:before {
  content: "\F092";
}

.fa-upload:before {
  content: "\F093";
}

.fa-lemon-o:before {
  content: "\F094";
}

.fa-phone:before {
  content: "\F095";
}

.fa-square-o:before {
  content: "\F096";
}

.fa-bookmark-o:before {
  content: "\F097";
}

.fa-phone-square:before {
  content: "\F098";
}

.fa-twitter:before {
  content: "\F099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\F09A";
}

.fa-github:before {
  content: "\F09B";
}

.fa-unlock:before {
  content: "\F09C";
}

.fa-credit-card:before {
  content: "\F09D";
}

.fa-feed:before,
.fa-rss:before {
  content: "\F09E";
}

.fa-hdd-o:before {
  content: "\F0A0";
}

.fa-bullhorn:before {
  content: "\F0A1";
}

.fa-bell:before {
  content: "\F0F3";
}

.fa-certificate:before {
  content: "\F0A3";
}

.fa-hand-o-right:before {
  content: "\F0A4";
}

.fa-hand-o-left:before {
  content: "\F0A5";
}

.fa-hand-o-up:before {
  content: "\F0A6";
}

.fa-hand-o-down:before {
  content: "\F0A7";
}

.fa-arrow-circle-left:before {
  content: "\F0A8";
}

.fa-arrow-circle-right:before {
  content: "\F0A9";
}

.fa-arrow-circle-up:before {
  content: "\F0AA";
}

.fa-arrow-circle-down:before {
  content: "\F0AB";
}

.fa-globe:before {
  content: "\F0AC";
}

.fa-wrench:before {
  content: "\F0AD";
}

.fa-tasks:before {
  content: "\F0AE";
}

.fa-filter:before {
  content: "\F0B0";
}

.fa-briefcase:before {
  content: "\F0B1";
}

.fa-arrows-alt:before {
  content: "\F0B2";
}

.fa-group:before,
.fa-users:before {
  content: "\F0C0";
}

.fa-chain:before,
.fa-link:before {
  content: "\F0C1";
}

.fa-cloud:before {
  content: "\F0C2";
}

.fa-flask:before {
  content: "\F0C3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\F0C4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\F0C5";
}

.fa-paperclip:before {
  content: "\F0C6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\F0C7";
}

.fa-square:before {
  content: "\F0C8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\F0C9";
}

.fa-list-ul:before {
  content: "\F0CA";
}

.fa-list-ol:before {
  content: "\F0CB";
}

.fa-strikethrough:before {
  content: "\F0CC";
}

.fa-underline:before {
  content: "\F0CD";
}

.fa-table:before {
  content: "\F0CE";
}

.fa-magic:before {
  content: "\F0D0";
}

.fa-truck:before {
  content: "\F0D1";
}

.fa-pinterest:before {
  content: "\F0D2";
}

.fa-pinterest-square:before {
  content: "\F0D3";
}

.fa-google-plus-square:before {
  content: "\F0D4";
}

.fa-google-plus:before {
  content: "\F0D5";
}

.fa-money:before {
  content: "\F0D6";
}

.fa-caret-down:before {
  content: "\F0D7";
}

.fa-caret-up:before {
  content: "\F0D8";
}

.fa-caret-left:before {
  content: "\F0D9";
}

.fa-caret-right:before {
  content: "\F0DA";
}

.fa-columns:before {
  content: "\F0DB";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\F0DC";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\F0DD";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\F0DE";
}

.fa-envelope:before {
  content: "\F0E0";
}

.fa-linkedin:before {
  content: "\F0E1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\F0E2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\F0E3";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\F0E4";
}

.fa-comment-o:before {
  content: "\F0E5";
}

.fa-comments-o:before {
  content: "\F0E6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\F0E7";
}

.fa-sitemap:before {
  content: "\F0E8";
}

.fa-umbrella:before {
  content: "\F0E9";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "\F0EA";
}

.fa-lightbulb-o:before {
  content: "\F0EB";
}

.fa-exchange:before {
  content: "\F0EC";
}

.fa-cloud-download:before {
  content: "\F0ED";
}

.fa-cloud-upload:before {
  content: "\F0EE";
}

.fa-user-md:before {
  content: "\F0F0";
}

.fa-stethoscope:before {
  content: "\F0F1";
}

.fa-suitcase:before {
  content: "\F0F2";
}

.fa-bell-o:before {
  content: "\F0A2";
}

.fa-coffee:before {
  content: "\F0F4";
}

.fa-cutlery:before {
  content: "\F0F5";
}

.fa-file-text-o:before {
  content: "\F0F6";
}

.fa-building-o:before {
  content: "\F0F7";
}

.fa-hospital-o:before {
  content: "\F0F8";
}

.fa-ambulance:before {
  content: "\F0F9";
}

.fa-medkit:before {
  content: "\F0FA";
}

.fa-fighter-jet:before {
  content: "\F0FB";
}

.fa-beer:before {
  content: "\F0FC";
}

.fa-h-square:before {
  content: "\F0FD";
}

.fa-plus-square:before {
  content: "\F0FE";
}

.fa-angle-double-left:before {
  content: "\F100";
}

.fa-angle-double-right:before {
  content: "\F101";
}

.fa-angle-double-up:before {
  content: "\F102";
}

.fa-angle-double-down:before {
  content: "\F103";
}

.fa-angle-left:before {
  content: "\F104";
}

.fa-angle-right:before {
  content: "\F105";
}

.fa-angle-up:before {
  content: "\F106";
}

.fa-angle-down:before {
  content: "\F107";
}

.fa-desktop:before {
  content: "\F108";
}

.fa-laptop:before {
  content: "\F109";
}

.fa-tablet:before {
  content: "\F10A";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\F10B";
}

.fa-circle-o:before {
  content: "\F10C";
}

.fa-quote-left:before {
  content: "\F10D";
}

.fa-quote-right:before {
  content: "\F10E";
}

.fa-spinner:before {
  content: "\F110";
}

.fa-circle:before {
  content: "\F111";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "\F112";
}

.fa-github-alt:before {
  content: "\F113";
}

.fa-folder-o:before {
  content: "\F114";
}

.fa-folder-open-o:before {
  content: "\F115";
}

.fa-smile-o:before {
  content: "\F118";
}

.fa-frown-o:before {
  content: "\F119";
}

.fa-meh-o:before {
  content: "\F11A";
}

.fa-gamepad:before {
  content: "\F11B";
}

.fa-keyboard-o:before {
  content: "\F11C";
}

.fa-flag-o:before {
  content: "\F11D";
}

.fa-flag-checkered:before {
  content: "\F11E";
}

.fa-terminal:before {
  content: "\F120";
}

.fa-code:before {
  content: "\F121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\F122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\F123";
}

.fa-location-arrow:before {
  content: "\F124";
}

.fa-crop:before {
  content: "\F125";
}

.fa-code-fork:before {
  content: "\F126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\F127";
}

.fa-question:before {
  content: "\F128";
}

.fa-info:before {
  content: "\F129";
}

.fa-exclamation:before {
  content: "\F12A";
}

.fa-superscript:before {
  content: "\F12B";
}

.fa-subscript:before {
  content: "\F12C";
}

.fa-eraser:before {
  content: "\F12D";
}

.fa-puzzle-piece:before {
  content: "\F12E";
}

.fa-microphone:before {
  content: "\F130";
}

.fa-microphone-slash:before {
  content: "\F131";
}

.fa-shield:before {
  content: "\F132";
}

.fa-calendar-o:before {
  content: "\F133";
}

.fa-fire-extinguisher:before {
  content: "\F134";
}

.fa-rocket:before {
  content: "\F135";
}

.fa-maxcdn:before {
  content: "\F136";
}

.fa-chevron-circle-left:before {
  content: "\F137";
}

.fa-chevron-circle-right:before {
  content: "\F138";
}

.fa-chevron-circle-up:before {
  content: "\F139";
}

.fa-chevron-circle-down:before {
  content: "\F13A";
}

.fa-html5:before {
  content: "\F13B";
}

.fa-css3:before {
  content: "\F13C";
}

.fa-anchor:before {
  content: "\F13D";
}

.fa-unlock-alt:before {
  content: "\F13E";
}

.fa-bullseye:before {
  content: "\F140";
}

.fa-ellipsis-h:before {
  content: "\F141";
}

.fa-ellipsis-v:before {
  content: "\F142";
}

.fa-rss-square:before {
  content: "\F143";
}

.fa-play-circle:before {
  content: "\F144";
}

.fa-ticket:before {
  content: "\F145";
}

.fa-minus-square:before {
  content: "\F146";
}

.fa-minus-square-o:before {
  content: "\F147";
}

.fa-level-up:before {
  content: "\F148";
}

.fa-level-down:before {
  content: "\F149";
}

.fa-check-square:before {
  content: "\F14A";
}

.fa-pencil-square:before {
  content: "\F14B";
}

.fa-external-link-square:before {
  content: "\F14C";
}

.fa-share-square:before {
  content: "\F14D";
}

.fa-compass:before {
  content: "\F14E";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\F150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\F151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\F152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\F153";
}

.fa-gbp:before {
  content: "\F154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\F155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\F156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\F157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\F158";
}

.fa-won:before,
.fa-krw:before {
  content: "\F159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\F15A";
}

.fa-file:before {
  content: "\F15B";
}

.fa-file-text:before {
  content: "\F15C";
}

.fa-sort-alpha-asc:before {
  content: "\F15D";
}

.fa-sort-alpha-desc:before {
  content: "\F15E";
}

.fa-sort-amount-asc:before {
  content: "\F160";
}

.fa-sort-amount-desc:before {
  content: "\F161";
}

.fa-sort-numeric-asc:before {
  content: "\F162";
}

.fa-sort-numeric-desc:before {
  content: "\F163";
}

.fa-thumbs-up:before {
  content: "\F164";
}

.fa-thumbs-down:before {
  content: "\F165";
}

.fa-youtube-square:before {
  content: "\F166";
}

.fa-youtube:before {
  content: "\F167";
}

.fa-xing:before {
  content: "\F168";
}

.fa-xing-square:before {
  content: "\F169";
}

.fa-youtube-play:before {
  content: "\F16A";
}

.fa-dropbox:before {
  content: "\F16B";
}

.fa-stack-overflow:before {
  content: "\F16C";
}

.fa-instagram:before {
  content: "\F16D";
}

.fa-flickr:before {
  content: "\F16E";
}

.fa-adn:before {
  content: "\F170";
}

.fa-bitbucket:before {
  content: "\F171";
}

.fa-bitbucket-square:before {
  content: "\F172";
}

.fa-tumblr:before {
  content: "\F173";
}

.fa-tumblr-square:before {
  content: "\F174";
}

.fa-long-arrow-down:before {
  content: "\F175";
}

.fa-long-arrow-up:before {
  content: "\F176";
}

.fa-long-arrow-left:before {
  content: "\F177";
}

.fa-long-arrow-right:before {
  content: "\F178";
}

.fa-apple:before {
  content: "\F179";
}

.fa-windows:before {
  content: "\F17A";
}

.fa-android:before {
  content: "\F17B";
}

.fa-linux:before {
  content: "\F17C";
}

.fa-dribbble:before {
  content: "\F17D";
}

.fa-skype:before {
  content: "\F17E";
}

.fa-foursquare:before {
  content: "\F180";
}

.fa-trello:before {
  content: "\F181";
}

.fa-female:before {
  content: "\F182";
}

.fa-male:before {
  content: "\F183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\F184";
}

.fa-sun-o:before {
  content: "\F185";
}

.fa-moon-o:before {
  content: "\F186";
}

.fa-archive:before {
  content: "\F187";
}

.fa-bug:before {
  content: "\F188";
}

.fa-vk:before {
  content: "\F189";
}

.fa-weibo:before {
  content: "\F18A";
}

.fa-renren:before {
  content: "\F18B";
}

.fa-pagelines:before {
  content: "\F18C";
}

.fa-stack-exchange:before {
  content: "\F18D";
}

.fa-arrow-circle-o-right:before {
  content: "\F18E";
}

.fa-arrow-circle-o-left:before {
  content: "\F190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\F191";
}

.fa-dot-circle-o:before {
  content: "\F192";
}

.fa-wheelchair:before {
  content: "\F193";
}

.fa-vimeo-square:before {
  content: "\F194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\F195";
}

.fa-plus-square-o:before {
  content: "\F196";
}

.fa-space-shuttle:before {
  content: "\F197";
}

.fa-slack:before {
  content: "\F198";
}

.fa-envelope-square:before {
  content: "\F199";
}

.fa-wordpress:before {
  content: "\F19A";
}

.fa-openid:before {
  content: "\F19B";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\F19C";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\F19D";
}

.fa-yahoo:before {
  content: "\F19E";
}

.fa-google:before {
  content: "\F1A0";
}

.fa-reddit:before {
  content: "\F1A1";
}

.fa-reddit-square:before {
  content: "\F1A2";
}

.fa-stumbleupon-circle:before {
  content: "\F1A3";
}

.fa-stumbleupon:before {
  content: "\F1A4";
}

.fa-delicious:before {
  content: "\F1A5";
}

.fa-digg:before {
  content: "\F1A6";
}

.fa-pied-piper-pp:before {
  content: "\F1A7";
}

.fa-pied-piper-alt:before {
  content: "\F1A8";
}

.fa-drupal:before {
  content: "\F1A9";
}

.fa-joomla:before {
  content: "\F1AA";
}

.fa-language:before {
  content: "\F1AB";
}

.fa-fax:before {
  content: "\F1AC";
}

.fa-building:before {
  content: "\F1AD";
}

.fa-child:before {
  content: "\F1AE";
}

.fa-paw:before {
  content: "\F1B0";
}

.fa-spoon:before {
  content: "\F1B1";
}

.fa-cube:before {
  content: "\F1B2";
}

.fa-cubes:before {
  content: "\F1B3";
}

.fa-behance:before {
  content: "\F1B4";
}

.fa-behance-square:before {
  content: "\F1B5";
}

.fa-steam:before {
  content: "\F1B6";
}

.fa-steam-square:before {
  content: "\F1B7";
}

.fa-recycle:before {
  content: "\F1B8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\F1B9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\F1BA";
}

.fa-tree:before {
  content: "\F1BB";
}

.fa-spotify:before {
  content: "\F1BC";
}

.fa-deviantart:before {
  content: "\F1BD";
}

.fa-soundcloud:before {
  content: "\F1BE";
}

.fa-database:before {
  content: "\F1C0";
}

.fa-file-pdf-o:before {
  content: "\F1C1";
}

.fa-file-word-o:before {
  content: "\F1C2";
}

.fa-file-excel-o:before {
  content: "\F1C3";
}

.fa-file-powerpoint-o:before {
  content: "\F1C4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\F1C5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\F1C6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\F1C7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\F1C8";
}

.fa-file-code-o:before {
  content: "\F1C9";
}

.fa-vine:before {
  content: "\F1CA";
}

.fa-codepen:before {
  content: "\F1CB";
}

.fa-jsfiddle:before {
  content: "\F1CC";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\F1CD";
}

.fa-circle-o-notch:before {
  content: "\F1CE";
}

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\F1D0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\F1D1";
}

.fa-git-square:before {
  content: "\F1D2";
}

.fa-git:before {
  content: "\F1D3";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\F1D4";
}

.fa-tencent-weibo:before {
  content: "\F1D5";
}

.fa-qq:before {
  content: "\F1D6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\F1D7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\F1D8";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\F1D9";
}

.fa-history:before {
  content: "\F1DA";
}

.fa-circle-thin:before {
  content: "\F1DB";
}

.fa-header:before {
  content: "\F1DC";
}

.fa-paragraph:before {
  content: "\F1DD";
}

.fa-sliders:before {
  content: "\F1DE";
}

.fa-share-alt:before {
  content: "\F1E0";
}

.fa-share-alt-square:before {
  content: "\F1E1";
}

.fa-bomb:before {
  content: "\F1E2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\F1E3";
}

.fa-tty:before {
  content: "\F1E4";
}

.fa-binoculars:before {
  content: "\F1E5";
}

.fa-plug:before {
  content: "\F1E6";
}

.fa-slideshare:before {
  content: "\F1E7";
}

.fa-twitch:before {
  content: "\F1E8";
}

.fa-yelp:before {
  content: "\F1E9";
}

.fa-newspaper-o:before {
  content: "\F1EA";
}

.fa-wifi:before {
  content: "\F1EB";
}

.fa-calculator:before {
  content: "\F1EC";
}

.fa-paypal:before {
  content: "\F1ED";
}

.fa-google-wallet:before {
  content: "\F1EE";
}

.fa-cc-visa:before {
  content: "\F1F0";
}

.fa-cc-mastercard:before {
  content: "\F1F1";
}

.fa-cc-discover:before {
  content: "\F1F2";
}

.fa-cc-amex:before {
  content: "\F1F3";
}

.fa-cc-paypal:before {
  content: "\F1F4";
}

.fa-cc-stripe:before {
  content: "\F1F5";
}

.fa-bell-slash:before {
  content: "\F1F6";
}

.fa-bell-slash-o:before {
  content: "\F1F7";
}

.fa-trash:before {
  content: "\F1F8";
}

.fa-copyright:before {
  content: "\F1F9";
}

.fa-at:before {
  content: "\F1FA";
}

.fa-eyedropper:before {
  content: "\F1FB";
}

.fa-paint-brush:before {
  content: "\F1FC";
}

.fa-birthday-cake:before {
  content: "\F1FD";
}

.fa-area-chart:before {
  content: "\F1FE";
}

.fa-pie-chart:before {
  content: "\F200";
}

.fa-line-chart:before {
  content: "\F201";
}

.fa-lastfm:before {
  content: "\F202";
}

.fa-lastfm-square:before {
  content: "\F203";
}

.fa-toggle-off:before {
  content: "\F204";
}

.fa-toggle-on:before {
  content: "\F205";
}

.fa-bicycle:before {
  content: "\F206";
}

.fa-bus:before {
  content: "\F207";
}

.fa-ioxhost:before {
  content: "\F208";
}

.fa-angellist:before {
  content: "\F209";
}

.fa-cc:before {
  content: "\F20A";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\F20B";
}

.fa-meanpath:before {
  content: "\F20C";
}

.fa-buysellads:before {
  content: "\F20D";
}

.fa-connectdevelop:before {
  content: "\F20E";
}

.fa-dashcube:before {
  content: "\F210";
}

.fa-forumbee:before {
  content: "\F211";
}

.fa-leanpub:before {
  content: "\F212";
}

.fa-sellsy:before {
  content: "\F213";
}

.fa-shirtsinbulk:before {
  content: "\F214";
}

.fa-simplybuilt:before {
  content: "\F215";
}

.fa-skyatlas:before {
  content: "\F216";
}

.fa-cart-plus:before {
  content: "\F217";
}

.fa-cart-arrow-down:before {
  content: "\F218";
}

.fa-diamond:before {
  content: "\F219";
}

.fa-ship:before {
  content: "\F21A";
}

.fa-user-secret:before {
  content: "\F21B";
}

.fa-motorcycle:before {
  content: "\F21C";
}

.fa-street-view:before {
  content: "\F21D";
}

.fa-heartbeat:before {
  content: "\F21E";
}

.fa-venus:before {
  content: "\F221";
}

.fa-mars:before {
  content: "\F222";
}

.fa-mercury:before {
  content: "\F223";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "\F224";
}

.fa-transgender-alt:before {
  content: "\F225";
}

.fa-venus-double:before {
  content: "\F226";
}

.fa-mars-double:before {
  content: "\F227";
}

.fa-venus-mars:before {
  content: "\F228";
}

.fa-mars-stroke:before {
  content: "\F229";
}

.fa-mars-stroke-v:before {
  content: "\F22A";
}

.fa-mars-stroke-h:before {
  content: "\F22B";
}

.fa-neuter:before {
  content: "\F22C";
}

.fa-genderless:before {
  content: "\F22D";
}

.fa-facebook-official:before {
  content: "\F230";
}

.fa-pinterest-p:before {
  content: "\F231";
}

.fa-whatsapp:before {
  content: "\F232";
}

.fa-server:before {
  content: "\F233";
}

.fa-user-plus:before {
  content: "\F234";
}

.fa-user-times:before {
  content: "\F235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\F236";
}

.fa-viacoin:before {
  content: "\F237";
}

.fa-train:before {
  content: "\F238";
}

.fa-subway:before {
  content: "\F239";
}

.fa-medium:before {
  content: "\F23A";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "\F23B";
}

.fa-optin-monster:before {
  content: "\F23C";
}

.fa-opencart:before {
  content: "\F23D";
}

.fa-expeditedssl:before {
  content: "\F23E";
}

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\F240";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\F241";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "\F242";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\F243";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\F244";
}

.fa-mouse-pointer:before {
  content: "\F245";
}

.fa-i-cursor:before {
  content: "\F246";
}

.fa-object-group:before {
  content: "\F247";
}

.fa-object-ungroup:before {
  content: "\F248";
}

.fa-sticky-note:before {
  content: "\F249";
}

.fa-sticky-note-o:before {
  content: "\F24A";
}

.fa-cc-jcb:before {
  content: "\F24B";
}

.fa-cc-diners-club:before {
  content: "\F24C";
}

.fa-clone:before {
  content: "\F24D";
}

.fa-balance-scale:before {
  content: "\F24E";
}

.fa-hourglass-o:before {
  content: "\F250";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\F251";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\F252";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\F253";
}

.fa-hourglass:before {
  content: "\F254";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\F255";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\F256";
}

.fa-hand-scissors-o:before {
  content: "\F257";
}

.fa-hand-lizard-o:before {
  content: "\F258";
}

.fa-hand-spock-o:before {
  content: "\F259";
}

.fa-hand-pointer-o:before {
  content: "\F25A";
}

.fa-hand-peace-o:before {
  content: "\F25B";
}

.fa-trademark:before {
  content: "\F25C";
}

.fa-registered:before {
  content: "\F25D";
}

.fa-creative-commons:before {
  content: "\F25E";
}

.fa-gg:before {
  content: "\F260";
}

.fa-gg-circle:before {
  content: "\F261";
}

.fa-tripadvisor:before {
  content: "\F262";
}

.fa-odnoklassniki:before {
  content: "\F263";
}

.fa-odnoklassniki-square:before {
  content: "\F264";
}

.fa-get-pocket:before {
  content: "\F265";
}

.fa-wikipedia-w:before {
  content: "\F266";
}

.fa-safari:before {
  content: "\F267";
}

.fa-chrome:before {
  content: "\F268";
}

.fa-firefox:before {
  content: "\F269";
}

.fa-opera:before {
  content: "\F26A";
}

.fa-internet-explorer:before {
  content: "\F26B";
}

.fa-tv:before,
.fa-television:before {
  content: "\F26C";
}

.fa-contao:before {
  content: "\F26D";
}

.fa-500px:before {
  content: "\F26E";
}

.fa-amazon:before {
  content: "\F270";
}

.fa-calendar-plus-o:before {
  content: "\F271";
}

.fa-calendar-minus-o:before {
  content: "\F272";
}

.fa-calendar-times-o:before {
  content: "\F273";
}

.fa-calendar-check-o:before {
  content: "\F274";
}

.fa-industry:before {
  content: "\F275";
}

.fa-map-pin:before {
  content: "\F276";
}

.fa-map-signs:before {
  content: "\F277";
}

.fa-map-o:before {
  content: "\F278";
}

.fa-map:before {
  content: "\F279";
}

.fa-commenting:before {
  content: "\F27A";
}

.fa-commenting-o:before {
  content: "\F27B";
}

.fa-houzz:before {
  content: "\F27C";
}

.fa-vimeo:before {
  content: "\F27D";
}

.fa-black-tie:before {
  content: "\F27E";
}

.fa-fonticons:before {
  content: "\F280";
}

.fa-reddit-alien:before {
  content: "\F281";
}

.fa-edge:before {
  content: "\F282";
}

.fa-credit-card-alt:before {
  content: "\F283";
}

.fa-codiepie:before {
  content: "\F284";
}

.fa-modx:before {
  content: "\F285";
}

.fa-fort-awesome:before {
  content: "\F286";
}

.fa-usb:before {
  content: "\F287";
}

.fa-product-hunt:before {
  content: "\F288";
}

.fa-mixcloud:before {
  content: "\F289";
}

.fa-scribd:before {
  content: "\F28A";
}

.fa-pause-circle:before {
  content: "\F28B";
}

.fa-pause-circle-o:before {
  content: "\F28C";
}

.fa-stop-circle:before {
  content: "\F28D";
}

.fa-stop-circle-o:before {
  content: "\F28E";
}

.fa-shopping-bag:before {
  content: "\F290";
}

.fa-shopping-basket:before {
  content: "\F291";
}

.fa-hashtag:before {
  content: "\F292";
}

.fa-bluetooth:before {
  content: "\F293";
}

.fa-bluetooth-b:before {
  content: "\F294";
}

.fa-percent:before {
  content: "\F295";
}

.fa-gitlab:before {
  content: "\F296";
}

.fa-wpbeginner:before {
  content: "\F297";
}

.fa-wpforms:before {
  content: "\F298";
}

.fa-envira:before {
  content: "\F299";
}

.fa-universal-access:before {
  content: "\F29A";
}

.fa-wheelchair-alt:before {
  content: "\F29B";
}

.fa-question-circle-o:before {
  content: "\F29C";
}

.fa-blind:before {
  content: "\F29D";
}

.fa-audio-description:before {
  content: "\F29E";
}

.fa-volume-control-phone:before {
  content: "\F2A0";
}

.fa-braille:before {
  content: "\F2A1";
}

.fa-assistive-listening-systems:before {
  content: "\F2A2";
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\F2A3";
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\F2A4";
}

.fa-glide:before {
  content: "\F2A5";
}

.fa-glide-g:before {
  content: "\F2A6";
}

.fa-signing:before,
.fa-sign-language:before {
  content: "\F2A7";
}

.fa-low-vision:before {
  content: "\F2A8";
}

.fa-viadeo:before {
  content: "\F2A9";
}

.fa-viadeo-square:before {
  content: "\F2AA";
}

.fa-snapchat:before {
  content: "\F2AB";
}

.fa-snapchat-ghost:before {
  content: "\F2AC";
}

.fa-snapchat-square:before {
  content: "\F2AD";
}

.fa-pied-piper:before {
  content: "\F2AE";
}

.fa-first-order:before {
  content: "\F2B0";
}

.fa-yoast:before {
  content: "\F2B1";
}

.fa-themeisle:before {
  content: "\F2B2";
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\F2B3";
}

.fa-fa:before,
.fa-font-awesome:before {
  content: "\F2B4";
}

.fa-handshake-o:before {
  content: "\F2B5";
}

.fa-envelope-open:before {
  content: "\F2B6";
}

.fa-envelope-open-o:before {
  content: "\F2B7";
}

.fa-linode:before {
  content: "\F2B8";
}

.fa-address-book:before {
  content: "\F2B9";
}

.fa-address-book-o:before {
  content: "\F2BA";
}

.fa-vcard:before,
.fa-address-card:before {
  content: "\F2BB";
}

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\F2BC";
}

.fa-user-circle:before {
  content: "\F2BD";
}

.fa-user-circle-o:before {
  content: "\F2BE";
}

.fa-user-o:before {
  content: "\F2C0";
}

.fa-id-badge:before {
  content: "\F2C1";
}

.fa-drivers-license:before,
.fa-id-card:before {
  content: "\F2C2";
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\F2C3";
}

.fa-quora:before {
  content: "\F2C4";
}

.fa-free-code-camp:before {
  content: "\F2C5";
}

.fa-telegram:before {
  content: "\F2C6";
}

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\F2C7";
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\F2C8";
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\F2C9";
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\F2CA";
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\F2CB";
}

.fa-shower:before {
  content: "\F2CC";
}

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\F2CD";
}

.fa-podcast:before {
  content: "\F2CE";
}

.fa-window-maximize:before {
  content: "\F2D0";
}

.fa-window-minimize:before {
  content: "\F2D1";
}

.fa-window-restore:before {
  content: "\F2D2";
}

.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\F2D3";
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\F2D4";
}

.fa-bandcamp:before {
  content: "\F2D5";
}

.fa-grav:before {
  content: "\F2D6";
}

.fa-etsy:before {
  content: "\F2D7";
}

.fa-imdb:before {
  content: "\F2D8";
}

.fa-ravelry:before {
  content: "\F2D9";
}

.fa-eercast:before {
  content: "\F2DA";
}

.fa-microchip:before {
  content: "\F2DB";
}

.fa-snowflake-o:before {
  content: "\F2DC";
}

.fa-superpowers:before {
  content: "\F2DD";
}

.fa-wpexplorer:before {
  content: "\F2DE";
}

.fa-meetup:before {
  content: "\F2E0";
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

/* ===================================
   Thompson Funeral Home - Styles
   Modern, Clean Design
   =================================== */

/* CSS Variables */
:root {
    /* Colors - Inspired by Dannel Funeral Home */
    --color-primary: #475D5A;
    --color-primary-dark: #3a4d4a;
    --color-secondary: #FAF8F5;
    --color-background: #FFFFFF;
    --color-text: #333333;
    --color-text-light: #666666;
    --color-accent: #8B7355;
    --color-gold: #D4AF37;
    --color-border: #E5E5E5;

    /* Typography */
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Roboto', sans-serif;

    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2rem;
    --spacing-xl: 3rem;
    --spacing-xxl: 4rem;

    /* Border Radius */
    --radius-sm: 5px;
    --radius-md: 10px;
    --radius-lg: 15px;

    /* Transitions */
    --transition: all 0.3s ease;
    --transition-slow: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.15s ease;

    /* Animation Timing */
    --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
    margin: 0;
    padding: 0;
    height: 100%;
}

body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text);
    background-color: var(--color-background);
    overflow-x: hidden;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100%;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

ul {
    list-style: none;
}

/* Container */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: var(--spacing-sm);
}

.section-heading {
    font-size: 2.5rem;
    color: var(--color-primary);
    margin-bottom: var(--spacing-md);
}

.section-subtitle {
    font-size: 1.125rem;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-xl);
}

.text-center {
    text-align: center;
}

.text-link {
    color: var(--color-primary);
    text-decoration: underline;
}

.text-link:hover {
    color: var(--color-primary-dark);
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 0.875rem 2rem;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    border: 2px solid transparent;
    border-radius: 50px;
    cursor: pointer;
    transition: var(--transition);
}

.btn-primary {
    background-color: transparent;
    color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.btn-primary:hover {
    background-color: var(--color-secondary);
    color: var(--color-primary);
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.btn-secondary:hover {
    background-color: var(--color-primary);
    color: var(--color-secondary);
}

/* Top Bar */
.top-bar {
    background-color: var(--color-primary);
    color: var(--color-secondary);
    padding: var(--spacing-xs) 0;
    font-size: 0.875rem;
}

.top-bar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.top-bar-left,
.top-bar-right {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.top-bar-link,
.top-bar-phone,
.top-bar-email {
    color: var(--color-secondary);
    opacity: 0.9;
}

.top-bar-link:hover,
.top-bar-phone:hover,
.top-bar-email:hover {
    opacity: 1;
}

/* Header - Modern Glassmorphic Design */
.header {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    z-index: 100;
    padding: var(--spacing-md) 0;
    transition: all 0.4s var(--ease-smooth);
}

.header.scrolled {
    top: 0;
    background: rgba(71, 93, 90, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0;
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(71, 93, 90, 0.85);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-radius: 60px;
    padding: 0.875rem var(--spacing-xl);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    transition: all 0.4s var(--ease-smooth);
}

.header.scrolled .header-content {
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    box-shadow: none;
}

.logo {
    display: block;
    transition: transform 0.3s var(--ease-smooth), opacity 0.3s ease;
}

.logo:hover {
    transform: scale(1.05);
    opacity: 0.9;
}

.logo-image {
    height: 45px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
    transition: all 0.3s ease;
}

.header.scrolled .logo-image {
    height: 38px;
}

.innerheader {
	position: initial;
	background: #425754 !important;
}

.breadcrump {
    background: #425754;
    padding: 0px 0px 20px;
    color: #fff;
}

/* Navigation - Modern Design */
.nav-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    cursor: pointer;
    padding: 8px 10px;
    transition: all 0.3s ease;
}

.nav-toggle:hover {
    background: rgba(255, 255, 255, 0.15);
}

.nav-toggle span {
    width: 25px;
    height: 2px;
    background-color: var(--color-secondary);
    transition: all 0.3s var(--ease-smooth);
    border-radius: 2px;
}


/* Hide email link on desktop - only show in mobile menu */
.mobile-only-email {
    display: none;
}

.nav-link {
    color: var(--color-secondary);
    font-weight: 400;
    font-size: 0.9375rem;
    position: relative;
    padding: 0.75rem var(--spacing-md);
    border-radius: 50px;
    transition: all 0.3s var(--ease-smooth);
    letter-spacing: 0.3px;
    display: inline-flex;
    align-items: center;
}

.nav-link::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.nav-link:hover::before {
    opacity: 1;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--color-secondary), var(--color-gold));
    transition: width 0.3s var(--ease-smooth);
    border-radius: 2px;
}

.nav-link:hover::after {
    width: 60%;
}

.nav-link:hover {
    color: var(--color-gold);
}

/* Hero Carousel Section - Enhanced Modern Design */
.hero-section {
    position: relative;
    background: linear-gradient(135deg, var(--color-primary) 0%, #3a4d4a 50%, var(--color-primary) 100%);
    min-height: 600px;
    overflow: hidden;
    padding-top: 40px;
}

/* Animated background pattern */
.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.03) 2px, transparent 0),
        radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.03) 2px, transparent 0);
    background-size: 100px 100px;
    animation: backgroundMove 20s linear infinite;
    pointer-events: none;
}

@keyframes backgroundMove {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 50px 50px;
    }
}

.carousel {
    position: relative;
    width: 100%;
    height: 100%;
}

.carousel-slide {
    display: none;
    padding: 8rem 0 4rem;
    min-height: 600px;
}

.carousel-slide.active {
    display: block;
    animation: fadeSlideIn 1s var(--ease-smooth);
}

@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.carousel-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xxl);
    align-items: center;
}

.carousel-text {
    color: var(--color-secondary);
}

.carousel-heading {
    font-size: 4rem;
    font-weight: 600;
    margin-bottom: var(--spacing-md);
    line-height: 1.1;
    background: linear-gradient(135deg, var(--color-secondary) 0%, rgba(250, 248, 245, 0.8) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: fadeInDown 0.8s var(--ease-smooth) 0.2s both;
}

.carousel-description, .carousel-text p {
    font-size: 1.125rem;
    line-height: 1.8;
    margin-bottom: var(--spacing-lg);
    opacity: 0.95;
    animation: fadeInUp 0.8s var(--ease-smooth) 0.4s both;
}

.carousel-text .btn {
    animation: fadeInUp 0.8s var(--ease-smooth) 0.6s both;
}

.carousel-image {
    position: relative;
    animation: fadeInRight 0.8s var(--ease-smooth) 0.3s both;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.carousel-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    transition: transform 0.8s ease-out;
    will-change: transform;
}

.carousel-slide.active .carousel-image img {
    animation: imageZoomIn 1.5s ease-out both;
}

@keyframes imageZoomIn {
    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1);
    }
}

/* Modern Glassmorphic Carousel Controls */
.carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--color-secondary);
    border: 1px solid rgba(255, 255, 255, 0.2);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s var(--ease-smooth);
    z-index: 10;
}

.carousel-control:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.carousel-prev {
    left: var(--spacing-lg);
}

.carousel-next {
    right: var(--spacing-lg);
}

/* Modern Pill-Style Carousel Indicators */
.carousel-indicators {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 10px 15px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    margin-top: var(--spacing-xxl);
	right: unset;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
}

.carousel-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.4);
    border: none;
    cursor: pointer;
    transition: all 0.3s var(--ease-smooth);
}

.carousel-indicator.active {
    width: 24px;
    border-radius: 4px;
    background-color: var(--color-secondary);
}

.carousel-indicator:hover {
    background-color: rgba(255, 255, 255, 0.7);
}



/* About Section - Modern Elegant Design */
.about-section {
    padding: calc(var(--spacing-xxl) * 1.5) 0;
    background: linear-gradient(135deg, #FAF8F5 0%, #F5F2ED 100%);
    position: relative;
    overflow: hidden;
}

.about-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(71, 93, 90, 0.02) 1px, transparent 1px),
        radial-gradient(circle at 80% 70%, rgba(212, 175, 55, 0.02) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events: none;
}

/* About Header */
.about-header {
    text-align: center;
    margin-bottom: var(--spacing-xxl);
    position: relative;
    z-index: 1;
}

.section-label {
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-primary);
    margin-bottom: var(--spacing-sm);
    opacity: 0.8;
}

.section-heading-modern {
    font-size: 3rem;
    font-family: var(--font-heading);
    color: var(--color-primary);
    margin-bottom: var(--spacing-md);
    font-weight: 600;
    letter-spacing: -0.5px;
}

.section-divider-modern {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
}

.divider-dot {
    width: 6px;
    height: 6px;
    background: var(--color-gold);
    border-radius: 50%;
}

.divider-line-modern {
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-primary), transparent);
}

/* About Content */
.about-content-modern {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(var(--spacing-xxl) * 1.5);
    align-items: center;
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}

/* About Image */
.about-image-wrapper {
    position: relative;
}

.about-image-frame {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    transition: transform 0.5s var(--ease-smooth), box-shadow 0.5s var(--ease-smooth);
}

.about-image-frame:hover {
    transform: translate3d(0, -10px, 0);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
}

.about-image-frame img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    display: block;
    transition: transform 0.8s ease-out;
    will-change: transform;
}

.about-image-frame:hover img {
    transform: scale3d(1.05, 1.05, 1);
}

.about-image-decoration {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 150px;
    height: 150px;
    border: 3px solid var(--color-gold);
    border-radius: var(--radius-lg);
    opacity: 0.3;
    z-index: -1;
}

/* About Text */
.about-text-modern {
    padding: var(--spacing-xl);
}

.about-intro, .about-text-modern h5 {
    font-size: 1.25rem;
    line-height: 1.8;
    color: var(--color-text);
    margin-bottom: var(--spacing-lg);
    font-weight: 400;
}

.highlight-year, .about-text-modern h5 strong {
    font-weight: 700;
    color: var(--color-primary);
    font-size: 1.35rem;
    position: relative;
}

.highlight-year::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 0;
    height: 8px;
    background: linear-gradient(90deg, rgba(212, 175, 55, 0.2), rgba(212, 175, 55, 0.4));
    z-index: -1;
    border-radius: 2px;
}

.about-description {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-md);
}

.about-contact-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: 1rem 2rem;
    background: linear-gradient(135deg, var(--color-primary) 0%, #3a4d4a 100%);
    color: var(--color-secondary);
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.0625rem;
    margin-top: var(--spacing-lg);
    box-shadow: 0 10px 30px rgba(71, 93, 90, 0.3);
    transition: all 0.3s var(--ease-smooth);
    position: relative;
    overflow: hidden;
}

.about-contact-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.about-contact-btn:hover::before {
    width: 300px;
    height: 300px;
}

.about-contact-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(71, 93, 90, 0.4);
}

.about-contact-btn svg {
    flex-shrink: 0;
}

/* Obituaries Section - Modern Card Design */
.obituaries-section {
    padding: var(--spacing-xxl) 0;
    background: linear-gradient(135deg, #FFFFFF 0%, #FAF8F5 100%);
    position: relative;
    overflow: hidden;
}

.obituaries-section .section-label {
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-primary);
    margin-bottom: var(--spacing-sm);
    opacity: 0.8;
    text-align: center;
}

.obituaries-section .section-heading {
    font-size: 3rem;
    margin-bottom: var(--spacing-md);
}

.obituaries-section .section-divider-modern {
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

/* Services Section - Modern Fluid Design */
.services-section {
    padding: var(--spacing-xxl) 0 calc(var(--spacing-xxl) * 1.5);
    background: linear-gradient(135deg, #FAF8F5 0%, #F5F2ED 100%);
    position: relative;
    overflow: hidden;
}

/* Decorative background pattern */
.services-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 20px 20px, rgba(107, 127, 92, 0.03) 2px, transparent 0);
    background-size: 40px 40px;
    pointer-events: none;
}

/* Services Header */
.services-header {
    margin-bottom: var(--spacing-xxl);
    text-align: center;
}

.services-header .section-label {
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-primary);
    margin-bottom: var(--spacing-sm);
    opacity: 0.8;
}

.services-header .section-heading {
    font-size: 3rem;
    margin-bottom: var(--spacing-md);
}

.services-header .section-divider-modern {
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

/* Modern Services Grid */
.services-modern-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(275px, 1fr));
    gap: 2rem;
    margin-top: var(--spacing-xl);
    position: relative;
    z-index: 1;
}

/* Modern Service Card */
.service-modern-card {
    position: relative;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.4s ease;
    border: 1px solid rgba(255, 255, 255, 0.5);
    will-change: transform;
}

.service-modern-card:hover {
    transform: translate3d(0, -8px, 0) scale(1.02);
    box-shadow: 0 20px 60px rgba(107, 127, 92, 0.15);
    border-color: rgba(107, 127, 92, 0.3);
}

/* Image Wrapper */
.service-modern-image-wrapper {
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
}

.service-modern-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease-out;
    will-change: transform;
}

.service-modern-card:hover .service-modern-image {
    transform: scale3d(1.06, 1.06, 1);
}

/* Gradient Overlay */
.service-modern-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg,
            transparent 0%,
            transparent 40%,
            rgba(107, 127, 92, 0.3) 70%,
            rgba(107, 127, 92, 0.6) 100%);
    transition: opacity 0.4s ease;
}

.service-modern-card:hover .service-modern-overlay {
    background: linear-gradient(180deg,
            transparent 0%,
            transparent 30%,
            rgba(107, 127, 92, 0.4) 60%,
            rgba(107, 127, 92, 0.7) 100%);
}

/* Service Content */
.service-modern-content {
    padding: var(--spacing-lg);
    position: relative;
    z-index: 2;
}

.service-modern-title {
    font-size: 2rem;
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: var(--spacing-md);
    position: relative;
    display: inline-block;
}

.service-modern-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--color-primary), #D4AF37);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.service-modern-card:hover .service-modern-title::after {
    width: 60px;
}

.service-modern-description, .service-modern-content p {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-lg);
}

/* Modern Link with Arrow */
.service-modern-link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    color: var(--color-primary);
    font-weight: 600;
    font-size: 1.0625rem;
    transition: all 0.3s ease;
    position: relative;
}

.service-modern-link svg {
    transition: transform 0.3s ease;
}

.service-modern-link:hover {
    color: #D4AF37;
    gap: var(--spacing-sm);
}

.service-modern-link:hover svg {
    transform: translateX(5px);
}

/* Glow Effect */
.service-modern-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle,
            rgba(212, 175, 55, 0.1) 0%,
            transparent 70%);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.service-modern-card:hover .service-modern-glow {
    opacity: 1;
}

/* View All Services Button Enhancement */
.btn-services-cta {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--color-primary) 0%, #5A6B4D 100%);
    color: var(--color-secondary);
    border: none;
    padding: 1rem 2.5rem;
    font-weight: 600;
    transition: all 0.4s ease;
}

.btn-services-cta::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.btn-services-cta:hover::before {
    width: 300px;
    height: 300px;
}

.btn-services-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(107, 127, 92, 0.3);
}


/* Obituaries Section - Modern Glassmorphic Design */
.obituaries-section {
    padding: var(--spacing-xxl) 0;
    background: linear-gradient(135deg, #FFFFFF 0%, #FAF8F5 100%);
    position: relative;
}

.obituaries-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 40px 40px, rgba(71, 93, 90, 0.02) 2px, transparent 0);
    background-size: 80px 80px;
    pointer-events: none;
}

/* Obituaries Carousel */
.obituaries-carousel {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 80px;
}

.obituaries-wrapper {
    overflow: hidden;
    padding: 20px 20px 30px 20px;
    margin: -20px -20px -30px -20px;
}

.obituaries-track {
    display: flex;
    gap: 1.5rem;
    transition: transform 0.5s var(--ease-smooth);
}

.obituaries-carousel .obituary-card {
    flex: 0 0 calc((100% - 3rem) / 3);
    min-width: 0;
}

/* Obituary Navigation Controls */
.obituary-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s var(--ease-smooth);
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.obituary-control:hover {
    background: var(--color-primary);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.obituary-control:hover svg {
    stroke: white;
}

.obituary-control svg {
    stroke: var(--color-primary);
    transition: stroke 0.3s ease;
}

.obituary-prev {
    left: -60px;
}

.obituary-next {
    right: -60px;
}

/* Obituary Indicators */
.obituary-indicators {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: var(--spacing-xl);
}

.obituary-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--color-primary);
    background: transparent;
    cursor: pointer;
    transition: all 0.3s var(--ease-smooth);
    padding: 0;
}

.obituary-indicator.active,
.obituary-indicator:hover {
    background: var(--color-primary);
}

.obituaries-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-lg);
    margin-top: var(--spacing-xl);
    position: relative;
    z-index: 1;
}

.obituary-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: transform 0.4s var(--ease-smooth), box-shadow 0.4s var(--ease-smooth), border-color 0.4s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.6);
    position: relative;
    will-change: transform;
}

.obituary-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(71, 93, 90, 0.05) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.obituary-card:hover::before {
    opacity: 1;
}

.obituary-card:hover {
    transform: translate3d(0, -10px, 0) scale(1.01);
    box-shadow: 0 20px 60px rgba(71, 93, 90, 0.15);
    border-color: rgba(71, 93, 90, 0.3);
}

.obituary-image {
    width: 100%;
    height: 350px;
    overflow: hidden;
    position: relative;
}

.obituary-image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.obituary-card:hover .obituary-image::after {
    opacity: 1;
}

.obituary-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    transition: transform 0.8s ease-out;
    will-change: transform;
}

.obituary-card:hover .obituary-image img {
    transform: scale3d(1.06, 1.06, 1);
}

.obituary-content {
    padding: var(--spacing-md);
    background: rgba(255, 255, 255, 0.9);
}

.obituary-name {
    font-size: 1.5rem;
    color: var(--color-primary);
    margin-bottom: var(--spacing-xs);
    position: relative;
    display: inline-block;
}

.obituary-name::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-gold));
    transition: width 0.4s var(--ease-smooth);
}

.obituary-card:hover .obituary-name::after {
    width: 100%;
}

.obituary-dates {
    font-size: 0.875rem;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-sm);
    font-style: italic;
}

.obituary-excerpt {
    font-size: 0.9375rem;
    color: var(--color-text-light);
    line-height: 1.6;
    margin-bottom: var(--spacing-md);
}

.obituary-link {
    color: var(--color-primary);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all 0.3s ease;
}

.obituary-link::after {
    content: '→';
    transition: transform 0.3s ease;
}

.obituary-link:hover {
    color: var(--color-gold);
    gap: 10px;
}

.obituary-link:hover::after {
    transform: translateX(5px);
}

/* Newsletter & Flowers Section - Modern Compact Design */
.newsletter-section {
    background: linear-gradient(135deg, var(--color-primary) 0%, #3a4d4a 100%);
    padding: calc(var(--spacing-xxl) * 1.5) 0;
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

.newsletter-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle at 50px 50px, rgba(255, 255, 255, 0.05) 2px, transparent 0);
    background-size: 100px 100px;
    pointer-events: none;
}

.newsletter-grid-modern {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
    position: relative;
    z-index: 1;
    align-items: stretch;
}

/* Newsletter Box - Left Side */
.newsletter-box-modern {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: var(--spacing-xl);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transition: transform 0.4s var(--ease-smooth), box-shadow 0.4s var(--ease-smooth);
    display: flex;
    flex-direction: column;
}

.newsletter-box-modern:hover {
    transform: translate3d(0, -5px, 0);
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.4);
}

.newsletter-content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.newsletter-icon-modern {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-secondary);
    margin-bottom: var(--spacing-md);
}

.newsletter-heading-modern {
    font-size: 2rem;
    color: var(--color-secondary);
    margin-bottom: var(--spacing-sm);
    font-weight: 600;
}

.newsletter-text-modern, .newsletter-content-wrapper p {
    color: rgba(250, 248, 245, 0.9);
    margin-bottom: auto;
    font-size: 1rem;
    line-height: 1.6;
}

.newsletter-form-modern {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.newsletter-input-modern {
    width: 100%;
    padding: 0.875rem var(--spacing-md);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    font-family: var(--font-body);
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.95);
    transition: all 0.3s var(--ease-smooth);
    color: var(--color-text);
}

.newsletter-input-modern::placeholder {
    color: rgba(51, 51, 51, 0.5);
}

.newsletter-input-modern:focus {
    outline: none;
    border-color: var(--color-secondary);
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}

.btn-newsletter-modern {
    width: 100%;
    padding: 0.875rem var(--spacing-lg);
    background: var(--color-secondary);
    color: var(--color-primary);
    font-weight: 600;
    border: none;
    border-radius: 50px;
    font-size: 1rem;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.3s var(--ease-smooth);
}

.btn-newsletter-modern::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(71, 93, 90, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.btn-newsletter-modern:hover::before {
    width: 300px;
    height: 300px;
}

.btn-newsletter-modern:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* Flowers Box - Right Side */
.flowers-box-modern {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: var(--spacing-xl);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transition: transform 0.4s var(--ease-smooth), box-shadow 0.4s var(--ease-smooth);
    display: flex;
    flex-direction: column;
}

.flowers-box-modern:hover {
    transform: translate3d(0, -5px, 0);
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.4);
}

.flowers-heading-modern {
    font-size: 2rem;
    color: var(--color-secondary);
    margin-bottom: var(--spacing-xs);
    font-weight: 600;
}

.flowers-subtitle-modern, .flowers-box-modern p {
    color: rgba(250, 248, 245, 0.8);
    margin-bottom: var(--spacing-lg);
    font-size: 0.9375rem;
}

.florist-list-modern {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.florist-item-modern {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md);
    background: rgba(255, 255, 255, 0.05);
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s var(--ease-smooth);
}

.florist-item-modern:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateX(5px);
}

.florist-info {
    flex: 1;
}

.florist-name-modern {
    font-weight: 600;
    color: var(--color-secondary);
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

.florist-address-modern, .florist-item-modern p {
    font-size: 0.875rem;
    color: rgba(250, 248, 245, 0.7);
    line-height: 1.4;
}

.florist-phone-modern {
    color: var(--color-secondary);
    font-weight: 600;
    font-size: 0.9375rem;
    white-space: nowrap;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.florist-phone-modern:hover {
    background: var(--color-secondary);
    color: var(--color-primary);
    transform: scale(1.05);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Footer */
.footer {
    background-color: var(--color-primary);
    color: var(--color-secondary);
    padding: var(--spacing-xxl) 0 var(--spacing-lg);
    margin-bottom: 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
}

.footer-heading {
    font-size: 1.25rem;
    margin-bottom: var(--spacing-md);
    color: var(--color-secondary);
}

.footer-text {
    color: var(--color-secondary);
    opacity: 0.9;
    line-height: 1.8;
    margin-bottom: var(--spacing-sm);
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.footer-link {
    color: var(--color-secondary);
    opacity: 0.9;
    transition: var(--transition);
}

.footer-link:hover {
    opacity: 1;
    padding-left: 5px;
}

.footer-logo {
    height: 80px;
    width: auto;
    object-fit: contain;
    margin-bottom: var(--spacing-md);
}


.footer-bottom {
    padding-top: var(--spacing-lg);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    text-align: center;
}

.footer-copyright,
.footer-credit {
    color: var(--color-secondary);
    opacity: 0.8;
    font-size: 0.875rem;
    margin-bottom: var(--spacing-xs);
}
.column-2 .footer-heading {
	padding-left: 2rem;
}

/* Responsive Design */
@media (min-width: 1200px) {
	.nav-menu {
		display: flex;
		gap: 3rem;
		align-items: center;
		list-style: none;
		margin: 0;
		padding: 0;
		justify-content: end;
	}
	.top-each svg {
		margin-right: 18px !important;
	}
}
/* Tablet */
@media (max-width: 1199px) {
	nav.navbar button.navbar-toggler {
		position: absolute;
		top: -40px;
		right: 0px;
		border: 0;
	}
	.navbar-toggler-icon {
		background-image: none !important;
	}
	.navbar-toggler:focus {
		box-shadow: none !important;
	}
	nav.navbar button.navbar-toggler.collapsed span.navbar-toggler-icon:before {
		content: "\f0c9";
		display: inline-block;
		font-family: FontAwesome;
		font-size: 28px;
		color: #fff;
	}
	nav.navbar button.navbar-toggler span.navbar-toggler-icon:before {
		content: "\f00d";
		display: inline-block;
		font-family: FontAwesome;
		font-size: 28px;
		color: #fff;
	}
	.header-content {
		display: block;
	}
	ul.navbar-nav {
        margin: 20px 0;
        align-items: flex-start !important;
    }
	.navbar {
		padding: 0px;
	}
	.about-section {
		padding: 60px 0px !important;
	}
	.about-text-modern {
		padding: 0;
	}
	.loc_area iframe {
		width: 100%;
	}
	.carousel-slide {
		padding: 8rem 4rem 4rem;
	}
	.carousel-heading {
    	font-size: 3rem;
	}
}
@media (max-width: 768px) {
    .section-heading {
        font-size: 2rem;
    }

    .carousel-content {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
    }

    .carousel-heading {
        font-size: 2.5rem;
    }

    .carousel-image img {
        height: 350px;
    }

    .about-content {
        grid-template-columns: 1fr;
    }

    .about-content-modern {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl);
    }

    .about-text {
        padding-right: 0;
    }

    .about-text-content {
        padding-right: 0;
    }

    .about-image-wrapper {
        order: -1;
    }

    .newsletter-grid-modern {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl);
    }

    .florist-item-modern {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }

    .florist-phone-modern {
        margin-left: 0;
    }

    .obituaries-carousel {
        padding: 0 50px;
    }

    .obituaries-carousel .obituary-card {
        flex: 0 0 100%;
        min-width: 100%;
    }

    .obituary-control {
        width: 40px;
        height: 40px;
    }

    .obituary-prev {
        left: 5px;
    }

    .obituary-next {
        right: 5px;
    }

    .services-modern-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
    }

    .service-modern-image-wrapper {
        height: 300px;
    }

    .service-modern-title {
        font-size: 1.75rem;
    }

    .obituaries-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }

    .top-bar-content {
        flex-direction: row;
        gap: 0.5rem;
        justify-content: center;
		font-size: 14px;
    }
	
	.top-each svg {
		margin-right: 10px !important;
	}
	
	.top-bar-left, .top-bar-right {
		gap: 12PX;
	}
}

/* Mobile */
@media (max-width: 480px) {

    /* Hide email in top bar on mobile */
  /*  .top-bar-email,
    .email-icon-mobile,
    .top-bar-divider {
        display: none !important;
    } */ 

    /* Show email only in mobile menu */
    .mobile-only-email {
        display: block !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        margin-top: var(--spacing-sm);
        padding-top: var(--spacing-sm);
    }

    .top-bar-left,
    .top-bar-right {
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
    }

    .top-bar-address,
    .top-bar-phone {
        font-size: 0.75rem;
    }

    .top-bar-email {
        word-break: break-all;
        max-width: 100%;
    }

    .top-bar-divider {
        display: none;
    }

    .section-heading, .section-heading-modern {
        font-size: 1.75rem !important;
    }

    .carousel-heading {
        font-size: 2rem;
    }

    .carousel-description {
        font-size: 1rem;
    }

    .carousel-slide {
        padding: 6rem 0 3rem;
        min-height: 500px;
    }

    .carousel-image img {
        height: 300px;
    }

    .carousel-control {
        width: 40px;
        height: 40px;
		display: none;
    }

    .carousel-prev {
        left: var(--spacing-sm);
    }

    .carousel-next {
        right: var(--spacing-sm);
    }

    .obituary-image {
        height: 300px;
    }

    .newsletter-form {
        flex-direction: column;
    }

    .newsletter-input {
        width: 100%;
    }

    .top-bar-left,
    .top-bar-right {
        align-items: center;
        gap: var(--spacing-xs);
    }
	.loc_area iframe {
		width: 100%;
	}
	
	.header-content {
		padding: 20px;
	}
	
	.logo-image {
    	height: 28px !important;
	}
	nav.navbar button.navbar-toggler {
		top: -30px;
	}
	nav.navbar button.navbar-toggler.collapsed span.navbar-toggler-icon:before,
	nav.navbar button.navbar-toggler span.navbar-toggler-icon:before {
		font-size: 24px;
	}
	.header {
		top: 90px;
	}
	.top-each svg {
		margin-right: 6px !important;
	}
	.carousel-description, .carousel-text p {
    	font-size: 16px;
	}
	.about-section {
    	padding: 35px 10px 60px;
	}
	.about-image-frame img {
		height: 380px;
	}
	.about-text-modern {
		padding: 0;
	}
	.about-content-modern {
		gap: 2rem;
	}
	.about-contact-btn {
		margin-top: 1rem;
	}
	.about-contact-btn {
		width: 100%;
		justify-content: center;
	}
	.services-section, .newsletter-section {
    	padding: 60px 15px;
	}
	.newsletter-box-modern, .flowers-box-modern {
		padding: 28px;
	}
	.newsletter-form-modern {
		margin-top: 30px;
	}
	.footer {
		padding: 30px 0px;
	}
	.footer-text {
		font-size: 15px;
	}
	.footer-grid {
		gap: 2rem;
	}
	.column-2 .footer-heading, .footer-links {
		padding-left: 0px;
	}

}

/* Animations */
@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Scroll-Triggered Animation Classes */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s var(--ease-smooth), transform 0.8s var(--ease-smooth);
}

.animate-on-scroll.animated {
    opacity: 1;
    transform: translateY(0);
}

.fade-in {
    animation: fadeInUp 0.8s var(--ease-smooth) forwards;
}

.slide-in-left {
    animation: slideInLeft 0.8s var(--ease-smooth) forwards;
}

.slide-in-right {
    animation: slideInRight 0.8s var(--ease-smooth) forwards;
}

.scale-in {
    animation: scaleIn 0.6s var(--ease-smooth) forwards;
}

/* Stagger Animation Delays */
.stagger-1 {
    animation-delay: 0.1s;
}

.stagger-2 {
    animation-delay: 0.2s;
}

.stagger-3 {
    animation-delay: 0.3s;
}

.stagger-4 {
    animation-delay: 0.4s;
}

.stagger-5 {
    animation-delay: 0.5s;
}

.stagger-6 {
    animation-delay: 0.6s;
}

/* Loading States */
img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.3s;
}

img[loading="lazy"].loaded {
    opacity: 1;
}

/* Page Loader */
.page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.page-loader.hidden {
    opacity: 0;
    visibility: hidden;
}

.loader-spinner {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: var(--color-secondary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.container-fluid.page_inner {
    min-height: 400px;
}
.ob_main p, .services-header p {
	font-size: 1.125rem;
    color: var(--color-text-light);
    margin-bottom: var(--spacing-xl);
}
.newsletter-content-wrapper .alert p {
	color: #000 !important;
}
.grecaptcha-badge {
	bottom: 125px !important;
	z-index: 99999 !important;
}
.scroll-to-top {
	right: 10px !important;
}

#mainmenu .navbar-nav .nav-link.active {
	color: #d4af37 !important;
}
#mainmenu .navbar-nav .nav-link.active::after {
	display: block;
	width: 60%;
}


:root {
	--tf-obituary-primary: #425754;
	--tf-obituary-accent: #d4af37;
	--tf-obituary-accent-dark: #b8952e;
	--tf-obituary-surface: #ffffff;
	--tf-obituary-surface-soft: #f7f5ef;
	--tf-obituary-border: #d9ddd5;
	--tf-obituary-text: #2f3d3b;
	--tf-obituary-muted: #667572;
	--tf-obituary-danger: #a64040;
	--tf-obituary-danger-dark: #843333;
	--tf-obituary-shadow: 0 16px 32px rgba(66, 87, 84, 0.08);
}
#obituary-module,
#obituary-home-module {
	padding: 45px 0;
	background: linear-gradient(135deg, #FAF8F5 0%, #F5F2ED 100%);
}
.tf-obituary-panel {
	/* background: var(--tf-obituary-surface); */
	/* border: 1px solid var(--tf-obituary-border);
	border-radius: 12px;
	box-shadow: var(--tf-obituary-shadow); */
	/* padding: 24px; */
}
.tf-obituary-panel-compact {
	padding: 20px;
}
.tf-obituary-page-title {
	margin: 0 0 16px;
	color: var(--tf-obituary-primary);
	font-weight: 700;
}
.tf-obituary-page-title-detail {
	margin-bottom: 8px;
}
.tf-obituary-page-intro {
	color: var(--tf-obituary-muted);
	margin-bottom: 16px;
}
.tf-obituary-search-form {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}
.tf-obituary-search-input {
	flex: 1;
}
.tf-obituary-grid-item,
.tf-obituary-home-grid-item {
	margin-bottom: 35px;
}
.tf-obituary-card,
.tf-obituary-home-card,
.tf-obituary-service-card {
	background: var(--tf-obituary-surface);
	border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 15px;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
.tf-obituary-card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tf-obituary-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(66, 87, 84, 0.14);
}
.tf-obituary-card-image {
	width: 100%;
	height: 180px;
	border-radius: 8px;
	object-fit: cover;
	margin-bottom: 10px;
}
.tf-obt-image {
    width: 100%;
    height: 350px;
    overflow: hidden;
    position: relative;
}
.tf-obituary-card-image {
    margin-bottom: 10px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    transition: transform 0.8s ease-out;
    will-change: transform;
}
.obt-content {
	padding: 25px;
}
.tf-obituary-card-name,
.tf-obituary-home-card-name {
	color: var(--tf-obituary-primary);
	margin: 0 0 6px;
	font-weight: 700;
}
.tf-obituary-card-dates,
.tf-obituary-home-card-dates,
.tf-obituary-detail-dates,
.tf-obituary-guestbook-date {
	color: var(--tf-obituary-muted);
	font-size: 13px;
	margin-bottom: 8px;
}
.tf-obituary-card-description {
	margin-bottom: 14px;
	min-height: 80px;
	color: var(--tf-obituary-text);
}
.tf-obituary-home-card-link,
.tf-obituary-snippet-nav-link,
.tf-obituary-snippet-all-link,
.tf-obituary-print-links a {
	color: var(--tf-obituary-primary);
	font-weight: 600;
	text-decoration: none;
}
.tf-obituary-home-card-link:hover,
.tf-obituary-snippet-nav-link:hover,
.tf-obituary-snippet-all-link:hover,
.tf-obituary-print-links a:hover {
	color: var(--tf-obituary-accent-dark);
}
.tf-obituary-pagination {
	margin-top: 20px;
	text-align: center;
	display: flex;
	justify-content: center;
}
.tf-obituary-empty-state {
	margin: 12px 0 0;
	color: var(--tf-obituary-primary);
}
.tf-obituary-snippet-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}
.tf-obituary-snippet-title {
	margin: 0;
	color: var(--tf-obituary-primary);
}
.tf-obituary-snippet-search {
	display: flex;
	align-items: center;
	gap: 10px;
}
.tf-obituary-snippet-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 8px;
}
.tf-obituary-snippet-footer-slot {
	min-width: 80px;
}
.tf-obituary-snippet-footer-slot-right {
	text-align: right;
}
.tf-obituary-detail-header {
	margin-bottom: 16px;
}
.tf-obituary-detail-image {
	width: 100%;
	max-width: 280px;
	border-radius: 10px;
	border: 1px solid var(--tf-obituary-border);
	margin-bottom: 12px;
}
.tf-obituary-section-title {
	color: var(--tf-obituary-primary);
	margin: 0 0 14px;
}
.tf-obituary-detail-description,
.tf-obituary-table-message,
.tf-obituary-guestbook-message {
	white-space: pre-line;
	word-break: break-word;
}
.tf-obituary-print-links {
	margin-top: 14px;
}
.tf-obituary-print-separator {
	margin: 0 6px;
	color: var(--tf-obituary-muted);
}
.tf-obituary-divider {
	border-top: 1px solid var(--tf-obituary-border);
	margin: 22px 0;
}
.tf-obituary-service-col {
	margin-bottom: 14px;
}
.tf-obituary-service-title {
	margin: 0 0 8px;
	color: var(--tf-obituary-primary);
}
.tf-obituary-service-date,
.tf-obituary-service-time,
.tf-obituary-service-location {
	margin: 0 0 8px;
}
.tf-obituary-guestbook-item {
	padding: 12px 0;
	border-bottom: 1px solid var(--tf-obituary-border);
}
.tf-obituary-guestbook-item:last-child {
	border-bottom: 0;
}
.tf-obituary-guestbook-name {
	color: var(--tf-obituary-primary);
}
.tf-obituary-form label {
	color: var(--tf-obituary-primary);
	font-weight: 600;
}
.tf-obituary-form .form-control {
	border: 1px solid var(--tf-obituary-border);
	border-radius: 8px;
	padding: 10px 12px;
	min-height: 42px;
	color: var(--tf-obituary-text);
}
.tf-obituary-form textarea.form-control {
	min-height: auto;
}
.tf-obituary-form .form-control:focus {
	border-color: var(--tf-obituary-accent);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}
.tf-obituary-extra-field-wrap {
	display: none;
}
.tf-obituary-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: 8px;
	padding: 9px 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: all 0.2s ease;
}
.tf-obituary-btn-primary {
	background: var(--tf-obituary-accent);
	border-color: var(--tf-obituary-accent);
	color: var(--tf-obituary-primary);
}
.tf-obituary-btn-primary:hover,
.tf-obituary-btn-primary:focus {
	background: var(--tf-obituary-accent-dark);
	border-color: var(--tf-obituary-accent-dark);
	color: #ffffff;
}
.tf-obituary-btn-secondary {
	background: var(--tf-obituary-primary);
	border-color: var(--tf-obituary-primary);
	color: #ffffff;
}
.tf-obituary-btn-secondary:hover,
.tf-obituary-btn-secondary:focus {
	background: #354744;
	border-color: #354744;
	color: #ffffff;
}
.tf-obituary-btn-danger {
	background: var(--tf-obituary-danger);
	border-color: var(--tf-obituary-danger);
	color: #ffffff;
}
.tf-obituary-btn-danger:hover,
.tf-obituary-btn-danger:focus {
	background: var(--tf-obituary-danger-dark);
	border-color: var(--tf-obituary-danger-dark);
	color: #ffffff;
}
.tf-obituary-btn-xs {
	padding: 5px 10px;
	font-size: 12px;
}
.tf-obituary-admin-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}
.tf-obituary-admin-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.tf-obituary-form-image-wrap {
	margin-bottom: 10px;
}
.tf-obituary-form-image {
	max-width: 220px;
	width: 100%;
	border: 1px solid var(--tf-obituary-border);
	border-radius: 8px;
}
.tf-obituary-table-wrap {
	overflow: auto;
}
.tf-obituary-table > thead > tr > th {
	background: var(--tf-obituary-surface-soft);
	color: var(--tf-obituary-primary);
	border-bottom: 2px solid var(--tf-obituary-border);
	vertical-align: middle;
}
.tf-obituary-table > tbody > tr > td {
	vertical-align: middle;
}
.tf-obituary-table-empty {
	text-align: center;
	color: var(--tf-obituary-muted);
}
.tf-obituary-table-message-head {
	min-width: 320px;
}
.tf-obituary-admin-thumb {
	height: 72px;
	width: auto;
	max-width: 120px;
	border-radius: 6px;
	object-fit: cover;
}
.tf-obituary-inline-form {
	display: inline-block;
	margin-left: 6px;
}
.tf-obituary-status-message {
	color: var(--tf-obituary-text);
	font-size: 18px;
	margin: 0;
}
.tf-obituary-error-row {
	min-height: 500px;
}
.tf-obituary-error-card {
	max-width: 620px;
	margin: 0 auto;
	padding: 28px 22px;
	border: 1px solid var(--tf-obituary-border);
	border-radius: 12px;
	background: var(--tf-obituary-surface);
	box-shadow: var(--tf-obituary-shadow);
}
.tf-obituary-error-title {
	margin: 0 0 8px;
	color: var(--tf-obituary-primary);
}
.tf-obituary-error-text {
	margin: 0;
	color: var(--tf-obituary-muted);
}
/* pagination */
.active>.page-link, .page-link.active {
	background-color: #475d5a;
    border-color: #475d5a;
}
.page-link {
	color: #475d5a;
}
.page-link:focus {
	box-shadow: none !important;
}
.tf-obituary-form .tf-obituary-btn {
    margin-top: 15px;
}
.tf-obituary-search-form ..form-control {
	height: 42px;
}
.tf-obituary-card .tf-obituary-btn {
	background: linear-gradient(135deg, var(--color-primary) 0%, #3a4d4a 100%);
    border-color: var(--tf-obituary-primary);
    color: #ffffff;
    border-radius: 50px;
	padding: 9px 20px;
}
.tf-obituary-card .tf-obituary-btn:hover {
	background: transparent;
	color: var(--tf-obituary-primary);
}
a.obituary-action-btn.obituary-action-primary.memorial_video_link {
    margin-top: 30px;
    max-width: 250px;
}
.tf-obt-tabs a.fundafamily-button {
	display: inline-block;
}
.tf-obt-tabs a.fundafamily-button:hover {
	transform: translateY(4px);
}
.tf-obt-tabs a.fundafamily-button img {
	width: 240px;
}
@media (max-width: 991px) {
	.tf-obituary-admin-header,
	.tf-obituary-snippet-header,
	.tf-obituary-snippet-footer {
		flex-direction: column;
		align-items: stretch;
	}
	.tf-obituary-snippet-footer-slot,
	.tf-obituary-snippet-footer-slot-right {
		text-align: left;
	}
	.tf-obituary-search-form,
	.tf-obituary-snippet-search {
		flex-direction: column;
		align-items: stretch;
	}
}
@media (max-width: 767px) {
	#obituary-module,
	#obituary-home-module {
		padding: 20px 0;
	}
	.tf-obituary-panel {
		padding: 16px;
	}
}
