@charset "utf-8";
/* CSS Document */

/* 

Colors

Primary Blue - #00317B
Secondary Blue - #337AB7
Teal/Dark - #447490

*/

* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    width: 100%;
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    color: #333333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: #FFFFFF;
}

@media(max-width:850px) {
    html,
    body {
        font-size: 14px;
    }
}

@media(max-width:650px) {
    html,
    body {
        font-size: 14px;
    }
}

/* --- Typography --- */

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    padding: 0;
    display: block;
    font-weight: 300;
}

h1 {
    font-size: 2.5em;
    margin-bottom: .75em;
    font-weight:bold;
}

h2 {
    font-size: 1.55em;
    margin-bottom: 1em;
    font-weight:bold;
}

h3 {
    font-size: 1.25em;
    margin-bottom: 1em;
    font-weight:bold;
}

p {
    font-size: 1em;
    line-height: 1.3em;
    margin-bottom: 2em;
}

p+p {
    margin-top:-1em;
}

p+h3 {
    margin-top: 1.5em;
}

.text-left,
.text-left * {
    text-align: left;
}

.text-center,
.text-center * {
    text-align: center;
}

.text-right,
.text-right * {
    text-align: right;
}

.text-small,
.text-small * {
    font-size: small;
}

.uppercase,
.uppercase * {
    text-transform: uppercase;
}

/* --- Form Inputs --- */

input,
select,
textarea {
    display: inline-block;
    width: 100%;
    line-height: 1;
    padding: .75em;
    border: solid 1px #ccc;
    border-radius: 4px;
    margin: 0 0 1.5rem;
    background-color: #ffffff;
    font-size: inherit;
}

a.multiSelect {
    display: inline-block !important;
    width: 100% !important;
    line-height: 1 !important;
    padding: .75em !important;
    border: solid 1px #ccc !important;
    border-radius: 4px !important;
    margin: 0 0 1.5rem !important;
    outline: none !important;
    background-color: #ffffff !important;
    font-size: inherit !important;
}

select {
    -webkit-appearance: initial;
    background-image: url('/Images/dropdown-icon.svg');
    background-position: right 12px center;
    background-size: auto 20%;
    background-repeat: no-repeat;
    cursor: pointer;
}

input[type="checkbox"],
input[type="radio"],
input[type="submit"],
input[type="image"] {
    width: auto;
    margin: 0;
    padding: 0;
    margin-right: .5rem;
}

label {
    display: inline-block;
    margin-bottom: .25em;
    font-weight: bold;
}

label>span.required {
    color: red;
}

.price-slider {
    display: block;
    margin-bottom: 1.5rem;
}

.price-slider input#Price-amount,
.price-slider input#Priceamount {
    background: transparent;
    padding: 0;
    border: none;
    margin: 0;
    width: auto;
    display: inline-block;
}

.input-group {
    display: flex;
    flex-flow:row nowrap;
    margin-bottom:2rem;
}

.input-group > select,
.input-group > input {
    margin:0; !important;
    border-radius: 0;
}

.input-group > select:not(:first-child),
.input-group > input:not(:first-child) {
    border-left:none;
}

.input-group > select:first-child,
.input-group > input:first-child {
    border-radius: 4px 0 0 4px;
}

.input-group > select:last-child,
.input-group > input:last-child {
    border-radius: 0 4px 4px 0;
}

/* --- Animations --- */

@keyframe fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1.0;
    }
}

/* --- Banners --- */

.banner {
    padding:4rem 0;
}

.banner:not(.hero) h2 {
    font-size:2.25em;
    font-weight:100;
    margin-bottom:1.5em;
}

.banner:not(.hero) h3 {
    font-size:2.5em;
    margin:0 0 0.25em;
}

.banner.hero {
    background-color:#00317B;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color:white;
    position:relative;
}

.banner.hero::after {
    display:block;
    content:'';
    position:absolute;
    left:0;
    top:0;
    right:0;
    bottom:0;
    z-index:0;
    background-color:rgba(0,0,0,0.25);
}

.banner.hero * {
    z-index:1;
}

.banner.hero .widget {
    color:#333333;
    background-color:#ffffff;
    font-size:inherit;
    margin:0;
    position:relative;
}

.banner.blue {
    background-color:#00317B;
    color:#ffffff;
}

.banner.testimonial {
    color:#888888;
    margin-bottom:0;
}

.banner.testimonial .container {
    max-width:800px;
}

.banner.testimonial p.author {
    font-size:1.3em;
    font-weight:bold;
    color:#337AB7;
    margin-bottom:.25em;
}

.banner.testimonial p.author-title {
    margin:0;
}

.banner h1:only-child {
    margin-bottom:0;
}

.banner h1+p:last-child {
    margin-bottom:0;
}

/* --- Business Listing --- */

.row > .business-listing {
    flex-grow:0 !important;
}

.business-listing .image {
    display: block;
    padding-top:65%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom:1.5rem;
    background-color: #eeeeee;
    position:relative;
}

.business-listing.featured .image::after {
    display:block;
    content:'Featured';
    position:absolute;
    bottom:0;
    left:0;
    font-size:small;
    padding:8px;
    color:#ffffff;
    background-color:#00317B;
}

.business-listing h3 {
    margin:0 0 1.5rem;
}

.business-listing h3>a {
    text-decoration:none;
    color:inherit;
}

.business-listing ul.business-listing-details {
    list-style: none;
    margin: -.5rem 0 1.5rem;
    padding: 0;
    font-size:small;
}

.business-listing ul.business-listing-details>li {
    margin:.5rem 0 0;
}

.business-listing ul.business-listing-details>li>span{
    color:#337AB7;
}

.business-listing ul.business-listing-details>li.price {
    color:#337AB7;
    margin-top:1.25rem;
}

.business-listing ul.business-listing-details>li.price>span {
    font-size:1.5em;
    font-weight:500;
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
margin-bottom:0.25em;
}

.business-listing ul.business-listing-details>li.price br {
    display:inline;
}

.business-listing a:hover {
    opacity:0.5;
}

.business-listing.business-details-page .image {
    background-color: #222222;
    padding:1rem;
    display: flex;
    padding-top:50%;
    align-items:flex-end;
}

.business-listing.business-details-page .image a.gallery {
    color:#ffffff;
    background-color:rgba(0,0,0,0.35);
    padding:.8em 1.2em;
}

.business-listing.business-details-page h1 {
    font-size: 2em;
    margin-bottom: 2rem;
}

.business-listing.business-details-page ul.business-listing-details {
    font-size: 1.2em;
}

.business-details-page h2:not(:first-of-type) {
    margin-top:1.5em;
}

.business-details-page p {
    font-size:1.1em;
}

@media(min-width:768px){
    #BusinessDetails {
        width:85%;
        margin:auto;
    }
}

#BusinessDetails {
    margin-top:4rem;
}

/* --- Business Search --- */

.business-search-form

.business-search-form *.active {
    display: block;
    animation: fadeIn 0.2s ease;
}

/* --- Buttons --- */

.btn {
    display: inline-block;
    padding: .8em 1.2em;
    background-color: #00317B;
    color: white;
    line-height: 1;
    margin: 0 .5rem 2rem 0;
    font-weight: 400;
    text-align: center;
    transition: 0.2s ease;
    border-radius: 4px;
}

.btn:hover,
.btn:focus {
    outline: none;
    box-shadow:none;
    background-color:#337AB7;
}

.btn.default {
    background-color: #ddd;
    color: inherit;
}

.btn.default:hover,
.btn.default:focus {
    background-color: #ccc;
}

.btn.delete {
    background-color: red;
    box-shadow: none;
}

.btn.delete:hover,
.btn.delete:focus {
    background-color: red;
}

.btn.small {
    font-size:small;
    padding:8px 12px;
}

.btn-o {
    background-color:transparent !important;
    border:solid 2px;
    border-color:inherit;
    color:inherit;
}

.btn-o:hover,
.btn-o:focus {
    opacity:0.5;
}

.btn.full-width {
    width:100%;
}

/* --- Cards --- */

.card {
    background-color: #ffffff;
    border:solid 1px #ddd;
    margin-bottom: 2rem;
    align-self:stretch;
    border-radius:4px;
}

.card:not(.dark) h2,
.card:not(.dark) h3 {
    color:#00317B;
    margin-bottom: 1em;
}

.card-body {
    padding:2rem;
}

.card-body > *:last-child {
    margin-bottom:0;
}

.card:not(.dark) p {
    color: #444;
}

.card:not(.dark) p > a{
    color: #00317B;
}

.card.dark {
    background-color:#447490;
    color:#ffffff;
    border:none;
}

/* --- Checkbox Lists/Radio Lists --- */

.checkbox-list {
    margin:-1rem 0 2rem;
    padding:0;
}

.checkbox-list > label.checkbox {
    position: relative;
    padding-left:2rem;
    padding-top:1rem;
}

.checkbox-list > label.checkbox > input[type="checkbox"] {
    position: absolute;
    left:0;
    top:1rem;
}

/* --- Fieldsets --- */

fieldset {
    margin:0;
    padding:0;
    border:none;
}

fieldset legend {
    display: block;
    font-size: 1.5em;
    padding-bottom: 1em;
}

/* --- Footer --- */

footer.footer {
    background-color: #eeeeee;
    padding: 4rem 0;
}

footer.footer p {
    margin:0;
    font-size: .9em;
}

nav.nav.footer-nav {
    margin:1rem 0;
    font-size: .9em;
}

nav.nav.footer-nav ul {
    margin:-1rem 0 0 -1rem;
}

nav.nav.footer-nav ul>li {
    margin:1rem 0 0 1rem;
}

nav.nav.footer-nav ul>li>a {
    text-decoration:underline;
}

footer.footer .container {
    position:relative;
}

footer.footer a.back-to-top {
    position:absolute;
    right:0;
    top:0;
    display:inline-block;
    padding:1em;
    border-radius:8px;
    color:#ffffff;
    background-color:rgba(0,0,0,0.1);
}

footer.footer a.back-to-top:focus,
footer.footer a.back-to-top:hover {
    background-color:rgba(0,0,0,0.25);
}

@media(max-width:768px) {
    footer.footer a.back-to-top {
        position:relative;
        margin-top:2rem;
    }
}

/* --- Grid Layout --- */

.row {
    align-items: flex-start;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    max-width: none;
    padding: 0;
    flex-flow: row wrap;
    margin-left: -3rem;
}

.row.reverse {
    flex-direction:row-reverse;
}

.row.stretch {
    align-items:stretch;
}

.row.center {
    align-items:center;
}

.row>*[class*="col"] {
    flex-grow: 1;
    flex-shrink: 0;
    margin-left: 3rem;
}

.row.grow-0>*[class*="col"] {
    flex-grow:0;
}

.row>*[class*="col-1"] {
    width: calc(1 * 100% / 12 - 3rem);
}

.row>*[class*="col-2"] {
    width: calc(2 * 100% / 12 - 3rem);
}

.row>*[class*="col-3"] {
    width: calc(3 * 100% / 12 - 3rem);
}

.row>*[class*="col-4"] {
    width: calc(4 * 100% / 12 - 3rem);
}

.row>*[class*="col-5"] {
    width: calc(5 * 100% / 12 - 3rem);
}

.row>*[class*="col-6"] {
    width: calc(6 * 100% / 12 - 3rem);
}

.row>*[class*="col-7"] {
    width: calc(7 * 100% / 12 - 3rem);
}

.row>*[class*="col-8"] {
    width: calc(8 * 100% / 12 - 3rem);
}

.row>*[class*="col-9"] {
    width: calc(9 * 100% / 12 - 3rem);
}

.row>*[class*="col-10"] {
    width: calc(10 * 100% / 12 - 3rem);
}

.row>*[class*="col-11"] {
    width: calc(11 * 100% / 12 - 3rem);
}

.row>*[class*="col-12"] {
    width: calc(12 * 100% / 12 - 3rem);
}

@media(max-width:1000px) {
    .row>*[class*="lg-col"] {
        width: calc(100% - 3rem);
    }
}

@media(max-width:768px) {
    .row>*[class*="md-col"] {
        width: calc(100% - 3rem);
    }
}

@media(max-width:500px) {
    .row>*[class*="sm-col"] {
        width: calc(100% - 3rem);
    }
}

/* --- Header --- */

header.header {
    border-bottom:solid 1px rgba(0,0,0,0.1);
}

header.header .container {
    padding-top:2.5rem;
    position:relative;
    padding-bottom:2.5rem;
}

.header-tel {
    position:absolute;
    right:0;
    top:0;
    color:#ffffff;
    background-color: #00317B;
    padding:.5em 1em;
    border-radius:0 0 4px 4px;
    font-size:small;
}

header.header nav.header-nav {
    display: block;
}

header.header nav.header-nav ul {
    list-style: none;
    margin: 0 0 0 -2rem;
    padding: 0;
    display: flex;
    flex-flow:row nowrap;
    justify-content:flex-end;
    align-items:center;
}

header.header nav.header-nav ul > li {
    margin:0 0 0 2rem;
    white-space:nowrap;
}

header.header nav.header-nav ul > li > a:hover {
    color: #00317B;
}

header.header nav.header-nav ul > li.logo {
    flex-grow:1;
}

header.header nav.header-nav ul > li.logo img {
    max-width: 100%;
}

@media(max-width:768px){
    header.header nav.header-nav ul > li.logo img {
        max-width: 75%;
    }
    header.header nav.header-nav ul > li:not(.logo):not(.menu) {
        display:none;
    }
    .header-tel {
        display:none;
    }
}

/* --- Lists --- */

.list.inline {
    list-style:none;
    margin:-2rem 0 0 -1rem;
    padding:0;
}

.list.inline>li {
    display:inline-block;
    padding:2rem 0 0 1rem;
}

/* --- Navigation --- */

.website-navigation {
    position: absolute;
    left:0;
    right:0;
    background-color: #00317B;
    color: white;
    z-index: 100;
    padding: 4rem 0;
    box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);
}

.website-navigation h3 {
    font-weight: 600;
}

.website-navigation ul {
    list-style: none;
    margin:0 0 2rem;
    padding: 0;
}

.website-navigation ul > li {
    margin: 0 0 1rem;
}

/* --- Layout --- */

.container {
    width: calc(100% - 4rem);
    max-width: 1000px;
    margin: 0 auto;
    overflow: hidden;
}

.container.relative {
    position: relative;
}

#main {
    padding:4rem 0;
}

@media(min-width:768px){
    .sidebar {
        max-width:350px;
    }
}

hr {
    display: block;
    clear:both;
    border: none;
    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
    margin: 4rem 0;
}

/* --- Lists --- */

ul {
    margin:0 0 2rem;
    padding:0 0 0 1.5rem;
    list-style-position: outside;
}

ul > li {
    padding: 0;
    margin:0 0 1rem;
}

ul.list-inline {
    list-style: none;
    margin:-1rem 0 0 -2rem;
    padding:0;
    display: flex;
    flex-flow:row wrap;
}

ul.list-inline>li {
    margin: 0;
    padding:1rem 0 0 2rem;
}

ul.list-unstyled {
    list-style: none;
    padding:0;
}

ul.list-icons li {
    position:relative;
    padding-left:2rem;
}

ul.list-inline.list-icons>li{
    padding-left:4rem;
}

ul.list-icons li i.fa {
    position:absolute;
    left:0;
    top:0;
}

/* --- Nav --- */

nav.nav {
    margin:0 0 2rem;
}

nav.nav ul {
    list-style: none;
    margin: -1rem 0 0 -2rem;
    padding: 0;
    display: flex;
    flex-flow:row wrap;
    align-items:center;
}

nav.nav ul > li {
    margin:1rem 0 0 2rem;
}

nav.nav ul>li.grow {
    flex-grow:1;
}

nav.nav ul>li.right {
    text-align: right;
}

nav.nav ul > li * {
    margin: 0;
}

nav.nav ul > li a {
    opacity: 0.75;
}

nav.nav ul > li a:hover {
    opacity: 1.0;
}

nav.nav ul > li i.fa {
    margin-right: .5em;
}

nav.nav ul > li select {
    width: auto;
    padding: .5em;
}

/* -- Page Title -- */

.page-title {
    padding:4rem 0;
    background-color: #00317B;
    color: white;
}

.page-title h1 {
    margin: 0;
    font-weight: 100;
}

.page-title h1+p {
    margin:1em 0 0;
    font-size: 1.1em;
}

/* --- Tags --- */

ul.tags {
    list-style: none;
    margin:-1em 0 2rem -.5em;
    padding: 0;
    font-size: .85em;
}

ul.tags>li {
    display: inline-block;
    padding:.4em .8em;
    background-color: #00317B;
    color: white;
    text-align: center;
    margin:1em 0 0 .5em;
}

ul.tags>li.purple {
    background-color: #00317B;
}

ul.tags>li.dark {
    background-color: #00317B;
}

ul.tags>li i.fa {
    margin-right: .5em;
}

/* --- Links --- */

a {
    cursor: pointer;
    transition: 0.2s ease;
    text-decoration: none;
    color: inherit;
}

p>a,
h2>a,
h3>a {
    text-decoration: underline;
    color:inherit;
    cursor: pointer;
}

main p>a,
main h2>a,
main h3>a {
    color: #337AB7;
}

/* --- Widgets --- */

.widget {
    border:solid 1px #eee;
    padding: 2rem;
    border-radius: .5rem;
    margin-bottom: 2rem;
    font-size: .9em;
    box-shadow: 0 1px 3px rgba(60,64,67, 0.3), 0 4px 8px 3px rgba(60,64,67, 0.15);
}

.widget > *:last-child {
    margin-bottom: 0;
}


/* --- Pagination --- */

.pagination {
    width: 100%;
}

.pagination ul {}

.pagination ul li a {
    opacity: 0.5;
}

.pagination ul li a:hover {
    opacity: 1.0;
}

.pagination ul>li,
.pagination li.pag_number {
    display: inline-block;
    border: none;
}

.pagination .pag_number a {
    display: inline-block;
    padding: 0 .5rem;
    border: none !important;
}


/* --- Dashboard --- */

.dashboard .flex-1 {
    flex-basis:50%;
}

.emailviewer {
    display: inline-block;
    width: 100%;
    line-height: 1;
    padding: 12px;
    border: solid 1px rgba(0, 0, 0, 0.4);
    border-radius: 0;
    margin: 0 0 1rem;
    outline: none;
    background-color: white;
    color: white;
    border: none;
}
.emailviewer div
{
    color:White
}

/* -- Cookies Message -- */

.cookies_message {
    z-index: 100000;
    position: fixed;
    bottom:0;
    left:0;
    right:0;
    background-color: #00317B;
    color: #fff;
    padding: 2rem;
    display:flex;
    flex-flow:row nowrap;
    align-items:center;
    justify-content:center;
}

.cookies_message > * {
    margin:0;
}

.cookies_message a>i.fa {
    width:2em;
    height:2em;
    display:flex;
    justify-content:center;
    align-items:center;
    background-color:rgba(255,255,255,0.1);
    border-radius:100px;
    margin-right:2em;
}

.cookies_message p>a{ 
    text-decoration:underline;
}

/* -- Skip to Content -- */

.skip-to-content {
    position:absolute;
    left:-9999px;
    top:-9999px;
    visiblity:hidden;
    background-color:#fff;
    padding:12px;
    z-index:-9999;
}

.skip-to-content:focus {
    left:0;
    top:0;
    visibility:visible;
    z-index:9999;
}

/* -- Print Rules -- */

.print-only {
    display:none !important;
}