/**
* Generic Styles
*/
body {
    background-color: #E7EBEE;
    font-size: 14px;
    color: #45464E;
    font-family: 'freight-text-pro', serif;
    font-weight: 300;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    height: 100%;
}

h1 { font-size:26px; margin-bottom: 16px; }
h1.page-title { text-transform: uppercase; }
h1.page-title .icon { vertical-align: baseline; }

h2 { font-size: 26px;  margin-bottom: 22px; }
h3 { font-size: 12px; text-transform: uppercase; font-family: 'brandon-grotesque', sans-serif; }
h6 { text-transform: uppercase; letter-spacing: 1px; font-size: 0.9rem; margin-bottom: 10px;  }
h1 span.icon, h1 span.fa { margin-right: 10px; }

a { text-decoration: underline; color: #45464E; }
a:hover { text-decoration: none; color: #45464E; }

strong { font-weight: 600; }

.m-top-39 { margin-top: 39px; }
.m-top-30 { margin-top: 30px !important; }

label {
    letter-spacing: 1.2px;
    font-size: 12px;
    color: #868686;
    text-transform: uppercase;
    font-family: 'brandon-grotesque', sans-serif;
    font-weight: 500;
}

.page-link {
    color: black;
}
.pagination {
    justify-content: center;
}
.page-link:hover {
    color: #52596C;
}
.page-item.active .page-link {
    background-color: #52596C;
    border-color: #52596C;
}

/**
* Header
**/
header.primary {
    position: fixed;
    width: 100%;
    z-index: 999;
    background-color: #FFFFFF;
    font-size: 10px;
    color: #B10736;
    font-family: 'brandon-grotesque', sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.20);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.20);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.20);
}

header.primary a { text-decoration: none; }
header.primary .container-fluid { padding-left: 0; padding-right: 15px; }
header.primary .logo { background-color: #B10736; display: flex; flex-direction: column; justify-content: center; }
header.primary .menu { margin-top: 19px; text-transform: uppercase; }
header.primary .menu a { color: #526789; }
header.primary .menu .icon { vertical-align: bottom; }
header.primary .menu li span { margin-right: 15px; margin-left: 0 !important; }
header.primary .menu li.list-inline-item { margin-left: 6%; margin-right: 6%; }
header.primary .menu li.list-inline-item:first-child { margin-left: 0; }
header.primary .menu li.list-inline-item:last-child { margin-right: 0; }
header.primary .menu li.list-inline-item a span { margin-left: 15px; }

header.primary .menu li .menu-toggle { display: inline-block; height: 16px; width: 16px; background: url('../images/icons/menu-icon-blue.svg') no-repeat center center; vertical-align: bottom; }
header.primary .menu li .menu-toggle.open { background-image: url('../images/icons/menu-close-icon-blue.svg'); vertical-align: bottom; }

/**
* Navigation
 */
section.nav-wrapper {
    overflow-y: scroll;
    position: fixed;
    background: #475C7F;
    height: 100%;
    width: 100%;
    float: left;
    color: #fff;
    text-transform: uppercase;
    font-family: 'brandon-grotesque', sans-serif;
    letter-spacing: 1px;
    font-weight: 500;
    padding-top: 64px;
    font-size: 12px;
    display: none;
    z-index: 99;
}

section.nav-wrapper hr { color: #E7EBEE; background-color: #E7EBEE; }
section.nav-wrapper h2 { font-size: 20px; margin-bottom: 25px; }
section.nav-wrapper a { color: #FFFFFF; text-decoration: none; }
section.nav-wrapper header { padding-top: 35px; margin-bottom: 25px; }
section.nav-wrapper header span.fa.fa-chevron-down { margin-left: 52px; }
section.nav-wrapper nav ul li { position: relative; }
section.nav-wrapper nav ul li.active, section.nav-wrapper nav ul li:hover { background-color: #3f516f; }
section.nav-wrapper nav ul li a { display: block; padding: 32px 0 32px 0; }
section.nav-wrapper nav ul li a .icon { display: block; float: left; margin-right: 20px; margin-top: -3px; }
section.nav-wrapper nav ul li .indicator {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 16px;
    padding: 30px 0 0 10px;
    height: 100%;
    background-color: #E7EBEE;
    width: 28px;
    color: #475C7F;
}
section.nav-wrapper nav ul li.active .indicator { display: block; }

section.nav-wrapper footer {
    bottom: 0;
    padding-left: 19px;
    padding-right: 73px;
    margin-top: 30px;
}
section.nav-wrapper footer .social { margin-bottom: 34px; }

section.nav-wrapper footer .delete-account { padding-bottom: 34px; margin-top: 36px; }
section.nav-wrapper footer .delete-account span { margin-top: 2px; display: inline-block; }
section.nav-wrapper footer .delete-account .icon { margin-right: 12px; display: block; float: left; }

/**
* Page
 */
.page-wrapper { height: 100%; }
.page {
    float: left;
    width: 100%;
    height: 100%;
    padding-top: 59px;
}
.page .page-row { background: #fff; min-height: 100%; padding-top: 26px; }
.page .container-fluid { padding-left: 0px; padding-right: 0px; }

.page p { margin-bottom: 16px; }

/**
* Buttons
 */
.button-row { margin-top: 0px; }

/**
* Styled Checkboxes
 */
.styled-checkbox {
    position: relative;
    margin:4px;
    overflow: hidden;
    border-radius: 0.55rem;
    min-height: 48px;
}
.styled-checkbox label { float:left; width: 100%; height: 100%; margin-bottom: 0; }
.styled-checkbox label span {
    text-align:center;
    display:block;
    width: 100%;
    padding: 15px 0 15px 0;
    min-height: 48px;
    color: #ffffff;
}

.styled-checkbox label span i.icon { vertical-align: top; }
.styled-checkbox label input { position:absolute; top:-20px; }

/** Initial Checked/Unchecked styles for the checkbox span **/
.styled-checkbox label input + span { background-color: #DC0040; }
.styled-checkbox label input:checked + span { background-color: #4ADCBB; }
.styled-checkbox.clicked label input:checked + span strong { display: none; }
.styled-checkbox.clicked label input + span strong { display: none; }

.styled-checkbox.clicked.checked label input + span .icon { background-image: url('../images/icons/cross-icon-white.svg') !important; }
.styled-checkox.clicked.unchecked label input + span .icon { background-image: url('../images/icons/tick-icon-white.svg') !important; }

/**
* Cards
 */
.card .card-content { padding: 46px 34px 46px 34px; }

/**
* Map
 */
#map, #mapMobile { height: 100%; }
#map, #mapMobile > div { position: relative !important; }
#map, #mapMobile .gm-style { position: relative !important; }
#map, #mapMobile iframe { position: relative !important; }

/** Custom map marker **/
.marker {
    height: 24px;
    background: #ffffff;
    font-family: 'brandon-grotesque', sans-serif;
    text-transform: uppercase;
    padding: 3px 8px 3px 32px;
    border-radius: 6px;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #333;
    position: relative;
    -webkit-box-shadow: -1px 14px 19px 0px rgba(0,0,0,0.4);
    -moz-box-shadow: -1px 14px 19px 0px rgba(0,0,0,0.4);
    box-shadow: -1px 14px 19px 0px rgba(0,0,0,0.4);
    overflow: visible !important;
}
.marker::after {
    content: " ";
    position: absolute;
    left: 42%;
    bottom: -16px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 16px solid #ffffff;
    clear: both;
}
.marker.curchods::before {
    content: " ";
    width: 24px;
    height: 24px;
    position: absolute;
    display: block;
    top:0;
    left: 0;
    background: url('../images/curchods-logomark.png') no-repeat transparent center center;
    background-size: cover;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.marker.burns-webber::before {
    content: " ";
    width: 24px;
    height: 24px;
    position: absolute;
    display: block;
    top:0;
    left: 0;
    background: url('../images/burnsandwebber-logomark.png') no-repeat transparent center center;
    background-size: cover;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

/**
* Icons
 */
.icon { display: inline-block; background: center center transparent no-repeat; }

.icon.icon-16 { width: 16px; height: 16px; }
.icon.icon-20 { width: 20px; height: 20px; }
.icon.icon-27 { width: 27px; height: 27px; }

.icon.icon-circle { border-radius: 50%; }
.icon.icon-27.icon-circle { text-align: center; padding-top: 8px; }

.icon.icon-white-background { background-color: #FFFFFF; color: #7E8693; }

.icon.icon-user { background-image: url('../images/icons/user-icon.svg'); }
.icon.icon-notification { background-image: url('../images/icons/notification-icon.svg'); }
.icon.icon-search { background-image: url('../images/icons/search-icon.svg'); }
.icon.icon-menu { background-image: url('../images/icons/menu-icon.svg'); }
.icon.icon-call { background-image: url('../images/icons/call-icon.svg'); }

.icon.icon-user:hover { background-image: url('../images/icons/user-icon.svg'); }
.icon.icon-notification:hover { background-image: url('../images/icons/notification-icon.svg'); }
.icon.icon-search:hover { background-image: url('../images/icons/search-icon.svg'); }
.icon.icon-menu:hover { background-image: url('../images/icons/menu-icon.svg'); }
.icon.icon-call:hover { background-image: url('../images/icons/call-icon.svg'); }
.icon.icon-bin { background-image: url('../images/icons/bin-icon.svg'); }
.icon.icon-preferences { background-image: url('../images/icons/preferences-icon.svg'); }
.icon.icon-account { background-image: url('../images/icons/account-icon.svg'); }

.icon.icon-account.icon-white { background-image: url('../images/icons/account-icon-white.svg'); }
.icon.icon-call.icon-white { background-image: url('../images/icons/call-icon-white.svg'); }
.icon.icon-preferences.icon-white { background-image: url('../images/icons/preferences-icon-white.svg'); }
.icon.icon-user.icon-white { background-image: url('../images/icons/user-icon-white.svg'); }

.icon.icon-tick.icon-white { background-image: url('../images/icons/tick-icon-white.svg'); }
.icon.icon-cross.icon-white { background-image: url('../images/icons/cross-icon-white.svg'); }

.icon.icon-call.icon-blue { background-image: url('../images/icons/call-icon-blue.svg'); }
.icon.icon-search.icon-blue { background-image: url('../images/icons/search-icon-blue.svg'); }
.icon.icon-menu.icon-blue { background-image: url('../images/icons/menu-icon-blue.svg'); }
.icon.icon-user.icon-blue { background-image: url('../images/icons/user-icon-blue.svg'); }

.load { width:28px; animation: loading 3s linear infinite; }
.load .loading-inner {
    stroke-dashoffset: 0;
    stroke-dasharray: 300;
    stroke-width: 10;
    stroke-miterlimit: 10;
    stroke-linecap: round;
    animation: loading-circle 2s linear infinite;
    stroke: #fff;
    fill: transparent;
}

@keyframes loading {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}
@keyframes loading-circle {
    0% {
        stroke-dashoffset: 0;
    }
    100% {
        stroke-dashoffset: -600;
    }
}

/**
* Branch Specific
 */
.card.branch h2 { margin-bottom: 10px; }
.card.branch h3 { color: #46474F; }
.card.branch .title-row { margin-bottom: 36px; }

.card.branch h3 { border-bottom: 1px solid #9FA0A3; padding-bottom: 7px; }
.card.branch .title-row h3 { border-bottom: none; padding-bottom: inherit; }
.card.branch a.btn { margin-top: 8px; }

.card.branch .mobile-map-row { height: 488px; margin-left: -49px; margin-right: -49px; margin-bottom: 40px; }
.card.branch .card-content { padding: 24px 31px 24px 31px; }

/**
* Forms
 */
#title { margin-bottom: 12px; }
#phone { margin-bottom: 12px; }
#town { margin-bottom: 12px; }
#country { margin-bottom: 12px; }

.error { color: #DC0040; font-size: 9px; }

button[type='submit'] { margin-top: 30px; }

/**
* Preferences specific
 */
.subscriptions { margin-bottom: 60px }
.subscriptions .subscription { margin-bottom: 30px; }
.subscriptions .subscription .styled-checkbox { margin: 10px 0px 0px 0px !important; }

    /**
    * Bootstrap overrides
     */
.container-fluid { padding-left: 47px; padding-right: 47px; }

.form-group { margin-bottom: 12px; }
.form-control {
    border-radius: 0px;
    font-size: 16px;
    color: #45464E;
    background-color: #F7F7F7;
    border: none;
    height: 48px !important;
}

.form-control:focus {
    color: #45464E;
    background-color: #F7F7F7;
    border-color: transparent;
    outline: 0;
    box-shadow: none;
}

.form-header-row { margin-bottom: 19px; margin-top: 23px; }
.form-header-row p { font-size: 12px; font-weight: 300; margin-bottom: 0; }

.btn {
    border-radius: 0.55rem;
    min-height: 48px;
    border: none;
    text-transform: uppercase;
    font-family: 'brandon-grotesque', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-decoration: none;
    margin-bottom: 11px;
}

.btn.btn-primary { background-color: #B10736; }
.btn.btn-secondary { background-color: #52596C; }

a.btn { padding-top: 15px; }

.custom-select.is-invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .was-validated .form-control:invalid { border-width: 1px; border-style: solid; }

.alert {
    position: fixed;
    bottom: 0;
    width: 100%;
    margin-bottom: 0;
    z-index: 99999;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}
.alert.alert-success { background-color: #4ADCBB; border-color: #4ADCBB; color: #fff; font-weight: 600; }
.alert p { margin-bottom: 0 !important; }
.alert ul { margin-bottom: 0; }

.alert .alert-icon { font-size: 18px;  height: 100%; }

.card {
    border-radius: 0;
    border: none;
    background: #F7F7F7;
}

.tooltip .tooltip-inner { background-color: #F7F7F7;  color: #45464E; font-size: 12px; padding: 20px; text-align: left; width: 100%; }
.tooltip .tooltip-inner h4 { text-transform: uppercase; font-size: 12px; font-family: 'brandon-grotesque'; width: 100%; border-bottom: 1px solid #9FA0A3; padding-bottom: 10px; }
.tooltip .tooltip-inner p { font-size: 12px; font-family: 'freight-text-pro'; }
.tooltip.bs-tooltip-right .arrow:before { border-right-color: #F7F7F7 !important; }
.tooltip.bs-tooltip-left .arrow:before { border-left-color: #F7F7F7 !important; }
.tooltip.bs-tooltip-bottom .arrow:before { border-bottom-color: #F7F7F7 !important; }
.tooltip.bs-tooltip-top .arrow:before { border-top-color: #F7F7F7 !important; }

#unsub-socials {
  display:flex;
  justify-content:space-between;
}
@media (max-width: 767px) {
  #unsub-socials {
    flex-direction: column;
  }
}
/** Small devices (landscape phones, 576px and up) **/
@media (min-width: 576px) { }

/** Medium devices (tablets, 768px and up) **/
@media (min-width: 768px) {
    body { font-size: 16px; }

    /** Headings **/
    h1 { font-size: 38px; margin-bottom: 40px; }
    h1 span.icon, h1 span.fa { margin-right: 30px; }
    h2 { font-size: 32px;  margin-bottom: 36px; }

    /** Header **/
    header.primary { height: 64px; }
    header.primary .container-fluid { padding-left: 15px; padding-right: 15px; }
    header.primary .logo { background-color: transparent; padding-top: 0; display: block; }
    header.primary .menu { margin-top: 22px; text-transform: uppercase; }
    header.primary .menu li.list-inline-item { margin-left: 15px; margin-right: 15px; }

    /** Navigation **/
    section.nav-wrapper { display: block; width: 278px; overflow: hidden; }
    section.nav-wrapper header { padding-top: 64px; margin-bottom: 58px; }
    section.nav-wrapper footer { position: absolute; }

    /** Page **/
    .page {
        padding-left: 278px; /** Left padding to take into account the size of the side navigation and the amount of padding required. **/
        padding-top: 98px; /** Top padding to take into account the size of the header **/
    }
    .page .page-row {  padding-top: 172px; padding-bottom: 172px; }
    .page .container-fluid { padding-left: 34px; padding-right: 34px; }
    .page p { margin-bottom: 40px; }

    /** Forms **/
    #title { margin-bottom: 0; }
    #phone { margin-bottom: 0; }
    #town { margin-bottom: 0; }
    #country { margin-bottom: 0; }
    .form-group { margin-bottom: 20px; }
    .btn { margin-bottom: 0; }
    button[type='submit'] { margin-top: 0; }

    .button-row { margin-top: 30px; }

    /**
     * Preferences specific
     */
    .subscriptions { margin-bottom: 0; border-right: 1px solid #D0D0D2; }
    .subscriptions .subscription { margin-bottom: 20px; }

    /**
    * Branch Specific
     */
    .card.branch .card-content { padding: 46px 34px 46px 34px; }

    .subscriptions .subscription .styled-checkbox { margin-top: 30px !important; }

    .marketing-checkbox { margin-top: 40px; }
}

/** Large devices (desktops, 992px and up) **/
@media (min-width: 992px) {}

/** Extra large devices (large desktops, 1200px and up) **/
@media (min-width: 1200px) {}
