body {
    font-family: 'MontserratRegular', sans-serif; /* Apply the custom font, with a fallback */    
}

header {    
    position: relative;
}
header .navigation {
    background-color: rgba(0, 0, 0, 0.70);
    position: fixed;
    z-index: 11;
    border-bottom: 2px solid #fff;
    width: 100%;
    padding: 5px 0 0 0;
}
header .banner {
    position: relative;
    top: -65px;
}
#logo { 
    padding: 0px;
    margin-bottom: 5px;
}
p { font-family: 'MontserratRegular'; }
a.blue.link { color: #2b6e98; }
h1, h2, h3, h4, h5 {     
    font-family: 'MontserratRegular';
}
h1 { 
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
}
h2 {
    color: #000;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 3.5em;
}
h3 {
    font-size: 2em;
}
.content h2 {
    color: #000;
}
h1.page-title { 
    color: #000;
    margin-top: 40px;
}
h4 { 
    color: #000;
}
h5 { 
    font-size: 1.2em;
}
textarea { font-size: 1em; }
.sc {
    font-family: 'MontserratRegular';
}
#ui-id-1 {
    font-family: 'MontserratRegular';
    color: #000;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 2em;
}

.hide { display: none; }
.show { display: block; }
.p5 { padding: 5px; }
.tcenter { text-align: center; }
.tright { text-align: right; }
.nomargin { margin: 0 !important; }
.green { color: #014a81; }
.green:hover { color: #000000; }
form .button { background-color: #014a81; }
form .button:hover { background-color: #000000; }
.w30 { width: 30%; }
.mt30 { margin-top: 30px !important; }
.mt10 { margin-top: 10px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb0 { margin-bottom: 0; }
.w100 { width: 100%; }
.bgray { background: #eee; }
hr { margin: 5px 0 !important; }
.disabled { color: #999; }

.thumb.w100 { max-width: 100px; }
.button.blue { background-color: #1F173E; margin: 0; color: #fff; }
.button.blue.active { background-color: #fff; color: #1F173E; border-color: #1F173E; }
.button.red { background-color: #f55; margin: 0; }
.button.grey { background-color: #ccc; margin: 0; color: #000; }

.m0 { margin: 0 !important; }
.mt0 { margin-top: 0 !important; }
.mt100 { margin-top: 100px !important; }
.mr30 { margin-right: 30px !important; }
.mb100 { margin-bottom: 100px !important; }
.p30 { padding: 30px !important; }
#logo p { 
    margin: 0;
}
.button.blue {
    background-color: #1F173D;
    border-radius: 10px;
    font-size: 1.2em;
    padding: 20px 60px;
}
.button {
    background-color: #1F173D !important;
}

#main-wrapper {
    min-height: 400px;
}
#banner {
    background-image: url(/sites/default/files/2024-09/header.jpg);
    background-size: cover;
    background-position: center; 
    background-repeat: no-repeat;   
    /*margin-top: 65px;*/
}
.front-banner {
    background: none !important;
}
.front-banner h1 {
    font-size: 5.5em;
}
.my-story-icon { 
    width: 17px; 
    margin-right: 10px; 
    position: relative; 
    bottom: 3px; 
}
.my-life-body p { 
    position: relative; 
    font-size: 1.2em;
}
#banner.secondary { 
    height: 25vw;
    /*height: 350px;
    margin-top: 130px;*/
}
#banner .field.body {
    color:#fff;
    max-width: 97.5rem;
    margin:auto;
}
.accordion-title {
    font-size: 1rem;
}
#block-igd-page-title h1.page-title { 
    padding-top: 10vw;
    color: #fff;
}

#block-igd-mainnavigation ul.menu li a { 
    color: #fff;
    line-height: 40px;
    font-size: 1.2em;
}
footer { 
    background-color: #000;    
}
footer .footer p {
    color: #fff;
    margin:0;
    line-height: 40px;
    font-size: 1.2em;
}
footer .footer a {
    color: #fff;
    line-height: 40px;
}

.fp-banner { 
    position: relative;
}
.fp-banner-title {
    position: absolute;    
    color:#fff;
    width: 100%;
    text-align: center;
}
.fp-banner-title h3 {
    font-size: 2.5em;
}
.fp-banner-title.main { 
    top: 20vw;    
}
.fp-banner-title.main h2 { 
    color:#fff;
}
.fp-banner-title.sub {
    top: 26vw;  
    color: #fff;   
}
.fp-banner-title.sub h3 {
    color:#fff;
    font-weight: normal;
}
#block-igd-footerleft {
    padding: 10px 50px;
}
#block-igd-footercenter {
    padding: 10px;
}
#block-igd-footerright {
    padding: 10px;
}

#block-igd-mylifemyfamilymymemoriesforever .field.body {
    margin: 20px;
    background-color: #fff;
    box-shadow: 0 0 50px 2px #000;
    padding:30px;
    position: relative;
    top: -70px;
}
#block-igd-onerestingplaceforeveryfamily .field.body {
    margin: 20px;
    background-color: #fff;
    box-shadow: 0 0 50px 2px #000;
    padding:30px;
    position: relative;
    top: -70px;
}
.obituary-upper {
    display: flex;
    align-items: end;
    flex-flow: row wrap;
    margin-top: 3rem;
}
.obituary-photo img {
    border: 5px solid #fff;
    border-radius: 10px;
    box-shadow: 5px 5px 15px #646464;
}
.obituary-box {
    margin-bottom: 5rem;
    background: #fff;
    border-radius: 10px;
    border: 5px solid #fff;
    box-shadow: 5px 5px 15px #646464;
}
.obituary-box h4 {
    font-family: superclarendon;
}
.obituary-option article {
    border: 1px solid #000;
    border-radius: 30px;
    border-color: #E5E5E5;    
    margin-bottom: 30px;
    margin-top: 60px;
 }
 .obituary-option article .article-head {
    background-color: #ccc;    
    border-radius: 30px 30px 0 0;
    padding: 10px 80px 40px 80px;
    position: relative;
 }
 .obituary-option article .article-head-back {
    width: 0;
    height: 0;
    border-right: 20px solid transparent;
    border-top: 20px solid #000;
    transform: rotate(180deg);
    position: relative;
    top: -30px;
    left: -20px;
 }
 .obituary-option article .article-head .title {
    background-color: #1F173E;    
    padding: 20px 40px;
    text-align: center;
    margin-top: -50px;
 }
 .obituary-option article .article-head .title h2 {
    color: #fff;
    text-transform: uppercase;
    margin-top: 30px;
 }
 
 .obituary-option article .article-body {
    padding: 20px;
 }

 .obituary-option article .button {
    background-color: #1F173E;
    padding: 20px 40px;
    font-size: 1.2em;
 }

 .obituary-option .field.title {
    font-size: x-large;
    font-weight: bold;
 }

 .enroll.button {
    background-color: #1F173E;
    padding: 20px 40px;
    font-size: 1.2em;
 }

 .button.more { 
    padding: 20px 60px;
 }

.obituary-nav {
    box-shadow: 0px 8px 8px #e6e6e6;
    /*margin-top: 2rem;
    margin-bottom: 2rem;*/
    background: #fff;
    padding: 15px;
    display: flex;
    justify-content: center;
    width: 100%;
}
.obituary-nav a {
    border-bottom: none;
}
.obituary-nav .columns {
    text-align: center;
}
.obituary-teaser-wrapper { 
    margin-bottom: 30px;
}
.obituary-teaser-wrapper .obituary-name {
    text-align: center;
    padding: 10px 0 0 0;    
    font-weight: bold;
}
.obituary-teaser-wrapper .obituary-name h4 {
    margin: 0;
}
.obituary-teaser-wrapper .obituary-dates {
    text-align: left;
    padding: 5px 0;
    display: flex;
    justify-content: left;
}
.obituary-teaser-wrapper .obituary-dates div {
    display: inline;
}
.obituary-teaser-wrapper #photos img {
    border: 2px solid #dbdbdb;
}

.row.obituary { 
    position: relative; 
    top: -120px;
    z-index: 10;
}
.row.my-life { 
    position: relative; 
    top: -250px;
    z-index: 10;
}
.row.obituary h1 { 
    text-align: left;
}
.row.obituary .obituary-dates {
    text-align: left;
    /*color: #fff;*/
}
.row.obituary .obituary-announcement {
    position: relative;
    top: 10vw;
}
.row.obituary .about-title { 
    margin-top: -10px;
    margin-left: -10px;
}
.content-box {
    padding: 20px;
    box-shadow: 3px 3px 10px #d0d0d0;
    margin-top: 10px;
    margin-bottom: 10px;
    overflow: auto;
}
.content-box-home {
    border-radius: 15px;
    box-shadow: 3px 3px 10px #d0d0d0;
    margin-top: 10px;
    margin-bottom: 10px;
    overflow: auto;
    position: relative;
}
.content-box-home h3 {
    text-align: center;
    padding: 20px;
    line-height: 3.5;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.6em;
}
.content-box-home.service-129 h3 {
    line-height: 1.6;
    padding: 28px 0;
}
a.content-box {
    display: block;
}

.account-settings {
    margin-top: 50px;
}

.gallery-item { 
    position: relative;
}
.gallery-item img {
    border-radius: 20px;
    border: 5px solid #fff;
    box-shadow: 2px 2px 20px #999;
}

.gallery-overlay {
    display: none;
    position: absolute;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 30px;
    border-radius: 20px;
}
.gallery-overlay:hover {
    background-color: rgba(180, 180, 180, 0.7);
    color:#fff;
    display:block;
}
.gallery-item:hover .gallery-overlay{
    display: block;
}
.gallery-overlay .name {
    margin-top: 50px;
}

.service-overlay {
    display: none;
    position: absolute;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 30px;
}
.service-overlay p {
    color: #fff;
}
.service-overlay h3 {
    color: #fff;
    padding: 0;
    line-height: 2;
    border-bottom: 5px solid #fff;
    margin: 0 0 20px 0;
    line-height: 3;
}
.service-overlay .button {
    background-color: #fff !important;
    color: #1F173D !important;
    padding: 20px 60px;
    border-radius: 10px;
    font-size: 1.2em;
    font-weight: bold;
}
.service-129 .service-overlay {    
    line-height: 1.2;
}
.service-129 .service-overlay .button {
    margin:0;
}
.service-129 .service-overlay h3 {
    line-height: 1.1;    
    padding: 5px;
    margin-bottom: 10px;
}
.service-129 .service-overlay p {    
    margin-bottom: 10px;
}
.service-overlay:hover {
    background-color: #1F173D ;
    color:#fff;
    display:block;
}
.content-box-home:hover .service-overlay{
    display: block;
}

.block-views-blockservices-block-1 .content-box-home img {
    border-bottom: 3px solid #1F173D;
}
#block-igd-compareplans { 
    text-align: center;
    width: 100%; 
    float: left;
    clear: both;
    margin-top: 50px;
    margin-bottom: 100px;
}
#block-igd-views-block-services-description-block-1 .views-row { 
    margin-bottom: 50px; 
}
#block-igd-views-block-services-description-block-1 .views-row .field-description { 
    padding: 10px;
}
#block-igd-views-block-services-description-block-1 .views-row .start-now {
    padding: 15px 50px;
}
#block-igd-views-block-services-description-block-1 h3 { 
    font-weight: bold;
}



.node__title a { 
    color: #1F173E;
}
#user-nav {
    background-color: #fff;
    padding: 10px 0;
}
#user-nav a {
    display: block;
    padding: 10px;
    text-align: center;
    border: 1px solid #000;
}
#user-nav a:hover {
    background-color: #1F173E;
    color:#fff;
}
#secondary_menu {
    padding: 0;
}

#user-nav .button-disabled {
    background-color: #ccc;
    border:1px solid #ccc;
    padding: 10px;
    text-align: center;
}

#user-nav .button-disabled img {
    margin-left: 10px;
    height: 20px;
}
.profile-page .button-disabled {
    background-color: #ccc;
    border:1px solid #ccc;
    padding: 10px;
    text-align: center;
}

.profile-page .button-disabled img {
    margin-left: 10px;
    height: 20px;
}
.sidebar .button-disabled {
    background-color: #ccc;
    border:1px solid #ccc;
    padding: 5px;
    text-align: center;
}
/*
.profile-page .content-box {
    min-height: 220px;
    position: relative;    
}
.profile-page .content-box img {
    position: absolute;
}
.profile-page .content-box img:hover {
    width: 105%;
}
    */

.sidebar .button-disabled img {
    margin-left: 10px;
    height: 20px;
}
#webform-submission-contact-us-node-82-add-form {
    max-width: 800px;
    margin: 0 auto;
}
.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
}
#views-exposed-form-obituaries-block-1 .form-item {
    width: 14%;
    float: left;
    margin: 0 1%;
}
.obituary-search input:not(.button) {
    border: 2px solid #000;
}
.obituary-search .form-item-field-date-of-birth-value,
.obituary-search .form-item-field-date-of-death-value {
    width: 8% !important;
}
.obituary-search .obituary-photo img {
    width: 200px;
}
.obituary-search .obituary-photo img:hover {
    scale: 1.1;
    transition: all .5s linear;
}
.o-button {
    border: 5px solid #fff;
    border-radius: 10px;
    box-shadow: 5px 5px 15px #646464;
    padding: 5px;
}
.o-button:hover {
    border-bottom-color: transparent;
}

.manage-obituaries a.button-disabled {
    background-color: #ccc;
    border:1px solid #ccc;
    padding: 10px;
    text-align: center;
    border-radius: 4px;
    display: inline-block;
    line-height: 1;
    font-size: 0.85em;
}
.manage-obituaries a.button-disabled:hover {
    cursor: default;
    color: #000;
}
.manage-obituaries a.button { 
    margin: 0;
}
.manage-obituaries .obituary-item-title { 
    margin-top: 20px;
    text-align: center;
    font-weight: bold;
}

.profile-obituaries a.button-disabled {
    background-color: #ccc;
    border:1px solid #ccc;
    padding: 10px;
    text-align: center;
    border-radius: 4px;
    display: inline-block;
    line-height: 1;
    font-size: 0.85em;
}
.profile-obituaries a.button { 
    margin: 0;
}
.profile-obituaries .obituary-item-title { 
    margin-top: 20px;
    text-align: center;
    font-weight: bold;
}

#drupal-modal p { 
    margin: 0;
    padding: 0;
}
/* Flexslider */
.flex-direction-nav a {
    height: 50px;
}

/* Mobile Navigation */
#offCanvasRight ul li {
    width: 100%;
    text-align: center;
}

/* masonry */
/* clear fix */
.family-gallery-grid:after {
  content: '';
  display: block;
  clear: both;
}

/* ---- .grid-item ---- */

.family-gallery-grid-sizer,
.family-gallery-grid-item {
  width: 33.333%;
}

.family-gallery-grid-item {
  float: left;  
}

.family-gallery-grid-item img {
  display: block;
  width: 100%;
  padding: 5px;
}


/* Media */
@media all and (max-width: 1200px){
    .front-banner h1 {
        font-size: 2.2em;
    }
}
@media all and (max-width: 765px){
    .front-banner h1 {
        font-size: 1.5em;
    }
    .front-banner h3 {
        font-size: 1em;
    }
}
@media all and (max-width: 530px){
    .front-banner h1 {
        font-size: 1.2em;
    }
    .front-banner h3 {
        font-size: 0.9em;
    }
}