/********************************************* General Layout CSS *********************************************/
@import url(https://fonts.googleapis.com/css?family=Lato);
@import url(https://fonts.googleapis.com/css?family=Merriweather);

* {
    font-family: 'Merriweather', serif;
    font-size: 16px;
}

.title-font {
    font-family: 'Lato', sans-serif;
}

.title-font-spacing {
    letter-spacing: 5px;
}

.title-size {
    font-size: 50px;
}

.title-margin {
    margin-top: 100px;
}

.paragraph-line-height {
    line-height: 185%;
}

.title-color {
    color: white;
}

header, aside, nav, article {
	display: block;
}

body {
    padding: 0;
	display: block;
}

footer {
    display: block;
    margin: 50px auto;
}

#copyright {
    margin-top: 50px;
    font-size: 14px;
}

.text-shadow {
    text-shadow:
        2px 2px 5px #000,
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

/*---------- Changes The CSS Of The 'active' Links ----------*/
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    color: #ffffff;
    cursor: default;
    background-color: #808080;
}

/*---------- Changes The CSS Of The Links ----------*/
a {
    color: #808080;
    text-decoration: none;
}
a:hover, a:focus {
    color: #000000;
    text-decoration: underline;
}

/*---------- Google Map Properties ----------*/
#map {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 50px;
    padding-right: 30px;
    padding-left: 30px;
    /* Prevents all scrolling and clicking of the map */
    pointer-events: none;
}

/*---------- Properties Across All Carousels ----------*/
.icon-prev.icon-appearance {
    width: 100px;
    height: 100px;
    font-size: 100px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
}

.icon-next.icon-appearance {
    width: 100px;
    height: 100px;
    font-size: 100px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
}


/*---------- Navbar Customization ----------*/
.navbar-default {
    background-color: #FFFFFF;
    padding-top: 0;
    margin-top: 0;

    -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow:    0 5px 10px 0 rgba(0, 0, 0, 0.15);
    box-shadow:         0 5px 10px 0 rgba(0, 0, 0, 0.15);
}

.navbar-brand {
    height: 75px;
    font-size: 30px;
    margin-left: 0;
    line-height: 41px;
}

.navbar {
    height: 75px;
}

.facebook {
    margin-top: -3px;
}

#nav-menu li a {
    font-family: 'Lato', sans-serif;
    font-size: 20px;
}

#store-name {
    position: absolute;
}

#logo {
    margin-top: -7px;
}

#nav-button{
    margin-top: 20px;
}

#nav-menu {
    background-color: #FFFFFF;
}

@media (min-width: 1070px) {
    .nav.navbar-nav.navbar-menu {
        float: right;
        margin-top: 10px;
    }
}

/* Defining navbar behavior for width smaller than 1105 to deal with our huge navbar menu */
@media (max-width: 1070px) {
    .facebook {
        margin-top: 0;
    }

    .navbar-brand {
        font-size: 20px;
    }

    .navbar-header {
        /* Allows the navbar button to be in the correct place */
        float: none;
    }
    .navbar-menu {
        /* Allows the collapsed navbar menu to display correctly with width <= 1105 */
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }
    .navbar-collapse.collapse {
        display: none !important;
    }
    .navbar-nav {
        float: none !important;
        margin-top: 7px;
    }
    .navbar-nav > li {
        float: none;
    }
    .navbar-nav > li > a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in{
        display:block !important;
    }
}

@media (max-width: 395px) {
    .navbar-brand {
        font-size: 13px;
    }
}


/********************************************* Index Page CSS *********************************************/
/*---------- Carousel ----------*/
.carousel-home {
    margin-top: 75px;
    width: 100%;
    box-shadow:         2px 2px 10px 0 rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.3);
    -moz-box-shadow:    2px 2px 10px 0 rgba(0, 0, 0, 0.3);
}

.right.carousel-control.no-bg-shadow {
    background: none;
}

.left.carousel-control.no-bg-shadow {
    background: none;
}

.caption-title {
    font-size: 50px;
}

.caption-description {
    font-size: 22px;
}

@media (max-width: 768px) {
    .caption-description {
        display: none;
    }
}

@media (max-width: 768px) and (min-width: 500px) {
    .caption-title {
        font-size: 40px;
        margin: auto 35px;
    }
}

@media (max-width: 500px) and (min-width: 375px) {
    .caption-title {
        font-size: 27px;
        margin: auto 35px;
    }
}

@media (max-width: 375px) {
    .caption-title {
        font-size: 22px;
        margin: auto 35px;
    }
}

/*---------- History / About US ----------*/
#history {
    margin: 0 auto;
}

.history-box {
    padding: 0;
}

@media (max-width: 768px) {
    .history-box div:not(:last-child) {
        padding-bottom: 50px;
    }
}

/*---------- Services ----------*/
.service-box {
    display: block;
    position: relative;
    max-width: 600px;
    margin: 0 auto;
}

.service-box .service-box-caption {
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    opacity: 0;
    background: rgba(0,0,0,.7);
    -webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
}

.service-box .service-box-caption .service-box-caption-content {
    position: absolute;
    top: 50%;
    width: 100%;
    text-align: center;
    transform: translateY(-50%);
}

.service-box .service-box-caption .service-box-caption-content .service-name {
    padding: 0 15px;
    font-size: 40px;
}

.service-box:hover .service-box-caption {
    opacity: 1;
}

.no-gutter:not(:first-child), .no-gutter:not(:last-child) {
    padding-right: 0;
    padding-left: 0;
}

/********************************************* Gallery Pages CSS *********************************************/
hr {
    margin: 50px auto;
}

.top-margin {
    margin-top: 20px;
}

/*---------- Paragraph Text Formatting For The Grid ----------*/
.paragraph-text {
    margin: 20px auto;
    line-height: 2;
    padding: 0 15px;
}


/*---------- Gallery Items/Selection ----------*/
.img-overlay {
    position: absolute;
    right: 0;
    top: 0;
    background-color: rgba(121, 26, 121, 0.6);
    color: #fff;
    padding: 1% 2%;
}

.overlay-container {
    position: relative;
    max-width: 100%;
}

.thumbnail-gallery {
    border: none;
    padding: 0;
    border-radius: 0;
}


/*---------- Gallery Item Selection Menu ----------*/
.list-toggle {
    padding: 9px 10px;
    margin-top: 8px;
    margin-right: 15px;
    margin-bottom: 8px;
    background: none transparent;
    border-radius: 4px;
}
@media (min-width: 768px) {
    .list-toggle {
        display: none;
    }
}

.list-collapse {
    padding-right: 15px;
    padding-left: 15px;
    overflow-x: visible;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid transparent;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
}
@media (min-width: 768px) {
    .list-collapse {
        width: auto;
        border-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .list-collapse.collapse {
        display: block !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important;
    }
}


/*---------- Heading Formatting ----------*/
.heading-content-text {
    letter-spacing: 1px;
    margin: 30px auto;
    line-height: 2;
    color: white;
    max-width: 1100px;
}

.banner-overlay{
    width: 100%;
    background: rgba(0,0,0,.3);
}

#header-background-wedding {
     margin-top: 75px;
     margin-bottom: 20px;
     position: relative;
     width: 100%;
     text-align: center;
     background: url(../img/Wedding-top.jpg) center fixed no-repeat;
     background-size: cover;
     opacity: 0.95;
 }

#header-background-funeral {
    margin-top: 75px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    text-align: center;
    background: url(../img/Funeral-top.jpg) center fixed no-repeat;
    background-size: cover;
    opacity: 0.95;
}

#header-background-grand{
    margin-top: 75px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    text-align: center;
    background: url(../img/Grand-top.jpg) center fixed no-repeat;
    background-size: cover;
    opacity: 0.95;
}

#header-background-birthday {
    margin-top: 75px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    text-align: center;
    background: url(../img/Birthday-top.jpg) center fixed no-repeat;
    background-size: cover;
    opacity: 0.95;
}

/*---------- Screen Resolution Specific Attributes of #header-background ----------*/
@media (min-width: 992px) {
    #header-background {
        height: 400px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    #header-background {
        height: 500px;
    }
}

@media (min-width: 658px) and (max-width: 767px) {
    #header-background {
        height: 400px;
    }
}

@media (max-width: 657px) {
    #header-background {
        height: 550px;
    }
}


/********************************************* Contact Page CSS *********************************************/
.contact-title {
    margin-top: 0;
    margin-bottom: 50px;
}

.contact-paragraph {
    font-size: 18px;
}

@media(max-width: 1200px) and (min-width: 992px) {
    .contact-paragraph {
        font-size: 15px;
    }

    .contact-heading {
        font-size: 24px;
    }
}

#question1 {
    display: none;
}

#question2 {
    margin-top: 10px;
    margin-bottom: 30px;
}

#captcha-title {
    padding-right: 10px;
}

#captcha {
    border: solid 1px;
}

@media (max-width: 991px) {
    #contact-image {
        margin-bottom: 50px;
    }
}