@charset "utf-8";
@import 'https://fonts.googleapis.com/css?family=EB+Garamond:400,600|Raleway:400,600&display=auto';

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: none;
    font-family: raleway, sans-serif;
    font-weight: 400;
    font-size: 15px
}

body {
    max-width: 1750px;
    margin: 0 auto;
}

h1, h2, h3, h4, p, ul, ol {
    line-height: 1.618
}

h1, h2, h3, h4 {
    font-weight: 400;
    margin: 5px 0;

}

h1 {
    font-family: Georgia, serif;
    font-size: 48px;
    line-height: 1.3;
    color: #253081;
}

h2 {
    font-family: Georgia, serif;
    font-size: 32px;
    line-height: 1.3;
    color: #253081;
}

h3 {
    font-size: 20px;
    color: #253081;
}

h4 {
    font-size: 20px;
    color: #000000;
    text-transform: uppercase;
    margin: 0
}

p {
    font-size: 18px
}

#menu a {
    font-weight: 400;
}

a {
    color: #253081;
    font-weight: 700;
    text-decoration: underline;
}

/* now that base weight is 700, this does nothing */
a:hover {
    font-weight: 700
}

.smaller-text {
    font-size: 12.5px
}

.smaller-text a {
    font-size: 12.5px
}

.larger-text {
    font-size: 17.5px
}

.larger-text a {
    font-size: 17.5px
}

strong {
    font-weight: 700;
    font-size: 15px
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.list-styling {
    margin: 10px 0 10px 50px
}

ul.no-bullets li {
    list-style-type: none !important
}

.list-styling li {
    padding: 5px 0
}

.larger-text strong {
    font-size: 17.5px
}

.button {
    padding: 12px 25px;
    font-weight: 700;
    text-decoration: none;
    transition: .3s;
    font-size: 18px;
    border-radius: 25px;
    color: #fff;
    margin-bottom: 20px;
    display: inline-block;
    line-height: normal;
}

.button:hover {
    transition: .3s;
    cursor: pointer
}

.white-btn {
    border: 2px solid #253081;
    background-color: #253081;
}

.white-btn:hover {
    background-color: #fff;
    color: #253081
}

.green-btn {
    border: 2px solid #e50046;
    background-color: #E50046;
}

.green-btn:hover {
    background-color: #fff;
    color: #E50046
}

.black-btn {
    border: 2px solid #000;
    background-color: #383e42;

}

.black-btn:hover {
    background-color: #fff;
    color: #000;
}

.black-hvr:hover {
    background-color: #383e42
}

.light-hver:hover {
    background-color: #fff
}

.page-border {
    width: 95%;
    margin: 25px auto;
    padding: 0 10px;
}

.green-bround, .light-bround, .black-bround {
    width: 100%;
    margin: 0;
    padding: 25px 5%
}

.green-bround {
    background-color: #253081
}

.green-bround h1, .green-bround h2, .green-bround h3, .green-bround p, .green-bround ul li, .black-bround h1, .black-bround h2, .black-bround h3, .black-bround p, .black-bround ul li {
    color: #fff;
    padding: 0 25px
}

.light-bround {
    background-color: #F5F5F5
}

.light-bround h1, .light-bround h2, .light-bround h3, .light-bround p, .light-bround ul li {
    padding: 0 25px
}

.black-bround {
    background-color: #383e42
}

.contact-header {
    background-image: url("/imgs/banners/contact-us-header.jpg");
    background-size: cover;
    width: 100%;
    height: 200px;
    position: relative
}

.header-title {
    background-color: rgba(255, 255, 255, .75);
    width: 100%;
    margin: 0;
    padding: 15px 5%;
    position: absolute;
    bottom: 0
}

.form-input {
    width: 100%;
    max-width: 400px;
    border: solid 1px #383e42;
    border-radius: 25px;
    padding: 12px 25px;
    outline: none;
    margin-bottom: 15px;
}

.two-cols {
    width: 100%;
    display: block
}

.two-cols:first-of-type {
    padding-bottom: 25px
}

.two-cols:last-of-type {
    text-align: center
}

.two-cols img {
    width: 100%;
    max-width: 500px
}

.memorial-pics {
    width: 100%;
    height: 200px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.virtual-tour {
    background-image: url(/imgs/sections/tour.jpg);
    background-size: cover;
    background-position: center;
    text-align: center;
    padding: 100px 5%;
    width: 100%;
    margin: 0
}

.virtual-tour h1, .virtual-tour h2, .virtual-tour h3, .virtual-tour p, .virtual-tour ul li {
    color: #fff;
    padding: 0 25px
}

header {
    width: 100%;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    right: 0;
    text-align: left;
    background-color: #fff;
    -webkit-box-shadow: 0 10px 20px 5px rgba(0, 0, 0, .25);
    -moz-box-shadow: 0 10px 20px 5px rgba(0, 0, 0, .25);
    box-shadow: 0 10px 20px 5px rgba(0, 0, 0, .25);
    max-width: 1750px;
    margin: 0 auto;
}

header #nav-logo, header ul#menu, header #nav-phone {
    vertical-align: middle
}

header #nav-logo {
    display: inline-block
}

header #nav-logo img {
    width: 200px;
    margin-left: 10px;
}

header #nav-phone {
    display: none
}

#header-spacer {
    height: 84px;
    width: 100%
}

.mobile-menu input[type=checkbox] {
    display: none
}

.mobile-menu input[type=checkbox]:checked ~ #menu {
    display: block
}

.mobile-menu .show-menu {
    content: url(/imgs/icons/menu-icon.png);
    width: 30px;
    height: 30px;
    position: absolute;
    top: 25px;
    right: 5%
}

.mobile-menu .show-menu:hover {
    cursor: pointer
}

ul#menu {
    display: none
}

.mobile-menu .show-menu {
    display: block
}

.mobile-menu input[type=checkbox]:checked ~ .show-menu {
    content: url(/imgs/icons/close-icon.png)
}

header ul#menu {
    text-align: left;
    padding-left: 25px
}

header ul#menu li {
    list-style-type: none;
    padding: 5px 0
}

header ul#menu li a {
    font-size: 20px;
    text-decoration: none
}

header ul#menu li a:hover {
    font-weight: 400
}

header ul#menu li.sub-head ul.sub {
    padding-left: 25px
}

.update-box {
    border-bottom: solid 1px #383e42;
    padding-bottom: 25px
}

.update-box:last-of-type {
    border: none !important
}

footer {
    background-color: #fff;
    color: #000;
    padding: 25px 0;
    border-top: solid 1px #000;
}

footer h1, footer h2, footer h3, footer p, footer ul li {
    color: #000
}

footer #foot-end {
    text-align: center;
    width: 90%;
    margin: 0 auto;
    border-top: solid 1px #000;
    padding: 25px 0;
    margin-top: 15px
}

footer #foot-logo, footer #foot-main, footer #foot-legal {
    display: block;
    vertical-align: top;
    width: 90%;
    margin: 0 auto;
    text-align: center
}

footer #foot-main {
    border-top: solid 1px #000
}

footer ul li {
    list-style-type: none;
    padding: 5px 0
}

footer ul li a {
    text-decoration: none;
    color: #000;
    transition: .3s;
    font-size: 20px
}

footer ul li a:hover {
    font-weight: 700;
    transition: .3s
}

footer img {
    width: 272px;
}

.album-container {
    width: 90%;
    margin: 0 auto
}

.album-container .photo-box {
    width: 300px;
    height: 300px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 25px auto
}

.download-item {
    padding: 15px 0;
    border-bottom: solid 1px #383e42
}

.download-item:last-of-type {
    border: none
}

.download-item ul li {
    display: block;
    width: 100%;
    list-style-type: none
}

.download-item ul li h3 {
    color: #383e42;
    padding-bottom: 15px
}

.download-item ul li:last-of-type {
    text-align: left
}

.virtual-tour-iframe iframe {
    height: 70vh
}

.fees-container {
    width: 100%;
    text-align: center;
}

.fees-box {
    width: 100%;
    max-width: 500px;
    background-color: #F5F5F5;
    text-align: center;
    margin: 25px auto
}

.fees-box .fees-title {
    background-color: #253081;
}

.fees-box .fees-title h2 {
    color: #fff
}

.fees-box ul {
    width: 90%;
    margin: 0 auto
}

.fees-box ul li {
    list-style-type: none;
    padding: 15px 0;
    border-bottom: solid 1px #253081
}

.fees-box ul li:last-of-type {
    border: none
}

.header-buttons {
    width: 100%;
    position: absolute;
    bottom: 0
}

.carousel-btn {
    position: absolute;
    background-color: rgba(255, 255, 255, .5);
    top: -60px;
    padding: 20px;
    transition: .3s;
    outline: none;
    z-index: 50
}

.carousel-btn:hover {
    background-color: #253081;
    color: #fff;
    cursor: pointer;
    transition: .3s
}

.left-btn {
    left: 0
}

.right-btn {
    right: 0
}

#header-text-container {
    display: block;
    width: 100%;
}

.header-container h1 {
    font-size: 38px;
}

.header-container p {
    font-family: Georgia, serif;
    color: #253081;
    line-height: 1.3;
    font-size: 27px;
    margin-bottom: 30px;
}

#header-image-rectangle-container {
    display: block;
    width: 100%;
}

#header-image-rectangle-container img {
    width: 100%;
}

#header-image-petal-container {
    display: none;
}

@media only screen and (min-width: 992px) {
    .header-container {
        height: 438px;
        margin-bottom: 30px;
    }

    .header-container h1 {
        font-size: 46px;
    }

    .header-container p {
        font-size: 32px;
    }

    #header-image-rectangle-container {
        display: none;
    }

    #header-image-petal-container {
        display: inline-block;
        width: 438px;
    }

    #header-image-petal-container img {
        display: block;
        width: 438px;
    }

    #header-text-container {
        height: 400px;
        display: inline-block;
        width: calc(100% - 450px);
        text-align: left;
        position: relative;
        padding: 50px;

    }

    #header-text-wrapper {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);

    }

    /*#header-text-container h1 {
        vertical-align: top;
        top: 50%;
        transform: translateY(-50%);
    }*/
}


@media only screen and (min-width: 1320px) {
    .header-container h1 {
        font-size: 59px;
    }

    .header-container p {
        font-size: 38px;
    }
}

/* this used to be a carousel, but is now static */
.mySlides {
    width: 100%;
    height: 300px;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0
}

.header-buttons-2 {
    text-align: center;
    position: relative;
    top: 260px;
    margin-bottom: -20px
}

.position-btn {
    width: 20px;
    height: 20px;
    background-color: rgba(255, 255, 255, .5);
    outline: none;
    transition: .3s
}

.position-btn:hover {
    background-color: #fff;
    transition: .3s;
    cursor: pointer
}

.active-white {
    background-color: #fff
}

/* the text box over the full width image */
#header-main {
    background-color: rgba(255, 255, 255, .75);
    padding: 25px;
    width: 100%;
    max-width: 450px
}

#header-main h1 {
    margin: 0;
}

#header-main p {
    font-weight: 700;
    text-align: left;
}

.trademark-footer, .logos-footer {
    width: 100%;
    display: inline-block
}

.logos-footer {
    text-align: center
}

/* Three cols start on separate rows, with smaller image and extra button margin */
.three-cols img {
    width: 50%;
}

.three-cols .button {
    margin-top: 20px;
}

.three-cols div.image-container {
    width: 100%;
    text-align: center;
}

@media only screen and (min-width: 600px) {
    .contact-header {
        height: 250px
    }

    .memorial-pics {
        height: 300px;
        max-width: 500px
    }

    .page-border {
        width: 90%;
        margin: 25px auto;
        padding: 25px
    }
}

@media only screen and (min-width: 768px) {
    .mySlides {
        height: 400px
    }

    .header-buttons-2 {
        top: 360px
    }

    .carousel-btn {
        top: -210px
    }

    .contact-header {
        height: 300px
    }

    .memorial-pics {
        height: 350px;
        margin: 0 auto;
        display: inline-block
    }

    .album-container {
        display: inline-block;
        width: 605px;
        text-align: left
    }

    .album-container .photo-box {
        display: inline-block;
        margin: 25px;
        width: 250px;
        height: 250px
    }

    .download-item ul li {
        display: inline-block;
        width: 75%;
        list-style-type: none
    }

    .download-item ul li h3 {
        padding-bottom: 0
    }

    .download-item ul li:last-of-type {
        text-align: right;
        width: 24%
    }

    .fees-container {
        max-width: 825px;
        margin: 0 auto
    }

    .fees-box {
        max-width: 280px;
        margin: 0;
        display: inline-block;
        vertical-align: top;
        min-height: 437px
    }

    .fees-box:nth-of-type(1) {
        margin-right: 25px;
        margin-bottom: 25px
    }

    .fees-box:nth-of-type(2) {
        margin-left: 25px;
        margin-bottom: 25px
    }

    .fees-box:nth-of-type(3) {
        margin-right: 25px;
        margin-top: 25px
    }

    .fees-box:nth-of-type(4) {
        margin-left: 25px;
        margin-top: 25px
    }

    .fees-box h2 {
        margin: 0
    }

    .trademark-footer, .logos-footer {
        width: 49.5%
    }
}

@media only screen and (min-width: 992px) {
    .mobile-menu {
        display: inline-block
    }

    .mobile-menu input, .mobile-menu .show-menu {
        display: none
    }

    header {
        text-align: center;
    }

    header #nav-logo img {
        width: 150px;
        margin-left: 0;
    }

    #header-spacer {
        height: 64px
    }

    header ul#menu {
        display: inline-block !important;
        padding: 0 5px;
        position: inherit
    }

    header ul li a {
        text-decoration: none;
        color: #253081;
        transition: .3s;
        font-size: 15px !important
    }

    header #nav-phone {
        font-size: 15px
    }

    header ul li a:hover {
        color: #000000;
        transition: .3s;
        font-weight: 400
    }

    header ul li {
        display: inline-block;
        list-style-type: none;
        padding: 0 10px !important
    }

    ul.sub {
        display: none
    }

    header ul li.sub-head::after {
        content: "\25BE";
        color: #383e42;
        transition: .3s
    }

    header ul li.sub-head:hover::after {
        content: "\25B4";
        color: #000000;
        transition: .3s
    }

    header ul li.sub-head:hover ul.sub {
        display: block;
        position: absolute;
        background-color: #fff;
        padding: 10px;
        -webkit-box-shadow: 0 13px 15px 0 rgba(0, 0, 0, .25);
        -moz-box-shadow: 0 13px 15px 0 rgba(0, 0, 0, .25);
        box-shadow: 0 13px 15px 0 rgba(0, 0, 0, .25)
    }

    header ul li.sub-head:hover ul.sub li {
        display: list-item;
        padding: 10px !important;
        border-bottom: solid 1px #383e42
    }

    header ul li.sub-head:hover ul.sub li:last-child {
        border: none
    }

    header #nav-phone {
        display: inline-block;
        padding: 5px 0 5px 5px
    }

    header #nav-phone a {
        font-size: 20px;
        color: #E50046;
        text-decoration: none;
        position: relative;
        top: -5px;
        font-weight: bold;
    }

    header #nav-phone a::before {
        content: url(/imgs/icons/phone-icon.png);
        position: relative;
        top: 5px
    }

    .mySlides {
        height: 500px
    }

    .header-buttons-2 {
        top: 460px
    }

    .carousel-btn {
        top: -250px
    }

    .large-button {
        display: inline-block;
        margin: 0;
        text-align: left
    }

    .large-button:first-of-type {
        margin-right: 12.5px
    }

    .large-button:last-of-type {
        margin-left: 12.5px
    }

    .contact-header {
        height: 400px
    }

    footer #foot-logo, footer #foot-main, footer #foot-legal {
        display: inline-block;
        width: 33%;
        text-align: left;
        border: none
    }

    footer #foot-logo {
        text-align: center
    }

    .two-cols {
        width: 49%;
        display: inline-block;
        vertical-align: middle;
        padding: 0
    }

    .two-cols:last-of-type {
        text-align: right;
        padding-left: 15px
    }

    .col-30 {
        width: 30%;
        padding-bottom: 0 !important
    }

    .col-70 {
        width: 69%;
    }

    /* Three cols from this point are on the same with full width image */
    .three-cols {
        width: 33%;
        padding-right: 50px;
        display: inline-block;
        vertical-align: top;
    }

    .three-cols:last-of-type {
        /*padding-right: 0;*/
    }

    .three-cols img {
        width: 100%;
    }

    .three-cols button {
        vertical-align: bottom;
    }

    .memorial-pics {
        max-width: 400px;
        height: 400px
    }

    .contact-form-column h3 {
        text-align: left;
    }

    form#contact-form-fields {
        text-align: left;
        max-width: 400px;
        display: inline-block
    }

    .album-container {
        width: 915px;
        text-align: left
    }

    .album-container .photo-box {
        display: inline-block;
        margin: 25px;
        width: 250px;
        height: 250px;
        transition: .3s
    }

    .album-container .photo-box:hover {
        cursor: pointer;
        opacity: .6;
        transition: .3s
    }

    .three-cols div.top-half {
        min-height: 600px;
    }
}

@media only screen and (min-width: 1200px) {
    #header-spacer {
        height: 92px
    }

    header ul li {
        padding: 0 14px !important
    }

    header ul li a {
        font-size: 17.5px !important
    }

    header #nav-phone {
        font-size: 17.5px
    }

    header #nav-logo img {
        width: 220px
    }

    h1 {
        font-size: 48px
    }

    h2 {
        font-size: 36px
    }

    h3 {
        font-size: 20px
    }

    p, li, strong, a {
        font-size: 18px
    }

    .large-button:first-of-type {
        margin-right: 25px
    }

    .large-button:last-of-type {
        margin-left: 25px
    }

    .contact-header {
        height: 500px
    }

    .fees-container {
        max-width: 1300px
    }

    .fees-box {
        max-width: 225px;
        min-height: 580px /* This is to align the bottoms of the fees boxes */
    }

    .fees-box:nth-of-type(1) {
        margin-right: 15px;
        margin-bottom: 0
    }

    .fees-box:nth-of-type(2), .fees-box:nth-of-type(3) {
        margin: 0 15px
    }

    .fees-box:nth-of-type(4) {
        margin-left: 15px;
        margin-top: 0
    }

    /* Just to align buttons */
    .three-cols div.top-half {
        min-height: 640px;
    }

    .virtual-tour {
        padding: 100px 200px;
    }
}

@media only screen and (min-width: 1400px) {
    #header-spacer {
        height: 127px
    }

    header ul#menu {
        padding: 0 25px
    }

    header ul li {
        padding: 0 15px
    }

    header ul li a {
        font-size: 20px
    }

    header #nav-phone {
        padding: 5px 0 5px 15px
    }

    header #nav-phone a {
        font-size: 25px
    }

    header #nav-logo img {
        width: 309px
    }

    .large-button:first-of-type {
        margin-right: 50px
    }

    .large-button:last-of-type {
        margin-left: 50px
    }

    .contact-header {
        height: 600px
    }

    .fees-container {
        max-width: 1400px
    }

    .fees-box {
        max-width: 250px;
        min-height: 520px /* This is to align the bottoms of the fees boxes */
    }

    .fees-box:nth-of-type(1) {
        margin-right: 25px;
        margin-bottom: 0
    }

    .fees-box:nth-of-type(2), .fees-box:nth-of-type(3) {
        margin: 0 25px
    }

    .fees-box:nth-of-type(4) {
        margin-left: 25px;
        margin-top: 0
    }

    /* Just to align buttons */
    .three-cols div.top-half {
        min-height: 700px;
    }

    #header-main {
        /* prevents top of heading box being overlapped by navbar */
        margin-top: 36px;
    }
}