/******************************************************************************
 * KeepSafe Heritage Information Styles
******************************************************************************/
#keepsafe-heritage-information-body {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


/******************************************************************************
 * KeepSafe Body Styles
******************************************************************************/
.site-container {
    background-color: transparent;
}

.site-inner {
    background-color: rgba(255, 255, 255, 0.85) !important;
    margin: 0px !important;
    max-width: 100% !important;
    padding: 0px !important;
    width: 100% !important;
}

.title-area,
.nav-primary {
    display: none !important;
}

.content-sidebar-wrap,
main.content {
    max-width: 100% !important;
    padding: 0px !important;
    width: 100% !important;
}

.keepsafe-section {
    box-sizing: border-box;
    padding: 30px 50px 30px 50px;
}

div.keepsafe-section h1,
div.keepsafe-section h2 {
    font-size: 24px !important;
}

.keepsafe-section h1:first-of-type {
    margin-top: 0px;
}

.responsive-primary-menu-container {
    display: none;
}

.site-footer,
#ez-fat-footer-container-wrap {
    margin: auto;
    max-width: 1140px;
}


/******************************************************************************
 * KeepSafe Header Styles
******************************************************************************/
#keepsafe-header {
    align-items: center;
    background: #3C425C;
    display: flex;
    position: relative;
    height: 100px;
}

#keepsafe-header > h1 {
    color: #FFFFFF;
    font-size: 24px;
    left: 0px;
    margin: 0px;
    position: absolute;
    right: 0px;
}

#keepsafe-header > a {
    color: #FFFFFF;
    font-size: 2vw;
    font-weight: bold;
    left: 20px;
    position: absolute;
    top: 10px;
}


/******************************************************************************
 * KeepSafe Memorial Styles
******************************************************************************/
#memorial-image {
    background-position: center;
    background-size: cover;
    border: 1px solid #C8C8C8;
    height: 325px;
    width: 325px;
}

.memorial-links {
    margin-top: 50px;
}

.memorial-links a,
.memorial-links a:hover,
.memorial-links a:visited,
.memorial-links a:focus {
    color: #000;
    margin-right: 50px;
    text-decoration: underline;
}


/******************************************************************************
 * KeepSafe Cemetery and Burial Information Styles
******************************************************************************/
#keepsafe-obituary {
    border-bottom: 3px solid #FFFFFF;
    border-top: 3px solid #FFFFFF;
}

#keepsafe-obituary-body {
    max-width: 700px;
    max-height: 300px;
    overflow-y: scroll;
}


/******************************************************************************
 * KeepSafe Heritage Information Styles
******************************************************************************/
#keepsafe-heritage-information-body {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
}


/******************************************************************************
 * KeepSafe Cemetery and Burial Information Styles
******************************************************************************/
#address-block {
    margin-bottom: 10px;
}

#cemetery-image {
    background-size: cover;
    border: 1px solid #C8C8C8;
    height: 500px;
    width: 100%;
}

#memorial-map {
    height: 300px;
    margin-bottom: 10px;
    width: 100%;
}
#memorial-map.big {
    height: 600px;
}

#directions-input {
    margin-bottom: 10px;
    padding: 5px !important;
}

#directions-button {
    font-size: 16px;
    margin-bottom: 10px;
    width: 100%;
}

#directions-panel {
    margin: 0px 50px 20px;
}


/******************************************************************************
 * KeepSafe Photo Gallery Styles
******************************************************************************/
#keepsafe-photo-gallery-section {
    background-color: #E6EBF3;
}

#keepsafe-photo-gallery-section h1 {
    margin: 0px 0px 10px 0px!important;
    padding: 0px !important;
}

.keepsafe-upload-modal {
    margin: 150px auto 0px auto;
}

.upload-buttons button {
    margin-bottom: 2px;
}

.upload-buttons i {
    padding-top: 3px;
}

.file-row {
    padding: 10px;
}
.file-row:nth-child(odd) {
    background-color: #F8F8F8;
}

.file-row:last-of-type {
}
.file-row button {
    width: 100%;
}

.keepsafe-photo-gallery-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 10px auto;
    max-height: 500px;
    max-width: 1140px;
    min-width: 200px;
    overflow-x: hidden;
    overflow-y: scroll;
}

.keepsafe-photo-gallery-photo {
    border: 1px solid #808080;
    box-sizing: border-box;
    margin: 10px;
}

.keepsafe-gallery-thumbnail {
    background-size: cover;
    background-position: center;
    height: 230px;
    width: 230px;
}

.keepsafe-photo-gallery-photo-blank {
    box-sizing: border-box;
    margin-left: 10px;
    margin-right: 10px;
    width: 232px;
}


/******************************************************************************
 * KeepSafe Condolences Styles
******************************************************************************/
#keepsafe-condolences {
    background-color: #F8F8F8 !important;
}

#keepsafe-condolences h2 {
    margin-top: 0;
}

#keepsafe-condolences-list-container {
    border-top: 1px solid #C8C8C8;
    max-height: 300px;
    overflow-y: scroll;
    overflow-x: hidden;
}

#keepsafe-condolences-list {
    list-style-type: none;
}
#keepsafe-condolences-list > li {
    border-bottom: 1px solid #C8C8C8;
    padding: 10px 0px;
}
#keepsafe-condolences-list > li:last-of-type {
    border-bottom: 0px solid #000000;
}

#condolences-message {
    height: 170px;
    margin-bottom: 20px;
}

#condolences-errors {
    color: #FF0000;
}

#condolences-errors ul {
    list-style-type: none;
}


/******************************************************************************
 * Revenue Plus Styles
******************************************************************************/
#keepsafe-revenueplus {
    background-color: #F8F8F8;
}

.woocommerce-loop-product__link .woocommerce-loop-product__title {
    font-size: 20px !important;
    line-height: 20px !important;
}


/******************************************************************************
 * General Styles
******************************************************************************/
#keepsafe-header > .clearfix {
    font-size: 0px;
    line-height: 0px;
}

.keepsafe-button {
    background-color: #179800;
    border: 0px solid transparent !important;
    border-radius: 10px;
    box-shadow: none !important;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: bold;
    outline: none !important;
    padding: 5px 10px;
}

a.keepsafe-button {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 2px;
    margin-bottom: 10px;
    text-align: center;
    width: 100%;
}

.keepsafe-button:hover {
    background-color: #136500;
}

.keepsafe-button:disabled {
    background-color: #C0C0C0;
}

.required {
    color: #FF0000;
}

.keepsafe-input {
    border: 1px solid #C8C8C8;
    box-shadow: none;
    box-sizing: border-box;
    outline: none;
    padding: 10px !important;
    width: 100%;
}

.keepsafe-input:active {
    border: 1px solid #179800;
}

.keepsafe-input:focus {
    border: 1px solid #3070FF;
}



@media (max-width: 900px) {
    #keepsafe-header > h1 {
        font-size: 4vw;
    }
}

@media (max-width: 600px) {
    .keepsafe-section {
        padding: 20px;
    }
}

@media (max-width: 500px) {
    .keepsafe-photo-gallery-photo,
    .keepsafe-gallery-thumbnail {
        height: 300px !important;
        width: 100% !important;
    }
}

@media (max-width: 400px) {
    #memorial-image {
        width: 100% ;
    }
}
