﻿/* Define Colour Palette */
/* ----------------------------------------------------------------------------*/
:root
{
    --bcppurple: #361e54;
    --bcplightblue: #e8f3fa;
    --bcpgreen: #3c6312;
    --bcppink: #d83a95;
    --bcpred: #B30000;
}

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');


.bcppurple-background
{
    background-color: #361e54;
    color: white;
}

.bcplightblue-background
{
    background-color: #e8f3fa;
    color: #000;
}

.bcpgreen-background
{
    background-color: #3c6312;
    color: #000;
}

.dark
{
    background-color: #e8f3fa;
}

.light
{
    background-color: #fff;
}

/* Define Global Styles */
/* ----------------------------------------------------------------------------*/
*,*:before, *::after
{
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    background-repeat: no-repeat;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    text-shadow: rgba(0,0,0,.01) 0 0 1px;
}

.visuallyhidden:not(:focus):not(:active) 
{
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.hidden
{
    display: none;
}

.sys_template
{
    width: 100vw;
}

html 
{
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    width: 100%;
    padding: 1.0625rem;
}

@media (min-width: 992px)
{
    html 
    {
        padding: 0;
    }
}


body
{
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    line-height: 1.5; 
    color: #000;
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
    margin: 0;
    padding: 0;
    width: 100%;
    background-color: #fff;
}

@media (min-width: 1281px)
{
    body
    {
        margin-bottom: 2rem;
    }
}


form
{
    width: 100%;
    font-family: inherit;
    font-size: inherit;
    background-color: inherit;
    color: inherit;
}

p
{
    line-height: 1.5;
    font-size: 1rem;
    font-family: inherit;
    margin: 0 0 1.5rem 0;
    background-color: inherit;
    color: inherit;
}

p img
{
    max-width: 100%;
    height: auto;
}

.text-light
{
    font-weight: normal;
}

.text-bold
{
    font-weight: 700;
}

a
{
    text-decoration: underline;
    color: #0064b1;
    word-break: break-word;
    background-color: inherit;
}

.row
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.link-more 
{
    color: #361e54;
    font-weight: 700;
}

.link-more a,.link-more a:hover, .link-more a:active 
{
    color: #361e54;
    font-weight: 700;
    text-decoration: none;
}

.link-more:after 
{
    font-family: fontello;
    content: "\e801";
    margin-left: 8px;
    vertical-align: middle;
    font-size: 0.9rem; 
}

.mobile-only
{
    display: block;
    visibility: visible;
}

@media (min-width: 768px)
{
    .mobile-only
    {
        display: none;
        visibility: hidden;
    }
}

ul
{
    margin-bottom: 1.5em;
    background-color: inherit;
    color: inherit;
}

li
{
    background-color: inherit;
    color: inherit;
}

/* Define Heading Styles */
/* ----------------------------------------------------------------------------*/
h1, .contactPageTitle h2
{
    font-size: 2rem;
    line-height: 1.5;
    margin: 1.3333rem 0 0.1667rem 0;
    font-weight: normal;
    background-color: inherit;
    color: inherit;
}

@media (min-width: 992px)
{
    h1, .contactPageTitle h2
    {
        margin: 0.5rem 0 2rem 0;  /* changed at phase 10 */
    }    
}

h1 a, .contactPageTitle h2 a
{
    color: inherit;
    text-decoration: none;
}

#site-homepage .main-content h1
{
    visibility: hidden;
    width: 100%;
    padding: 0;
    margin: 0;
    height: 0;
}

h2, .contactCard-Heading h3
{
    font-size: 1.75rem;
    line-height: 1.5;
    margin: 0.6667rem 0 0.1667rem 0;
    font-weight: normal;
    color: inherit;
    background-color: inherit;
}

@media (min-width: 992px)
{
    h2, .contactCard-Heading h3
    {
        margin: 0.5rem 0 1.5rem 0;
    }    
}

h2 a, .contactCard-Heading h3 a
{
    color: inherit;
    text-decoration: none;
}

h3, .h3style 
{
    font-size: 1.5rem;
    line-height: 1.5;
    margin: 0.3333rem 0 0.1667rem 0;
    font-weight: normal;
    color: inherit;
    background-color: inherit;
}

@media (min-width: 992px)
{
    h3, .h3style
    {
        margin: 0.5rem 0 1.5rem 0;  
    }      
}

h3 a, .h3style a
{
    color: inherit;
    text-decoration: none;
}

h4 
{
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 0.1667rem 0 0.1667rem 0;
    font-weight: normal;
    color: inherit;
    background-color: inherit;
}

h4 a
{
    color: inherit;
    text-decoration: none;
}

@media (min-width: 992px)
{
    h4 
    {
        margin: 0.5rem 0 1.5rem 0; 
    }      
}

h5
{
    font-size: 0.75rem;
    line-height: 1.5;
    font-weight: normal;
    color: inherit;
    background-color: inherit;
}

@media (min-width: 992px)
{
    h5
    {
        margin: 0.5rem 0 2rem 0;
    }
}

h5 a
{
    color: inherit;
    text-decoration: none;
}

h6
{
    font-size: 0.5rem;
    line-height: 1.5;
    font-weight: normal;
    color: inherit;
    background-color: inherit;
}

@media (min-width: 992px)
{
    h6
    {
        margin: 0.5rem 0 2rem 0; 
    }
}

h6 a
{
    color: inherit;
    text-decoration: none;
}

b, strong 
{
    font-weight: 700;
}


/* Define Section Styles */
/* ----------------------------------------------------------------------------*/
header
{
    width: 100%;
    max-width: 100%;
    margin-bottom: 2.0625rem;
    background-color: inherit;
    color: inherit;
}

@media (min-width: 992px)
{
    header
    {
        width: 75%;
        max-width: 75%;
        margin-left: auto;
        margin-right: auto;
    }
}

footer
{
    width: 100%;
    text-align: center;
    font-family: inherit;
    font-size: 0.56rem;
    line-height: 1.5;
    background-color: #361e54;
    color: #fff;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    height: auto;
    align-items: center;
}

@media (min-width: 992px)
{
    footer
    {
        font-size: 1rem;
        line-height: 1.5;
        height: 4rem;
        margin-top: 3.125rem 

    }
}

@media (min-width: 1280px)
{
    footer
    {
        font-size: 1.25rem;
        line-height: 1.5;
        margin-top: 6.938rem; 
    }
}

main
{
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
    background-color: inherit;
    color: inherit;
}

@media (max-width: 768px)
{
    main
    {
        max-width: 100%;
        width: 100%;
    }
}


.main-content
{
    width: 100%;
}

@media (min-width: 992px)
{
    .main-content
    {
        width: 75%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Define Site Header Styles */
/* ----------------------------------------------------------------------------*/
#site-header
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

#site-header-alert
{
    width: 100%;
    max-width: 100%;
}


#site-header-logo
{
    width: 60%;
    padding: 0;
    margin: 0;
}

#site-header-logo h1
{
    color: #361e54;
    font-size: 1.7rem;
    line-height: 1.5;
    margin: 1rem 0; 
}

@media (min-width: 568px)
{
    #site-header-logo
    {
        width: 70%;
        font-size: 1.75rem;
    }

    #site-header-logo h1
    {
        font-size: 2.25rem;
        margin: 1.3333rem 0 2.125rem 0; 
    }
}

@media (min-width: 768px)
{
    #site-header-logo
    {
        width: 60%;
    }
}

#site-logo a 
{
    text-decoration: none;
    color: inherit;
}

#site-search
{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}


@media (min-width: 992px)
{
    #site-search
    {
        display: flex;
        flex-direction: row;
    }
}

#site-search label
{
    display: none;
    visibility: hidden;
}

#site-search input[type="text"] 
{
    height: 2rem;
    width: 65%;
    border: 1px solid #361e54;
    border-right: none;
    padding: 5px;
    padding-left: 10px;
    font-size:0.875rem;
    line-height: 1.5;
    border-radius:0;
}

@media (min-width: 992px)
{
    #site-search input[type="text"] 
    {
        width: 75%;
        height: 3.25rem;
        font-size: 1.3rem;   
        line-height: 1.5;
    }
}



@media (min-width: 1281px)
{
    #site-search input[type="text"] 
    {
        height: 3.25rem;
        font-size: 1.75rem;    
        line-height: 1.5
    }
}

#site-search input::placeholder
{
    visibility: hidden;
    font-size: 1.3rem;
    line-height: 1.5;
    color: #575757;
}


@media (min-width: 992px)
{
    #site-search input::placeholder
    {
        font-style:italic;
        visibility: visible;
        font-size: 1.3rem;
        line-height: 1.5;
    }
}

@media (min-width: 1281px)
{
    #site-search input::placeholder
    {
        font-style:italic;
        visibility: visible;
        font-size: 1.75rem;
        line-height: 1.5
    }
}

#search-location 
{
    position: relative;
    background: white;
    height: 2rem;
    border: 1px solid #361e54;
    width: 31%;
    font-size: 1.75rem;
    line-height: 1.5;
    color: #361e54;
    text-align-last: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}

@media (min-width: 992px)
{
    #search-location 
    {
        width: 20%;
        height: 3.25rem;
    }
}

#search-location:after 
{
    content: '';
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
    right: 10px;
    bottom: 0;
    margin: auto;
    border-style: solid;
    border-width: 5px 5px 0 5px;
    border-color: #361e54 transparent transparent transparent;
    pointer-events: none;
  }
  
#search-location:before 
{
    width: 20px;
    position: absolute;
    top: 1px;
    right: 0;
    bottom: 1px;
    background: #fff;
    content: '';
    pointer-events: none;
    border: 0;
  }

@media (min-width: 992px)
{
    #search-location:before 
    {
        width: 30px;
    }
}

#site-search select
{
    height: 97%;
    width: 100%;
    font-size: 1.1rem;
    line-height: 1.5;
    font-weight: normal;
    font-family: inherit;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: 0;
    background-image: none;
    background-color: transparent;
    padding: 0;
    margin: 0;
}

#site-search select option
{
    background-color: #fff;
}

#site-search select:focus
{
    outline: 0;
}

#site-search select::-ms-expand {
    display: none;
}

-moz-focusring 
{
    color: transparent;
    text-shadow: 0 0 0 #000;
} 


@media (min-width: 992px)
{
    #site-search select
    {
        height: 100%;
        border: 0;
        width: 100%;
        font-size: 1.3rem;
        line-height: 1.5;
        color: #361e54;
    }
}

@media (min-width: 1281px)
{
    #site-search select
    {
        height: 100%;
        border-right: none;
        width: 100%;
        font-size: 1.75rem;
        line-height: 1.5;
        color: #361e54;
        text-align-last: center;
    }
}

#site-search input[type="submit"]
{
    height: 2rem;
    width: 2rem;
    font-weight: normal;
    font-family: fontello;
    border: 1px solid #361e54;
    border-right: none;
    padding: 5px;
    font-size: 0.75rem;
    line-height: 1.5;
    background-color:#361e54;
    color: #fff;
    border-radius: 0;
    -webkit-appearance: inherit;
    cursor: pointer
}

@media (min-width: 992px)
{
    #site-search input[type="submit"] 
    {
        height: 3.25rem;
        width: 10%;
        font-family: inherit;
        font-size: 1.3rem;
        line-height: 1.5;
    }
}

@media (min-width: 1281px)
{
    #site-search input[type="submit"] 
    {
        height: 3.25rem;
        width: 10%;
        font-family: inherit;
        font-size: 1.75rem;
        line-height: 1.5
    }
}

#search-submit
{
    display:none;
}

@media (min-width: 992px)
{
    #search-submit
    {
        display:block;
    }
}


#search-submit-mobile
{
    display: block;
    font-family: 'fontello';
}

@media (min-width: 992px)
{
    #search-submit-mobile
    {
        display:none;
    }
}

#site-header-signup
{
    width: 10%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    font-size: 1.3rem;
    line-height: 1.5;
    color: #361e54;
    justify-content: center;
    align-items: center;
    padding-right: 1rem;
}

@media (min-width: 568px)
{
    #site-header-signup
    {
        justify-content: flex-end;
    }
}

@media (min-width: 768px)
{
    #site-header-signup
    {
        width: 25%;
    }
}

#site-header-signup img
{
    width: auto;
    height: 16px;
    margin-right: 0.5rem;
}

#site-header-signup-text
{
    display: none;
}

#site-header-signup a, #site-header-signup a:hover, #site-header-signup a:active
{
    text-decoration: none;
    color: #361e54;
    display: flex;
    align-items: center;
    flex-direction: row;
}

@media(min-width: 768px)
{
    #site-header-signup
    {
        width: 25%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        font-size: 1.3rem;
        line-height: 1.5;
        color: #361e54;
    }

    #site-header-signup-text
    {
        display: block;
    }
}

@media (min-width: 1024px) {
	#site-header-signup 
	{
		width: 23%;
	}
}


/* Define Menu Styles */
/* ----------------------------------------------------------------------------*/

#site-header-menu
{
    width: 25%;
    text-align: right;
    font-size: 1.1rem;
    line-height: 1.5;
    color: #361e54;
    cursor: pointer;
    z-index: 9998;
}

@media (min-width: 568px)
{
    #site-header-menu
    {
        width: 20%;
    }
}

@media (min-width: 768px)
{
    #site-header-menu
    {
        font-size: 1.3rem;
        line-height: 1.5;
        width: 15%;
    }
}

#site-header-menu.menu-active
{
    background-color: #361e54;
    color: #fff;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    padding: 10px;
    text-align: center;
}

.icon-menu::before
{
    margin-right: 0.8em;
    color: #361e54;
}

.icon-menu.menu-active::before
{
    margin-right: 0.8em;
    color: #fff;
}

#menu-overlay
{
    width: 100%;
    height: 100%;
    background-color: hsla(0, 0%, 100%, 0.8);
    grid-column-start: 1;
    grid-column-end: 5;
    grid-row-start: 3;
    grid-row-end: 3;
    align-self: center;
    justify-self: center;
    grid-column: 1 4;
    -ms-grid-column: 1;
    -ms-grid-column-span: 4;
    grid-row: 3;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column-align: end;
    display: flex;
    flex-direction: row;
}

#site-header-overlay
{
    width: 100%;
    height: 100%;
    background-color: hsla(0, 0%, 100%, 0.8);
    z-index: 9997;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
}

#site-header-submenu
{
    background-color: #fff;
    width: 100%;
    z-index: 9999;
    position: relative;
    top: -7px;
    margin-left: auto;
    margin-right: auto;
    height: 0;
    display: none;
}

@media (min-width: 568px)
{
    #site-header-submenu
    {
        top: -19px;
    }
}

@media (min-width: 730px)
{
    #site-header-submenu
    {
        top: -19px;
        width: 100%;
    }
}

@media (min-width: 1025px)
{
    #site-header-submenu
    {
        width: 75%;
        top: -8px;
        margin-left: auto;
        margin-right: unset;
    }
}

@media (min-width: 1680px)
{
    #site-header-submenu
    {
        top: -18px;
    }
}


.site-menu-columns
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background-color: #fff;
    border: 1px solid #361e54;
    padding: 1.25rem;
    justify-content: space-between;
}

.site-menu-column-one
{
    width: 100%;
}

@media (min-width: 992px)
{
    .site-menu-column-one
    {
        width: 25%;
    }
}

.site-menu-column-two
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

@media (min-width: 992px)
{
    .site-menu-column-two
    {
        width: 70%;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
}

.site-menu-column-half
{
    width: 100%;
}

@media (min-width: 992px)
{
    .site-menu-column-half
    {
        width: 50%;
    }
}

#site-header-submenu ul
{
    list-style-type: none;
    padding: 0 10px;
    font-family: Arial, Helvetica, sans-serif;
    color: #361e54;
    margin: 0;
}

@media (min-width: 992px)
{
    #site-header-submenu ul
    {
        padding: 10px;
    }
}

#site-header-submenu ul li
{
    padding: 3px 0 3px 0;
}

#site-header-submenu ul li hr
{
    background: #361e54;
    border: 0;
    height: 1px;
}

#site-header-submenu ul li.spacer
{
    padding: 2px;
}

#site-header-submenu ul li.spacer-hidden
{
    display: block;
}

@media (min-width: 992px)
{
    #site-header-submenu ul li.spacer-hidden
    {
        display: none;
    }
}

#site-header-submenu ul li a
{
    text-decoration: none;
    color: #361e54;
}


/* Define Search Result Styles */
/* ----------------------------------------------------------------------------*/

#search-results h3 a
{
    color: #000;
    text-decoration: none;
}

#search-results h3 a:hover
{
    text-decoration: underline;
}

#search-results p
{
    margin-bottom: 30px;
}

.search-results-pager
{
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.search-results-pager li
{
    display: inline-block;
    padding: 0.5rem;
    background-color: #fff;
    color: #361e54;
}

.search-results-pager li.selected
{
    background-color: #361e54;
    color: #fff;
}

.search-results-pager li a
{
    color: #361e54;
    text-decoration: none;
}

.search-results-pager li.selected a
{
    color: #ffffff;
    text-decoration: none;
}

/* Define Site Footer Styles */
/* ----------------------------------------------------------------------------*/
#footer-inner
{
    width: 100%;
    max-width: 100%;
    margin-left:auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    background-color: inherit;
    height: 100%;
}

@media (min-width: 992px)
{
    #footer-inner
    {
        align-items: normal;
        width: 75%;
        max-width: 75%;
        flex-direction: row;
    }
}

#footer-social
{
    width: 100%;
    color: #fff;
    align-self: center;
    display: flex;
    order: 2;
    justify-content: center;
    font-size: 1rem;
}

@media (min-width: 992px){
    #footer-social {
        width: 20%;
        order: 1;
        display: block;
    }
}

#footer-social ul
{
    list-style-type: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

#footer-social ul li
{
    margin-right: 10px;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 2rem;
}

@media (min-width: 992px){
    #footer-social ul li
    {
        margin-right: 10px;
        width: auto;
        height: auto;
        font-size: inherit;
    }
}

#footer-social a 
{
    text-decoration: none;
    color: #fff
}

#footer-links
{
    width: 100%;
    align-self: center;
    order: 1;
    font-size: 1rem;
}

@media (min-width: 992px)
{
    #footer-links
    {
        width: 60%;
        align-self: center;
        order: 2;
    }
}

#footer-links ul
{
    list-style-type: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    padding: 0;
}

#footer-links ul li
{
    margin-right: 0;
    width: 50%;
    height: 2.5rem;
}

@media (min-width: 992px)
{
    #footer-links ul li
    {
        margin-right: 10px;
        width: auto;
        height: auto;
    }
}

#footer-links a 
{
    text-decoration: none;
    color: #fff
}

#footer-copy
{
    width: 100%;
}

#footer-logo
{
    width: 100%;
    text-align: center;
    order: 3;
    margin-top: 1rem;
}

@media (min-width: 992px) {
    #footer-logo
    {
        width: 20%;
        text-align: right;
        margin-top: 0;
    }
}

#footer-logo img
{
    margin-top: 0;
    width: auto;
    height: 3.125rem;
}

@media(min-width: 992px)
{
    #footer-logo
    {
        margin-top: 1.5rem;
    }
    
    #footer-logo img
    {
        margin-top: -11.3rem;
        width: 50%; 
        height: auto;
    }
}

@media(min-width: 1280px)
{
    #footer-logo
    {
        margin-top: 2.5rem;
    }
}


/* Define Page Image Styles */
/* ----------------------------------------------------------------------------*/

#page-image, #page-image-fullwidth
{
    width: 100%;
    margin-left:auto;
    margin-right: auto;
    display: block;
    visibility: visible;
    margin-bottom: 2.0625rem;
}

#page-image-fullwidth
{
    width: 100%;
}

@media (max-width: 768px)
{
    #page-image, #page-image-fullwidth
    {
        display: none;
        visibility: hidden;
    }

    #promoPageImage #page-image
    {
        display: block;
        visibility: visible;
    }
}

#page-image img, #page-image-fullwidth img
{
    width: 100%;
    height: auto;
}


/* Define Info Box Styles */
/* ----------------------------------------------------------------------------*/
.infobox-row
{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction:row;
    flex-wrap:wrap;
    margin-bottom: 20px;
}


.infobox-card
{
    width: 30%;
    margin-right: 10px;
}

@media (max-width: 768px)
{
    .infobox-card
    {
        width: 100%;
    }
}

.infobox-card ul
{
    padding-left: 0;
    list-style: none;
}

.more
{
    border-bottom: 1px solid black;
    padding-bottom: 10px;
}

.infobox-card img
{
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* Define News Feature Styles */
/* ----------------------------------------------------------------------------*/

#news-features
{
    margin-top: 30px;
    margin-bottom: 30px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.ui-card-row
{
    display: flex;
    flex-wrap:wrap;
    align-items: stretch;
    width: 100%;
}

.ui-card-small
{
    flex-basis: 23%;
    min-height: 360px;
    margin-top: 2rem;
    overflow: hidden;
    padding-left: 1rem;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.19);
}

@media (max-width: 768px)
{
    .ui-card-small
    {
        flex-basis: 100%;
        padding-left: 0;
    }

}

.ui-card-large
{
    flex-basis: 50%;
    min-height: 360px;
    margin-top: 2rem;
    overflow: hidden;
}

@media (max-width: 768px)
{
    .ui-card-large
    {
        flex-basis: 100%;
    }

}

.ui-card-outer
{
    height: 100%;
    width: 100%;
    padding: 0 1rem;
}

.ui-card-inner
{
    position: relative;
    height: 100%;
    width: 100%;
    background-color: #f2f2f2;
    overflow: hidden;
}

.ui-card-image
{
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
}

.ui-card-image::before
{
    padding-top: 56.25%;
    display: block;
    content: '';
    width: 100%;
}

.ui-card-image img
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit:cover;
    object-position: 50% 50%;
    max-width:100%;
    display:inline-block;
    vertical-align: middle;
}

.ui-card-large .ui-card-content
{
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 51%;
    min-width: 250px;
    background: #fff;
    padding: 1.66667rem 1rem;
}

.ui-card-large .ui-card-image 
{
    height: 100%;
}

.ui-card-small .ui-card-content
{
    padding: 1.66667rem 1rem;
}

.ui-card-text
{
    padding-bottom: 0;
}

.ui-card-text h2
{
    font-weight: normal;
}

.ui-card-text h2 a 
{
    overflow-wrap: break-word;
    word-wrap: break-word;
    transition: ease all 0.2s;
    color: #206497;
    text-decoration: underline;
    background-color: transparent;
}

.ui-card-label-news
{
    position: absolute;
    left: 0;
    padding: 0 1rem;
    background-color: #CB436A;
    color: #fff;
    text-transform: capitalize;
    bottom: 50%;
}

.ui-card-small .ui-card-label-news
{
    bottom: 0;
}

.ui-card-link
{
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 1.66667rem 1rem;
}

.ui-card-link-arrow
{
    display: block;
    height: 16px;
    font-size: 1.25rem;
    line-height: 1.5;
    text-decoration: none;
}

.ui-card-link-arrow:before
{
    font-family: fontello;
    content: "\f08e";
}

.sys_news-control ul 
{
    margin-left: -10px;
    margin-right: -10px;
}

.sys_news-control li:nth-child(3n+1) 
{
    clear: left;
}

.sys_news-control ul li 
{
    border-bottom: none;
    padding-bottom: 10px;
}

.sys_itemslist li 
{
    border-bottom: 1px solid #b9b9b9;
    padding-bottom: 20px;
}

@media (min-width: 768px)
{
    .sys_news-control li 
    {
        float: left;
        width: 33.3333%;
    }
}


.feed-events li, .feed-news li, .feed-twitter li, .sys_itemslist li 
{
    margin-bottom: 20px;
}

#container .errorMessage ul>li, #container .validation-summary-errors ul>li, .carousel-wrap .carousel>li, .contact-boxes .links>li, .dbyd-steps>li, .expand .expand-content .sys_simpleListMenu>li, .feed-events>li, .feed-news>li, .feed-twitter>li, .info-boxes .links>li, .meeting-list-blocks>li, .pagination>li, .profile-details .nav-social ul>li, .profile .sys_record-groupinner ul>li, .side-docs>li, .side-docs ul>li, .sys_cms-form-body>li, .sys_cms-form-validationsummary>li, .sys_councillor-record .sys_record-groupinner ul>li, .sys_councillornav-control ul>li, .sys_itemslist>li, .sys_meeting-record .sys_meeting-committeemembership ul>li, .sys_meeting-record .sys_meeting-name ul>li, .sys_tabsfilter-control ul>li 
{
    list-style: none;
    list-style-image: none;
}

#twitter-widget-0
{
    max-height: 15rem;
}

/* Define News List Styles */
/* ----------------------------------------------------------------------------*/
#news-listing
{
    margin-top: 10px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block;
}



#news-listing .sys_itemslist
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

#news-listing .sys_subitem
{
    width: 100%;
    float: left;
    background-color: #e8f3fa;
    color: #361e54;
    padding: 10px;
}

@media (min-width: 992px)
{
    #news-listing .sys_subitem
    {
        width: 33%;
    }
}

#news-listing .sys_subitem:hover
{
    background-color: #361e54;
    color: #fff;
}

#news-listing .sys_subitem a
{
    color: #361e54;
    text-decoration: none;
}

#news-listing .sys_subitem:hover a
{
    color: #fff;
}


#news-listing .sys_subitem h3
{
    margin: 0;
}



/* Define Breadcrumb Styles */
/* ----------------------------------------------------------------------------*/
#breadcrumb
{
    width: 100%;
    margin-top: 10px;
    font-size: 0.7467rem;
    line-height: 1.5;
    margin: 0 auto 2.0625rem 0;
    background-color: #fff;
    color: #000;
}

@media (min-width: 992px)
{
    #breadcrumb
    {
        width: 75%;
        font-size: 0.75rem;
        line-height: 1.5;
        margin: 0 auto 2.0625rem 12.5%; 
    }
}

#breadcrumb div, #breadcrumb span, #breadcrumb a
{
    background-color: #fff;
    color: #000;
} 

#breadcrumb a
{
    color: #0064b1;
} 

/* Define Two Column Layout Styles */
/* ----------------------------------------------------------------------------*/
.two-cols
{
    width: 100%;
    display: flex;
    flex-direction:row;
    flex-wrap: wrap;
    background-color: inherit;
    color: inherit;
}

@media (min-width: 992px)
{
    .two-cols
    {
        width: 75%;
        margin-left: auto;
        margin-right: auto;
    }
}

.main-content > .two-cols
{
    width: 100%;
}

.col-twothirds
{
    width: 100%;
    margin-right: 0;
    background-color: inherit;
    color: inherit;
    overflow: auto;
}

@media(min-width: 992px)
{
    .col-twothirds
    {
        width: 70%;
        padding-right: 45px;
    }
}

.col-onethird
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background-color: inherit;
    color: inherit;
}

@media (min-width:992px)
{
    .col-onethird
    {
        width: 30%;
        flex-direction: column;
    }
}

.col-fullwidth
{
    width: 100%;
    background-color: inherit;
    color: inherit;
}

@media (min-width:992px)
{
    .col-fullwidth
    {
        width: 75%;
        margin-left: auto;
        margin-right: auto;
    }
}


#page-title
{
    width: 100%;
    text-align:left;
    background-color: inherit;
    color: inherit;
}

@media (min-width: 992px)
{
    #page-title
    {
        width: 75%;
    }
}

#page-title h1
{
    margin-top: 0;
}


/* Define Right Side Column Styles */
/* ----------------------------------------------------------------------------*/

#sideMenuItems
{
    width: 50%;
    margin-bottom: 2.125rem;
}

@media (min-width: 992px)
{
    #sideMenuItems
    {
        width: 100%;
    }
}

#sideMenuItems .sideMenuItems-Title
{
    margin: 0;
    height: 3rem;
    background-color: #361e54;
    color: #fff;
    font-size: 1rem; 
    line-height: 1.5;
    display: flex;
    align-items: center;
}

@media (min-width: 992px)
{
    #sideMenuItems .sideMenuItems-Title
    {
        height: 3.938rem;
    }
}

#sideMenuItems .sideMenuItems-Title a
{
    color: #fff;
    display: block;
    padding: 0.5rem 1.125rem;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
    text-decoration: none;
    word-break: break-word;
}

@media(min-width: 1024px)
{
    #sideMenuItems .sideMenuItems-Title a
    {
        padding: 0.875rem 2rem 0.875rem 1.125rem;
    }
}

#sideMenuItems ul
{
    list-style: none;
    list-style-image: none;
    margin: 0;
    padding: 0;
}

#sideMenuItems li a
{
    color: #361e54;
    display: block;
    -webkit-transition: color .3s;
    transition: color .3s;
    font-size: 1rem; 
    line-height: 1.5;
    font-weight: normal;
    word-break: break-word;
    margin-bottom: 0.5rem; 
}

#sideMenuItems li a:hover
{
    color: #00ade2; 
}

/* Define Related Items Document Styles */
/* ----------------------------------------------------------------------------*/

#sideRelatedItems
{
    background-color: #e8f3fa;
    color: #361e54;
    width: 100%;
    margin-bottom: 2.125rem;
    font-weight: bold;  
}

@media (min-width: 992px)
{
    #sideRelatedItems
    {
        width: 100%;
    }
}

#sideRelatedItems .sideRelatedItems-Title
{
    background-color: #361e54;
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    height: 3rem;
    padding: 0.875rem 2rem 0.875rem 1.125rem;
    display: flex;
    align-items: center;
}

@media (min-width: 992px)
{
   #sideRelatedItems .sideRelatedItems-Title
    {
        height: 3.938rem;
    }
}

.side-docs li
{
    border-bottom: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-image: none;
}

.side-docs li a {
    color: #361e54;
    display: block;
    -webkit-transition: color .3s;
    transition: color .3s;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: normal;
    word-break: break-word;
    margin-bottom: 0.5rem; 
}

.side-docs a 
{
    text-decoration: none;
}

.side-docs a:hover 
{
    color: #00ade2; 
}

.side-docs
{
    width: 100%;
    padding: 10px 10px 10px 1.125rem;
}

.side-docs .sys_relateditemslisting-control
{
    width: 100%;
    padding: 0;
    margin: 0;
}


.side-docs .sys_relateditemslisting-control .sys_datarepeatercontrol
{
    width: 100%;
}

.side-docs ul
{
    width: 100%;
    list-style: none;
    list-style-image: none;
    margin: 0;
    padding: 0;
}

.side-docs .icon:before 
{
    background-image: url(/SiteElements/images/icons/docs.svg);
    background-size: 44px 224px
}

.no-svg .side-docs .icon:before 
{
    background-image: url(/SiteElements/images/icons/docs.png)
}

.side-docs .form:before 
{
    background-position: 0 0
}

.side-docs .form:hover:before 
{
    background-position: -22px 0
}

.side-docs .doc:before 
{
    background-position: 0 -28px
}

.side-docs .doc:hover:before 
{
    background-position: -22px -28px
}

.side-docs .link:before 
{
    background-position: 0 -56px
}

.side-docs .link:hover:before 
{
    background-position: -22px -56px
}

.side-docs .map:before 
{
    background-position: 0 -84px
}

.side-docs .map:hover:before 
{
    background-position: -22px -84px
}

.side-docs .video:before 
{
    background-position: 0 -112px
}

.side-docs .video:hover:before 
{
    background-position: -22px -112px
}

.side-docs .audio:before 
{
    background-position: 0 -140px
}

.side-docs .audio:hover:before 
{
    background-position: -22px -140px
}

.side-docs .image:before 
{
    background-position: 0 -168px
}

.side-docs .image:hover:before 
{
    background-position: -22px -168px
}

.side-docs .event:before 
{
    background-position: 0 -196px
}

.side-docs .event:hover:before 
{
    background-position: -22px -196px
}


/* Define News Listing Styles */
/* ----------------------------------------------------------------------------*/

#news-listing ul
{
    list-style-type: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.sys_news-control li 
{
    width: 30%;
    margin-right: 10px;
}

dt.sys_news-description
{
    display: none;
}

dd.sys_news-description
{
    margin: 0 20px 0 0;
}

dt.sys_news-datepublished
{
    display: none;
}

.sys_news-summary
{
    font-size: 0.813rem;
    line-height: 1.5;
}

dd.sys_news-datepublished
{
    margin: 10px 20px 10px 0;
    font-size: 0.813rem;
    line-height: 1.5;
}

dd.sys_news-datepublished:before
{
    content: "Published on ";
}

.sys_news-subheading a
{
    text-decoration: none;
    color: #361e54;
}

.sys_news-subheading a:hover 
{
    text-decoration: underline;
}


.sys_paginginfo
{
    color:#361e54;
    font-size: small;
    line-height: 1.5;
}


/* Define Child SignPost Styles */
/* ----------------------------------------------------------------------------*/
#child-signposts
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.child-signpost-col
{
    width: 47.5%;
    border-bottom: 1px solid #e8f3fa;
    margin-bottom: 36px;
}

@media (max-width: 768px)
{
    .child-signpost-col
    {
        width: 100%;
    }
}

.child-signpost-col:nth-child(odd)
{
    margin-right: 2.5%;
}

@media (max-width: 768px)
{
    .child-signpost-col:nth-child(odd)
    {
        margin-right:0;
    }
}

.child-signpost-col:nth-child(even)
{
    margin-left: 2.5%;
}

@media (max-width: 768px)
{
    .child-signpost-col:nth-child(even)
    {
        margin-left: 0;
    }
}

.child-signpost-col h2 a
{
    color: black;
    text-decoration: none;
}


.child-signpost-col h2 a:hover
{
    text-decoration: underline;
}



/* Define Wedding Venue Styles */
/* ----------------------------------------------------------------------------*/

#venues-container, .venues-container
{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    background-color: #fff;
    justify-content: center;
}

@media (max-width: 768px)
{
    #venues-container, .venues-container
    {
        margin-top: 20px;
    }
}

.venue-card
{
    width: 33%;
    padding: 20px;
    top: 0;
    cursor: pointer;
}

@media (max-width: 768px)
{
    .venue-card
    {
        width: 100%;
    }
}

.venue-card:hover
{
    box-shadow: 0px 10px 20px 0px hsla(0,0%,0%,0.2);
    top: -.33333rem;
}

.venue-card-inner
{
    padding: 10px;
    background-color: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.venue-card-image
{
    text-align: center;
}

.venue-card-image > img
{
    width: 100%;
    max-width: 100%;
    height: auto;
}

.venue-name
{
    margin-top: 10px;
    font-size: medium;
    line-height: 1.5;
    font-weight: bold;
    text-align: center; 
}

.venue-details > ul
{
    list-style: none;
    padding-left: 0;
    font-size: small;
}

.venue-details > ul > li
{
    padding: 3px;
}

.venue-type
{
    padding-right: 10px;
    color: #361e54;
    font-size: x-large;
}

.venue-view
{
    padding-right: 10px;
    color: #361e54;
    font-size: x-large;
}

.venue-capacity
{
    padding-right: 10px;
    color: #361e54;
    font-size: x-large;
}

.venues-container > .venue-card > a
{
    text-decoration: none;
    color: inherit;
}

.wedding-facilities
{
    background: #fff;
    max-width: 95%;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem;
}


@media (max-width: 768px)
{
    .wedding-facilities
    {
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
        padding: 0
    }
}

.wedding-facilities-heading
{
    text-align: left;   
}

.wedding-facilities-list
{
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (max-width: 768px)
{
    .wedding-facilities-list
    {
        padding: 0;
    }
}

.wedding-facilities-item
{
    position: relative;
    display: inline-block;
    width: 100%;
    margin-bottom: 2rem;
}

.wedding-facilities-item ul li
{
    list-style-type: disc;
}

.wedding-facilities-title
{
    font-weight: bold;
    margin-top: 0;
    text-transform: none;
    font-size: 1rem;
    line-height: 1.5;
}

.wedding-other
{
    width: 95%;
    margin: 0 auto;
    padding: 2rem;
}


.wedding-features
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1rem 2rem;
}

.wedding-venue-capacity 
{
    width: 100%;
    padding: 1rem;
    flex-basis: 100%;
    flex-grow: 1;
}

@media (min-width: 992px)
{
    .wedding-venue-capacity 
    {
        width: 45%;
        padding: 1rem;
        flex-basis: 45%;
        flex-grow: 1;
    }
}

.wedding-venue-capacity-title
{
    font-weight: bold;
    font-size: 1.1rem;
    line-height: 1.5;
}

.wedding-venue-type
{
    width: 100%;
    padding: 1rem;
    flex-basis: 100%;
    flex-grow: 1;
}

@media (min-width: 992px)
{
    .wedding-venue-type
    {
        width: 45%;
        padding: 1rem;
        flex-basis: 45%;
        flex-grow: 1;
    }
}


.wedding-venue-type-title
{
    font-weight: bold;
    font-size: 1.1rem;
    line-height: 1.5;
}

.wedding-action
{
    width: 50%;
    margin: 0 auto;
    text-align: center;
    background-color: #361e54;
    color: #fff;
    padding: 1rem;
    margin-bottom: 2rem;
}

@media (min-width: 992px)
{
    .wedding-action
    {
        width: 25%;
    }
}

.wedding-action a 
{
    color: #fff;
    text-decoration: none;
}

.wedding-action a:hover
{
    color: #fff;
    text-decoration: underline;
}


.venue-location
{
    width: 100%;
    padding: 2rem;
    margin: 2rem 0;
}

.wedding-photo-gallery
{
    width: 100%;
}

.venue-location-phone, .venue-location-email, .venue-location-website
{
    width: 100%;
    margin-bottom: 0.5rem;
}

/* Weddings Navigation */
/*-----------------------------------------------------------------------------------*/
#weddings-nav
{
    background: #e8f3fa;
    text-align: center;
    width: 100%;
    color: #361e54;
}

#weddings-nav ul
{
    list-style: none;
    display: inline-flex;
}

@media (max-width: 768px)
{
    #weddings-nav ul
    {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
    }
}

#weddings-nav ul li
{
    list-style: none;
    display: inline-flex;
}

@media (max-width: 768px)
{
    #weddings-nav ul li
    {
        width: 100%;
        display: block;
    }
}

#weddings-nav a
{
    position: relative;
    display: block;
    padding: .75rem;
    color: #361e54;
    text-decoration: none;
}

/* Weddings */
/*-----------------------------------------------------------------------------------*/

#wedding-main
{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
}

.wedding-row
{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
    padding-bottom: 30px;
}

.wedding-narrow
{
    width: 80%;
}

.wedding-banner
{
    width: 100%;
    max-height: 32rem;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.wedding-banner img
{
    max-width: 100%;
    width: 100%;
    height: auto;
}

.wedding-banner-overlay
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem;
    text-align: center;
    background: rgba(255, 255, 255, 0.7);
    color: #361e54;
}

@media (max-width: 768px)
{
    .wedding-banner-overlay h1
    {
        font-size: 1em;
        line-height: 1.5;
    }
}

.wedding-intro 
{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin-bottom: 30px;
}

@media (max-width: 460px)
{
    .wedding-intro 
    {
        width: 100%;
    }

    .wedding-intro img
    {
        width: 100%;
        height: auto;
    }
}


.wedding-section
{
    width: 100%;
    margin-top: 3.33333rem;
}

.wedding-section-dark
{
    padding: 3.33333rem 0;
    background: #F5EFEB;
}

.wedding-card-wrapper
{
    position: relative;
    width: 95%;
    margin: 0 auto;
    padding: 2rem;
}

.wedding-card-row
{
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    align-items: stretch;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
}

@media (max-width: 768px)
{
    .wedding-card-row
    {
        max-width: 100%;
    }
}

.ui-card-padding
{
    height: 100%;
    width: 100%;
}

.wedding-card-row .ui-card
{
    flex-basis: 23%;
    min-height: 360px;
    margin-top: 2rem;
    border-radius: 3px;
    overflow: hidden;
    flex: 1;
    max-width: 32%;
}

@media (max-width: 768px)
{
    .wedding-card-row .ui-card
    {
        flex-basis: 100%;
    }
}

.wedding-card-row .ui-card-large
{
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}

@media (max-width: 768px)
{
    .wedding-card-row .ui-card-large
    {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
}

.wedding-card-row .ui-card-inner 
{
    position: relative;
    height: 100%;
    width: 100%;
    background-color: #fff;
    overflow: hidden;
}

.info-card-section 
{
    width: 100%;
    margin-top: 3.33333rem;
}

.info-card-section .info-card-row
{
    margin-top: 0;
}

.info-card-row
{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
}

@media (max-width: 768px)
{
    .info-card-row
    {
        width: 100%;
    }
}

.wedding-row .info-card-row
{
    width: 100%;
}

.info-card
{
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 300px;
    margin-top: 2rem;
    border-radius: 3px;
    overflow: hidden;
}

@media (max-width: 768px)
{
    .info-card
    {
        margin-left: 0;
        width: 100%;
        min-width: 100%;
    }
}


.info-card:nth-child(odd)
{
    margin-left: -1rem;
    margin-right: -1rem;
}

@media (max-width: 460px)
{
    .info-card:nth-child(odd)
    {
        margin-left: 0;
    }
}

@media (max-width: 768px)
{
    #carpark-single .info-card:nth-child(odd)
    {
        margin-left: 0;
    }
}

.info-card:nth-child(even)
{
    margin-right: -1rem;
}

@media (max-width: 460px)
{
    .info-card:nth-child(even)
    {
        margin-right: 0;
    }
}


.info-card-padding
{
    width: 100%;
    height: 100%;
    padding: 0 1rem;
}

@media (max-width: 768px)
{
    .info-card-padding
    {
        padding: 0;
    }
}

.info-card-inner
{
    position: relative;
    width: 100%;
    background: #fff;
    border: 1px solid #361e54;
    height: 99%;
}

.info-card-content
{
    padding: 2rem;
}

@media (max-width: 768px)
{
    .info-card-content
    {
        padding: 1rem;
    }
}

.info-card-text
{
    height: 100%;
    word-break: break-all;
}

.info-card-btn
{
    color: #333;
    background: #e8f3fa;
    border-radius: 0;
    font-weight: 700!important;
    font-size: 1.2rem!important;
    padding: 1rem!important;
    margin: 1rem 0 0 0;
    width: auto;
    display: inline-block;
    min-height: 3rem;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    border: none;
    transition: ease all 0.2s;
    cursor: pointer;
}

.info-card-btn::after
{
    font-family: "fontello";
    content: "\f08e";
    text-decoration: none;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 .26667rem;
    color: #361e54;
}

.ui-card-handle
{
    font-size: small;
}

.ui-card-content-social
{
    padding: 2px !important;
    text-align: center;
}

#u_0_1, ._2lqh
{
    visibility: hidden !important;
    display: none !important;
}

.ui-card-link a
{
    color:black;
    text-decoration: none;
}

h2.info-card-section__heading
{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.related-venues
{
    margin-top: 3.33333rem;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

h2.related-venues-heading
{
    text-align: center;
}

/* Wedding Filters */
/*-----------------------------------------------------------------------------------*/

#wedding-filters
{
    margin-top: 1rem;
    border: 0;
    margin: 0;
    padding: 0;
}

.wedding-filters-title
{
    position: relative;
    width: 100%;
    line-height: 36px;
    text-align: center;
    text-transform: uppercase;
    font-family: 'Raleway',sans-serif;
}

.wedding-filters-title-inner
{
    position: relative;
    display: inline-block;
    height: 36px;
    padding: 0 1rem;
    background: #F5EFEB;
    z-index: 10;
}

.wedding-filters-title-inner:before, .wedding-filters-title-inner:after 
{
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    border: 12px solid transparent;
    border-top: 18px solid #F5EFEB;
    border-bottom: 18px solid #F5EFEB;
}

.wedding-filters-title-inner:before
{
    left: -12px;
}

.wedding-filters-title-inner:after 
{
    right: -12px;
}

.wedding-filters-divide 
{
    position: absolute;
    left: 7px;
    right: 7px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 1px;
    background: #A8D1D3;
}

.wedding-filters-divide:before, .wedding-filters-divide:after 
{
    font-family: 'fontello';
    position: absolute;
    top: 50%;
    /*-webkit-transform: translateY(-50%);
    transform: translateY(-50%);*/
    z-index: 5;
    font-size: 10px;
    color: #A8D1D3;
}

.wedding-filters-divide:before 
{
    left: -7px;
    content: "\e807";
    transform: translateY(-50%) rotate(265deg) ;
}

.wedding-filters-divide:after
{
    right: -7px;
    content: "\e807";
    transform: translateY(-50%)  rotate(90deg);
}

.wedding-filters-inner
{
    padding: 0 2rem;
    overflow: hidden;
}

@media (max-width: 768px)
{
    .wedding-filters-inner
    {
        padding: 0 0.5rem;
    }
}

.wedding-filter-search
{
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    margin-top: 1rem;
}

@media (max-width: 768px)
{
    .wedding-filter-search
    {
        display: block;
    }
}

.wedding-filter-search label
{
    display: table-cell;
    width: 250px;
}

@media (max-width: 768px)
{
    .wedding-filter-search label
    {
        width: 100%;
    }
}

.wedding-filter-search input#venue-search
{
    display: table-cell;
    width: 90%;
    height: 3rem;
    padding: 0 1rem;
    border-radius: 3px;
    color: #666;
}

@media (max-width: 768px)
{
    .wedding-filter-search input#venue-search
    {
        display: inline-block;
        width: 75%;
    }
}

.wedding-filter-search input#venue-search-go
{
    display: table-cell;
    width: 10%;
    height: 3rem;
    padding: 0 1rem;
    border-radius: 3px;
    color: #fff;
    vertical-align: middle;
    background-color: #361e54;
    border: 1px solid black;
}

@media (max-width: 768px)
{
    .wedding-filter-search input#venue-search-go
    {
        display: inline-block;
        width: 20%;
    }
}


.wedding-filters-inner .row
{
    max-width: none;
    margin-left: -1rem;
    margin-right: -1rem;
}

.wedding-filter-group
{
    margin-top: 2rem;
    position: relative;
    padding-left: 1rem;
    padding-right: 1rem;
    float: left;
    width: 25%;

}

@media (max-width: 768px)
{
    .wedding-filter-group
    {
        width: 100%;
    }
}

.wedding-filter-title
{
    position: relative;
    width: 100%;
    line-height: 3rem;
    border: 1px solid #595959;
    border-radius: 3px;
}

.wedding-filter-title a, .wedding-filter-title div
{
    display: block;
    height: 3rem;
    padding: 0 1rem;
    color: #595959;
    text-decoration: none;
    cursor: pointer;
}

.filter-group-closed .wedding-filter-title a:after, .filter-group-closed .wedding-filter-title div:after
{
    font-family: 'fontello';
    content: "\e807";
    position: absolute;
    top: 0;
    right: .66667rem;
    height: 3rem;
    font-size: 1.33333rem;
}

.filter-group-open .wedding-filter-title a:after, .filter-group-open .wedding-filter-title div:after
{
    font-family: 'fontello';
    content: "\e808";
    position: absolute;
    top: 0;
    right: .66667rem;
    height: 3rem;
    font-size: 1.33333rem;
}

.wedding-filter-title a:after
{
    font-family: 'fontello';
    content: "\e807";
    position: absolute;
    top: 0;
    right: .66667rem;
    height: 3rem;
    font-size: 1.33333rem;
}


.wedding-filter-list
{
    max-height: 0;
    position: relative;
    transition: all ease .3s;
}

.filter-group-closed .wedding-filter-list 
{
    max-height: 0;
    overflow: hidden;
    transition: all ease .3s;
    overflow-y:hidden;
    display: none;
}

.filter-group-open .wedding-filter-list 
{
    max-height: 330px;
    overflow: hidden;
    transition: all ease .3s;
    display: block;
}

.wedding-filter-list ul
{
    z-index: 10;
    width: 100%;
    padding: 5px;
    border: 1px solid #c1c1c1;
    background: #fff;
    max-height: 20rem;
    list-style: none;
    margin: 0;
    overflow-y: hidden;
    margin-top: 0.5rem!important;
}

.filter-group-open .wedding-filter-list   ul
{
    overflow-y: scroll;
}

.wedding-filter-list ul li
{
    clear: both;
    margin-top: .33333rem;
    position: relative;
    overflow: hidden;
    line-height: 1.9;
    padding: 5px;
    display: flex;
    gap: 1rem;
    flex-direction: row;
    align-items: center;
}

.wedding-filter-list ul li input[type="checkbox"]
{
    position: relative;
    /*left: -50px;*/
    /*width: auto;*/
    padding: 0 1rem;
    border-radius: 3px;
    color: #666;
    box-sizing: border-box;
    border: solid 1px #c1c1c1;
    display: block;
    -webkit-appearance: checkbox;
    width: 2.5rem;
    height: 2.5rem;
}

.wedding-filter-list ul li label
{
    position: relative;
    padding: 0;
    display: block;

}
/*
input[type="radio"]+label:before, input[type="checkbox"]+label:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    border: 1px solid #666;
    background: #fff;
    border-radius: 2px;
}

input[type="checkbox"]+label.item-tick:before
{
    content: '\e809';
    font-family: 'fontello';
    text-align: center;
}
*/
.item-tick
{
    background-color: #e8f3fa;
}

.wedding-filters-footer
{
    position: relative;
    margin-top: 2rem;
}

fieldset
{
    border: 0;
    margin: 0;
    padding: 0;
    margin-top: 2rem;
    position: relative;
    padding-left: 1rem;
    padding-right: 1rem;
    float: left;
    width: 100%;
}

@media (max-width: 768px)
{
    fieldset
    {
        padding: 0;
    }
}

.wedding-filter-list .filter-element
{
    z-index: 10;
    width: 100%;
    padding: 5px;
    border: 1px solid #c1c1c1;
    background: #fff;
    max-height: 20rem;
    list-style: none;
    margin: 0;
    overflow-y: hidden;
    margin-top: 0.5rem!important;
}

.wedding-filter-list .slider
{
    -webkit-appearance: none;
    width: calc(100% - (42px));
    height: 2px;
    background: #c1c1c1;
    outline: none;
    padding: 0;
    margin: 1.26667rem 0;
    float: left;
    border-radius: 3px;
    color: #666;
}

.wedding-filter-list .slider:focus-within
{
    -webkit-appearance: auto;
}

.wedding-filter-list .slider+span 
{
    display: block;
    float: left;
    background: #fff;
    width: 2.5rem;
    height: 2.66667rem;
    line-height: 2.66667rem;
    text-align: center;
    border: 1px solid #c1c1c1;
    border-radius: 3px;
}

.slider:hover 
{
  opacity: 1;
}

.slider::-webkit-slider-thumb 
{
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 3px solid #e8f3fa;
  background: #fff;
  cursor: pointer;
}

.slider::-moz-range-thumb 
{
  width: 25px;
  height: 25px;
  background: #4CAF50;
  cursor: pointer;
}

.slider::-webkit-slider-thumb:hover,.slider::-webkit-slider-thumb:focus
{
    background: #e8f3fa;
}

 .slider::-moz-range-thumb:hover, .slider::-moz-range-thumb:focus
{
    background: #e8f3fa;
}

.filters-clear
{
    float: right;
    color: #000;
    font-size: small;
    line-height: 1.5;
    padding-top: 10px;
    padding-right: 32px;
}
  

/* Slick Styles */
/*-----------------------------------------------------------------------------------*/
.slick-slider 
{
    -moz-user-select: none;
    user-select: none;
    box-sizing: border-box;
    display: block;
    position: relative;
}

.slick-list 
{
    display: block;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
}

.slick-list:focus 
{
    outline: 0 none;
}

.slick-loading .slick-list 
{
    background: #fff url("/SiteElements/images/ajax-loader.gif") no-repeat scroll center center;
}

.slick-list.dragging 
{
    cursor: pointer;
}

.slick-slide, .slick-slide img, .slick-slider .slick-list, .slick-track 
{
    transform: translate3d(0px, 0px, 0px);
}

.slick-track 
{
    display: block;
    left: 0;
    position: relative;
    top: 0;
}

.slick-track::after, .slick-track::before 
{
    content: "";
    display: table;
}

.slick-track::after 
{
    clear: both;
}

.slick-loading .slick-track 
{
    visibility: hidden;
}

.slick-slide 
{
    display: none;
    float: left;
    height: 100%;
}

.slick-slide img 
{
    display: block;
    width: 100%; 
    height: auto; 
}

.slick-slide img.news-slide-mobilehide
{
    display: none;
}

@media(min-width: 768px)
{
    .slick-slide img 
    {
        width: 100%;
    }

    .slick-slide img.news-slide-mobilehide
    {
        display: block;
    }
}


.slick-slide img.slick-loading 
{
    background: #fff url("/SiteElements/images/ajax-loader.gif") no-repeat scroll center center;
    padding-bottom: 100%;
}

.slick-slide.dragging img 
{
    pointer-events: none;
}

.slick-initialized .slick-slide 
{
    display: block;
}

.slick-loading .slick-slide 
{
    visibility: hidden;
}

.slick-vertical .slick-slide 
{
    border: 1px solid transparent;
    display: block;
    height: auto;
}

.slick-slider 
{
    margin-bottom: 1%;
}

.slick-dots 
{
    position: absolute;
    bottom: 1rem;
    left: 0;
    z-index: 10;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
    margin-top: 0.5rem;
}

.slick-dots li 
{
    position: relative;
    display: inline-block;
    height: 1rem;
    width: 1rem;
    margin: 0 5px;
    padding: 0;
    border-radius: 50%;
    cursor: pointer;
}

.slick-dots li button 
{
    display: block;
    height: 1rem;
    width: 1rem;
    min-height: 0;
    padding: 5px;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    background: transparent;
    outline: none;
    border: 2px solid #fff;
    opacity: 1;
    cursor: pointer;
    border-radius: 50%;
}

.slick-dots li button:focus 
{
    outline: 0 none;
}

.slick-dots li.slick-active button 
{
    background-color: #fff;
    opacity: 1;
}

.slick-dots li button::before 
{
    color: #000;
    content: " ";
    font-family: slick;
    font-size: 6px;
    height: 20px;
    left: 0;
    line-height: 20px;
    opacity: 0.25;
    position: absolute;
    text-align: center;
    top: 0;
    width: 20px;
}

.slick-dots li.slick-active button::before 
{
    opacity: 0.75;
}

.slick-arrow.slick-hidden 
{
    display: none
}

.slick-arrow 
{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: block;
    width: 30px;
    height: 30px;
    min-height: 0;
    margin-top: -15px;
    margin-left: 0;
    padding: 0;
    line-height: 0px;
    font-size: 0px;
    opacity: 1;
    border: 2px solid transparent;
    border-top-color: #fff;
    border-left-color: #fff;
    outline: none;
    cursor: pointer;
    background: transparent
}

@media (max-width: 768px)
{
    .slick-arrow
    {
        visibility: hidden;
        display:none;
    }
}

.slick-arrow:hover,.slick-arrow:focus 
{
    outline: none;
    background: transparent;
    color: transparent
}

.slick-arrow:focus-visible 
{
    outline: 1px solid black;
}

.slick-arrow:hover:before,.slick-arrow:focus:before 
{
    opacity: 1
}

.slick-arrow.slick-disabled:before 
{
    opacity: .25
}

.slick-arrow.slick-prev 
{
    left: 2rem;
    transform: rotate(-45deg)
}

.slick-arrow.slick-next 
{
    right: 2rem;
    transform: rotate(135deg)
}

.slick-slide:focus-visible
{
    outline: #000;
    border: 2px solid black;
}


/* Wedding Carousel */
/*-----------------------------------------------------------------------------------*/
.wedding-carousel-wrap 
{
    overflow: hidden;
    position: relative;
}

.wedding-carousel-wrap .wedding-carousel 
{
    position: relative;
}

.wedding-carousel-wrap .carousel-item 
{
    float: left;
}

.wedding-carousel 
{
    border-bottom: 4px solid #FFF;
    position: relative;
    z-index: 10;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.wedding-carousel .slick-slider 
{
    margin: 0;
    box-sizing: border-box;
    display: block;
    position: relative;
}

.wedding-carousel .slide-strapline, .wedding-carousel .slide-strapline a, .wedding-carousel .slide-title, .wedding-carousel .slide-title a 
{
    background: rgba(27, 26, 25, 0.9) none repeat scroll 0 0;  
    color: #60bb46;
    font-weight: 500;
    padding: 10px 10px 10px 20px;
}

.wedding-carousel .slide 
{
    background-position: center center;
    background-size: cover;
}

.wedding-carousel .slick-list 
{
    z-index: 10;
}

.wedding-carousel .wrap 
{
    height: 400px;
    padding-top:25px;
    margin-left:400px;
}

@media (min-width:981px) 
{
    .wedding-carousel .wrap 
    {
        padding-top: 200px;
        height: 550px;
    }
}

@media (max-width:1150px) 
{
    .wedding-carousel .wrap 
    {
        padding-right: 80px;
        padding-left: 80px;
    }
}

@media (max-width:450px) 
{
    .wedding-carousel  
    {
        display:none;
    }
}

.wedding-carousel .slide-content 
{
    background: rgba(27, 26, 25, 0.9) none repeat scroll 0 0;
    color: #ffffff;
    font-weight: 700;
    padding-bottom: 20px;
    padding-left: 20px;
}

@media (min-width: 540px) 
{
    .wedding-carousel .slide-content 
    {
        font-size: 1.28571em;
        line-height: 1.5;
    }
}

@media (min-width: 768px) 
{
    .wedding-carousel .slide-content 
    {
        margin-left: 23.35em;
        width: 75%;
    }
}

@media (min-width: 981px) 
{
    .wedding-carousel .slide-content 
    {
        width: 50%;
    }
}

.wedding-carousel .slide-title 
{
    line-height: 1;
    margin: 0;
}


@media (min-width: 768px) 
{
    .wedding-carousel .slide-title 
    {
        font-size: 2em;
        line-height: 1.5;
    }
}

@media (min-width: 981px) 
{
    .wedding-carousel .slide-title 
    {
        margin-left: 15em;
        margin-top: 5em;
        width: 50%;
    }
}

.wedding-carousel .slide-title a 
{
    transition: color 0.3s ease 0s;
}

.wedding-carousel .slide-title a:hover 
{
    color: #899394;
    text-decoration: none;
}

.wedding-carousel .slide-video 
{
    background-color: #fff;
    display: none;
    margin-right: -480px;
    padding: 8px;
    position: absolute;
    right: 50%;
    top: 50%;
}

@media (min-width: 1056px) 
{
    .wedding-carousel .slide-video 
    {
        display: block;
    }
}

.wedding-carousel .slide-video iframe 
{
    display: block;
}

.lt-ie9 .wedding-carousel 
{
    margin-left: auto;
    margin-right: auto;
    max-width: 1500px;
}

/*Map Style*/
/*-----------------------------------------------------------------------------------*/
.map-component
{
    width: 100%;
    margin-top: 3rem;
    position: relative;
}

.map-component .wedding-map
{
    margin-top: 0;
}

@media (max-width:768px)
{
    .map-component
    {
        margin-top: 0;
    }
}

#mapid
{
    height: 400px;
    top: 0px;
    left: 0px;
    width: 100%;
}


/*Tooltip Styles*/
/*-----------------------------------------------------------------------------------*/

/* Tooltip container */
.tooltip 
{
  position: relative;
  display: inline-block;
  cursor: pointer;
}

/* Tooltip text */
.tooltip .tooltiptext 
{
  visibility: hidden;
  width: 180px;
  background-color:#361e54;
  color: #fff;
  text-align: left;
  padding: 5px;
  border-radius: 6px;
  font-size: medium;
 
  /* Position the tooltip text - see examples below! */
  position: absolute;
  z-index: 1;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext 
{
  visibility: visible;
}


/* Car Park Styles*/
/*-----------------------------------------------------------------------------------*/

#carpark-row
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.carpark-row
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

#carpark-filters
{
    width: 30%;
    margin-right: 15px;
}

@media (max-width: 768px)
{
    #carpark-filters
    {
        width: 100%;
        margin-right: 0;
    }
}

#carpark-listing
{
    width: 65%;
}

@media (max-width: 768px)
{
    #carpark-listing
    {
        width: 100%;
    }
}

#carpark-list
{
    list-style: none;
    margin: 0;
    padding: 0;

}

.carpark-item
{
    background: #e8f3fa;
    margin-top: 1rem;
    transition: ease all 0.2s;
}

.carpark-item:first-of-type
{
    margin-top: 0;
}

.carpark-item-link
{
    text-decoration: none;
    display: block;
    padding: 1.33333rem;
    transition: ease all 0.2s;
    color: #000;
}

@media (max-width: 768px)
{
    .carpark-item-link
    {
        padding: 0.5rem;
    }
}

header.carpark-item-heading
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    margin:0;
    width: 100%;
}

.carpark-marker
{
    width: 3.33333rem;
    height: 3.33333rem;
    border: 3px solid #fff;
    border-radius: 50%;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 2.93333rem;
    box-shadow: 0 0.2rem 0.66667rem 0 rgba(0,0,0,0.5);
    background: #361e54;
    float: left;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-right: 2rem;
}

@media (max-width: 768px)
{
    .carpark-marker
    {
        margin-right: 1rem;
    }
}

.carpark-title
{
    font-size: 1rem;
    text-decoration: none;
    margin: 0;
    padding-right: 3.33333rem;
}

@media (max-width: 768px)
{
    .carpark-title
    {
        padding-right: 1rem;
        width: 70%;
    }

}

.carpark-indicator
{
    position: absolute;
    right: 0;
    text-decoration: underline;
}

.carpark-item-details
{
    display: block;
    margin-top: 1.33333rem;
    color: #666;

}

#carpark-item-details-list, .carpark-item-details-list
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: small;
}

.carpark-details
{
    margin-right: 2rem;
    color: #666;
}

@media (max-width: 768px)
{
    .carpark-details
    {
        line-height: 2;
    }
}

.carpark-details::before
{
    font-size: 1.33333rem;
    line-height: 1.5;
    margin-right: 1rem;
    color: #361e54;
    width: 1.5em !important;
}

#carpark-filter-mobile
{
    visibility: hidden;
    display: none;
}

@media (max-width: 768px)
{
    #carpark-filter-mobile
    {
        visibility: visible;
        display: block;
        margin-bottom: 1rem;
    }
}

#carpark-filter-panel
{
    width: 100%;
    padding: 10px;
    background-color: #f2f2f2;
}


.carpark-filter-group
{
    width: 100%;
    padding: 10px;
    font-size: 15px;
    line-height: 1.5;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.carpark-filter-group label
{
    width: 100%;
    margin-bottom: 5px;
}

.carpark-filter-group input 
{
    width: 100%;
    line-height: 2;
    margin-bottom: 5px;
}

.carpark-filter-group #carpark-height
{
    -webkit-appearance: none;
    width: calc(100% - (42px));
    height: 2px;
    background: #c1c1c1;
    outline: none;
    padding: 0;
    margin: 1.26667rem 0;
    float: left;
    border-radius: 3px;
    color: #666;
}

.carpark-filter-group #carpark-height:focus-within
{
    -webkit-appearance: auto;
}

.carpark-filter-group #carpark-height+span 
{
    display: flex;
    float: left;
    background: #fff;
    width: 2.5rem;
    height: 2.5rem;
    line-height: 1.5;
    border: 1px solid #c1c1c1;
    border-radius: 3px;
    align-items: center;
    justify-content: center; 
}

#carpark-height:hover 
{
  opacity: 1;
}

#carpark-height::-webkit-slider-thumb 
{
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 3px solid #361e54;
  background: #fff;
  cursor: pointer;
}

#carpark-height::-moz-range-thumb 
{
  width: 25px;
  height: 25px;
  background: #361e54;
  cursor: pointer;
}

#carpark-height::-webkit-slider-thumb:hover,#carpark-height::-webkit-slider-thumb:focus
{
    background: #e8f3fa;
}

 #carpark-height::-moz-range-thumb:hover, #carpark-height::-moz-range-thumb:focus
{
    background: #e8f3fa;
}

.carpark-filter-group dl
{
    width: 100%;
    margin-top: 0;
}

.carpark-filter-group dt
{
    line-height: 1.5;
    margin-top: 0;
}

.carpark-filter-group dd
{
    margin: 0;
    width: 100%;
    clear: both;
    margin-top: .33333rem;
    position: relative;
    overflow: hidden;
    line-height: 1.9;
    padding: 5px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
}

.carpark-filter-group dd input[type="checkbox"]
{
    margin: 0;
    overflow: visible;
    border: solid 1px #c1c1c1;
    display: block;
    -webkit-appearance: checkbox;
    box-sizing: border-box;
    padding: 0;
    border-radius: 3px;
    color: #666;
    width: 3rem;
    height: 3rem;
    position: relative;
}

.carpark-filter-group dd input[type="checkbox"]+label
{
    position: relative;
    padding: 0;
    display: block;
}

.carpark-filter-group dd input[type="checkbox"]+label::before
{
    content: none;
}

#carpark-search
{
    width: 85%;
    margin-right: 5px;
}

#carpark-search-go
{
    width: 12%;
}

.carpark-charges h2, .carpark-charges h3, .carpark-charges h4, .carpark-charges h5, .carpark-charges h6
{
    width: 100%;
}

.carpark-charges p, .carpark-charges ul, table
{
    width: 100%;
}

.carpark-information h2, .carpark-information p, .carpark-information ul
{
    width: 100%;
}

.carpark-paybymobile h2, .carpark-paybymobile p, .carpark-paybymobile ul
{
    width: 100%;
}

.carpark-vehicles h2, .carpark-vehicles p, .carpark-vehicles ul
{
    width: 100%;
}

.carpark-facilities h2, .carpark-facilities p, .carpark-facilities ul
{
    width: 100%;
}

.carpark-directions h2, .carpark-directions p, .carpark-directions ul
{
    width: 100%;
}

.carpark-related h2, .carpark-related p, .carpark-related ul
{
    width: 100%;
}

#carpark-single
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

#carpark-single .info-card-row
{
    width: 100%;
}

#carpark-single .info-card-inner
{
    height: 100%;
    padding: 1rem;
    border: 0;
    background-color: #f2f2f2;
    width: 95%;
}

@media (max-width: 768px)
{
    #carpark-single .info-card-inner
    {
        padding: 0.5rem;
        width: 98%;
        font-size: 15px;
        line-height: 1.5;
    }
}

#carpark-single [class^="icon-"]:before, [class*=" icon-"]:before 
{
    margin-right: 1.5rem;
}    

#carpark-single .info-card-inner p
{
    height: 3rem;
}

#carpark-single .info-card-inner .info-card-heading
{
    margin-top: 0;
}

#carpark-single .info-card-inner table
{
    width: 100%;
    border: 1px solid #361e54;
}

#carpark-single .info-card-inner thead
{
    visibility: hidden;
    display: none;
}

#carpark-single .info-card-inner td:first-child
{
    width: 30%;
    font-weight: bold;
}

#carpark-single .row
{
    width: 100%;
}

#carpark-single table tbody tr:nth-child(odd)
{
    background: #e6e6e6;
    height: 30px;
}

#carpark-single table tbody tr:nth-child(even)
{
    background: #f5f5f5;
    height: 30px;
}

#carpark-map
{
    width: 100%;
}

#carpark-single .map-component
{
    width: 100%;
}

#carpark-single a[href*="\/\/"]:after 
{
    font-family: "fontello";
    content: "\f08e";
    text-decoration: none;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 .26667rem;
}

#carParkOpening
{
    color: #000;
}


/* Library Styles*/
/*-----------------------------------------------------------------------------------*/

#libraries-content
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.library-row
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (max-width: 768px)
{
    .library-row
    {
        padding: 0;
    }
}

#library-list
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 3.33333rem;
    padding: 3.33333rem 0;
    background: #e8f3fa;
}

@media (max-width: 768px)
{
    #library-list
    {
        margin-top: 0;
        padding: 0;
    }
}

.library-card
{
    width: 25%;  
    padding: 20px; 
}

@media (max-width: 768px)
{
    .library-card
    {
        width: 100%;
        padding: 10px;
    }
}

.library-card:hover
{
    box-shadow: 0px 10px 20px 0px hsla(0,0%,0%,0.2);
    top: -.33333rem;
}

.library-card-inner
{
    width: 100%;
    background-color: #fff;
    position: relative;
    overflow: hidden;
    height: 100%;
}

.library-card-inner a
{
    color: black;
    text-decoration: none;
}


.library-card-image
{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 12px;
}

.library-card-image img
{
    width: 100%;
    height: auto;
}

.library-card-title
{
    height: 60px;
    line-height: 1.5;
}

.library-card h2
{
    font-size: medium;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
}

.library-card-details
{
    list-style: none;
    width: 100%;
    font-size: small;
    margin: 0;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 2;
}

.library-card-details li
{
    list-style: none;
}

.library-card-details li.link
{
    color: #0064b1;
}

.library-card-details li.link:hover
{
    text-decoration: underline;
}

.library-card-details li.library-alert-list
{
    font-size: large;
}

#library-single-banner
{
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 24rem;
}

@media (max-width: 768px)
{
    #library-single-banner
    {
        position: relative;
        width: 100%;
        overflow: hidden;
        height: 24rem;
    }
}

#library-banner-image
{
    width: 100%;
}

@media (max-width: 768px)
{
    #library-banner-image
    {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 100%;
    }

}

#library-banner-image img
{
    width: 100%;
    height: auto;
}

@media (max-width: 768px)
{
    #library-banner-image img
    {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: 50% 50%;
        object-position: 50% 50%;
    }
}

#library-banner-overlay
{
    left: 10%!important;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 2;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 4.33333rem 1rem 4.33333rem;
    text-align: center;
}

@media (max-width: 768px)
{
    #library-banner-overlay
    {
        left: 0%!important;
        padding: 0 1rem 1rem 1rem;
    }
}

#library-banner-overlay-inner
{
    background-color: #ffffff;
    color: #d4eef4;
    width: auto;
    min-width: 150px;
    max-width: 500px;
    height: auto;
    padding: 35px;
    box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    position: relative;
    margin-left: 0px;
    float: none;
    margin-right: auto;
    clear: both;
}

@media (max-width: 768px)
{
    #library-banner-overlay-inner
    {
        padding: 15px;
        width: 100%!important;
    }
}

#library-banner-overlay-inner h1
{
    color: #000;
    font-size: 2.5rem;
    line-height: 1.5;
    text-align: left;
    margin-top: 0;
    font-weight: bold;
}

#library-banner-overlay-inner a
{
    margin-top: 2rem;
    margin-left: 0;
    float: left;
    opacity: 1!important;
    min-height: 3rem;
    line-height: 1.5;
    text-align: center;
    text-decoration: bold;
    color: #fff;
    border-radius: 2px;
    background: #361e54;
    transition: ease all 0.2s;
    padding: .6rem 1.33333rem;
}

@media (max-width: 768px)
{
    #library-banner-overlay-inner a
    {
        margin-top: 1rem;
        width: 100%;
        opacity: 1!important;
    }
}

#library-single-content
{
    width: 100%;
}

.library-single-row
{
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin: 1.33333rem -1rem 0 -1rem;
}

.library-info-card
{
    flex-basis: 33.33333%;
    margin-top: 0rem;
    margin-bottom: 2rem;
    -ms-flex-preferred-size: 50%;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 300px;
    border-radius: 3px;
    overflow: hidden;
    padding: 0 1rem;
}



.library-info-card-inner
{
    background: e8f3fa;
    position: relative;
    height: 100%;
    width: 100%;
    padding: 20px;
}

.library-info-card-heading
{
    font-weight: bold;
    padding-bottom: 5px;
}

.library-location
{
    list-style: none;
    padding: 0;
    margin: 0;
}

.library-location-item
{
    list-style: none;
    line-height: 2;
    padding: 0;
    margin: 0;
}

.library-hours
{
    width: 90%;
}

.library-hours thead
{
    display: none;
}

.library-hours td:first-child
{
    width: 30%;
}

.library-ui-card
{
    width: 25%;
    min-height: 360px;
    margin-top: 2rem;
    border-radius: 3px;
    overflow: hidden;
}

@media (max-width: 768px)
{
    .library-ui-card
    {
        width: 100%;
    }
}

.library-ui-card-padding
{
    height: 100%;
    width: 100%;
    padding: 0 1rem;
}

.library-ui-card-inner
{
    background: #d4eef4;
    position: relative;
    height: 100%;
    width: 100%;
    overflow: hidden;

}

.library-ui-card-inner a
{
    text-decoration: none;
    color: black;
}

.library-ui-card-image
{
    height: auto;
    position: relative;
    overflow: hidden;
    width: 100%;
}

.library-ui-card-image img
{
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    max-width:100%;
}

.library-ui-card-content
{
    padding: 1.66667rem 1rem;
    width:100%;
}

.library-ui-card-text
{
    padding-bottom: 3.33333rem;
    width:100%;
}

.library-ui-card-link
{
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 1.66667rem 1rem;
}

.library-info 
{
    width: 100%;
    padding: 15px;
}

.library-info h2
{
    width: 100%;
}

.library-info div
{
    width: 100%;
    line-height: 2;
}

.library-info a
{
    color: #0064b1;
}

.library-alert
{
    align-items: center;
    padding: 1.66667rem 4.33333rem 1.66667rem 1.66667rem;
    background: #f2f2f2;
    margin-top: 1rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    position: relative;
}

.library-alert .icon-warning-empty
{
    font-size: 2.4rem;
    margin: 0 1rem 0 -.66667rem;
    color: #CB436A;
    line-height: 1.5;
}

.library-alert-title
{
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    font-weight: bolder;
}

.library-alert-close
{
    position: absolute;
    right: 1.66667rem;
    top: 1.66667rem;
    display: block;
    width: 1rem;
    height: 1rem;
}

.library-alert-close visuallyhidden
{
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    left: 0;
}

.library-alert-close .close-bar
{
    display: block;
    position: absolute;
    top: 50%;
    height: 4px !important;
    width: 2rem !important;
    background: #666 !important;
}

.library-alert-close .close-bar:nth-of-type(2n)
{
    transform: translateY(-50%) rotate(45deg);
    transform-origin: 50%;
}

.library-alert-close .close-bar:nth-of-type(3n) 
{
    transform: translateY(-50%) rotate(-45deg);
    transform-origin: 50%;
}



/* Alerts Styles */
/* -------------------------------------------------------------------------------*/
.alert
{
    background-color: #B30000;
    color: #fff;
    display: flex;
    width: 100%;
    flex-direction: column;
    height: auto;
    text-align: center;
    justify-content: center;
    padding: 20px;
}

.alert .icon-warning-empty
{
    font-size: 2.4rem;
    margin: 0 1rem 0 -.66667rem;
    color: #B30000;
    line-height: 1.5;
}

.alert-title
{
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    font-weight: bolder;
}

.alert-content p
{
    margin: 1.5rem 0 1.5rem 0;
}

#alertclose
{
    height: 0;
}

.alert-close
{
    display: block;
    width: 1rem;
    height: 1rem;
}

.alert-close visuallyhidden
{
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    left: 0;
}

.alert-close .close-bar
{
    display: block;
    position: absolute;
    top: 5.6%; 
    right: 5.5%;
    height: 2px !important;
    width: 1rem !important;
    background: #fff !important;
}

.alert-close .close-bar:nth-of-type(2n)
{
    transform: translateY(-50%) rotate(45deg);
    transform-origin: 50%;
}

.alert-close .close-bar:nth-of-type(3n) 
{
    transform: translateY(-50%) rotate(-45deg);
    transform-origin: 50%;
}

.alert a
{
    color: #fff;
}


/* Mini Two Col Styles */
/* -------------------------------------------------------------------------------*/

.two-col-mini
{
    display: flex;
    flex-direction: row;
    width: 100%;
}

.two-col-mini-image
{
    width: 49%;
    padding-left: 10px;
    padding-right: 10px;
}

.two-col-mini-content
{
    width: 49%;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 20px;
}

@media (max-width: 640px)
{
    .two-col-mini
    {
        flex-direction: column;
    }
    
    .two-col-mini-image
    {
        width: 100%;
    }

    .two-col-mini-content
    {
        width: 100%;
    }

}



/* NavCardStyles */
/* -------------------------------------------------------------------------------*/

.navigation-cards
{
    width: 100%;
    margin-bottom: 1rem;
}

.navcards
{
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    justify-content: space-between;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    list-style-type: none;
}

.navcard, .navcardSquare
{
    height: 6rem;
    flex: 0 1 48%;
    -ms-flex: 0 1 48%;
    margin-bottom: 1rem;
    display: flex;
    display: -ms-flexbox;
    background-color: #e8f3fa;
    color: #361e54;
    cursor: pointer;
}

@media (min-width: 992px)
{
    .navcard, .navcardSquare
    {
        flex: 0 1 32%;
        -ms-flex: 0 1 32%;
        height: 14rem;
        margin-bottom: 1.125rem;
    }
}

.navcard-empty, .navcardSquare-empty
{
    height: 0;
    flex: 0 1 32%;
    -ms-flex: 0 1 32%;
    margin-bottom: 1rem;
    display: flex;
    display: -ms-flexbox;
    background-color: transparent;
    color: transparent;
    list-style-type: none;
}


.navcard-active, .navcardSquare-active
{
    background-color: #361e54;
    color: #fff;
}

.navcard:not(.navcard-empty):hover, .navcardSquare:not(.navcardSquare-empty):hover
{
    background-color: #361e54;
    color: #fff; 
}

@media (min-width: 992px)
{ 
    .navcard:not(.navcard-empty):hover, .navcardSquare:not(.navcardSquare-empty):hover
    {
        background-color: #361e54;
        color: #fff; 
    }
}

@media(hover: hover) and (pointer: fine) {
    .navcard:not(.navcard-empty):hover, .navcardSquare:not(.navcardSquare-empty):hover
    {
        background-color: #361e54;
        color: #fff;
    }
}

.navcard-toplink
{
    padding: 0 .66667rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-wrap:nowrap;
    text-decoration: none;
}

.navcard-inner
{
    padding: 0 .66667rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.navcard-inner a, .navcard-inner .navcard-content
{
    text-decoration: none;
    font-size: 0.8rem;
    line-height: 1.5;
    width: 100%;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}

@media (min-width: 992px)
{
    .navcard-inner a, .navcard-inner .navcard-content
    {
        font-size: 1rem;
        line-height: 1.5;
    }
}

.navcard-content
{
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    color: #fff;
}

.navcard-link
{
    font-size: 0.9333rem;
    line-height: 1.5;
    text-align: center;
    padding: 0;
    text-decoration: none;
    width: 100%;
    color: #fff;
}

@media (min-width: 992px)
{
    .navcard-link
    {
        font-size: 2.3333rem;
        line-height: 2;
        text-align: center;
        padding: 1rem .66667rem;
        text-decoration: none;
        width: 100%;
        color: #fff;
    }
}

.navcard-title, .navcard-title a
{
    font-family: inherit;
    font-size: 1rem; 
    line-height: 1.5;
    max-width: 100%;
    color: #361e54;
    display: block;
    cursor: pointer;
    text-align: center;
}

@media (min-width: 992px)
{
    .navcard-title, .navcard-title a
    {
        font-size: 1.5rem;
        line-height: 1.5;
    }
}

.navcard-description
{
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    font-family: inherit;
    max-width: 100%;
}

.navcards-load
{
    width: 100%;
    background-color: #361e54;
    text-align: center;
    color: #fff;
    cursor: pointer;
    /*height: 1.5rem;*/
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 992px)
{
    .navcards-load
    {
        /*height: 3rem;*/
        padding: 0.625rem;
    }
}


.navcard-mobile-hidden
{
    display: none;
}

@media (min-width: 992px)
{
    .navcard-mobile-hidden
    {
        display: flex;
    }
}

.navcardSquare
{
    height: auto;
    padding: 1rem;
    flex: 0 1 100%;
}

@media (min-width: 768px)
{
    .navcardSquare
    {
        padding: 2rem;
        flex: 0 1 48%;
    }
}

@media (min-width: 1024px)
{
    .navcardSquare
    {
        padding: 2rem;
        flex: 0 1 32%;
    }
}

.navcardSquare-inner
{
    width: 100%;
    height: 100%;
}

.navcardSquare-image img
{
    width: 100%;
    height: auto;
}

.navcardSquare-title
{
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
    margin: 2rem 0 1rem 0;
}

@media (min-width: 1024px)
{
    .navcardSquare-title
    {
        font-size: 1.2rem;
        line-height: 1.5;
    }
}

@media (min-width: 1366px)
{
    .navcardSquare-title
    {
        font-size: 1.8rem;
        line-height: 1.5;
    }
}

/* Library Filter Styles */
/* -------------------------------------------------------------------------------*/

#library-search
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

#library-search h2
{
    width: 100%;
}

.library-filter
{
    width: 50%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

@media (max-width: 768px)
{
    .library-filter
    {
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 5px;
    }   
}

.library-filter select
{
    width: 90%;
    line-height: 2;
    padding: 12px;
    border: 1px solid grey;
    height: 48px;
}

.library-filter input[type="text"]
{
    width: 80%;
    line-height: 2;
    padding: 5px;
    border: 1px solid grey;
    height: 48px;
}

.library-filter input[type="button"]
{
    display: table-cell;
    width: 15%;
    height: 48px;;
    color: #fff;
    vertical-align: middle;
    background-color: #361e54;
    border: 1px solid black;
}


@media (max-width: 768px)
{
    .library-filter select
    {
        width: 100%;
    }

    .library-filter input[type="text"]
    {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }   

    .library-filter input[type="button"]
    {
        width: 20%;
        padding: 0;

    }
}

#library-search h4
{
    width: 100%;
    text-align: center;
}



.sys_atoz-control
{
    width: 100%;
}

.sys_atoz-control ul
{
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.sys_atoz-control ul li
{
    float: left;
    padding: 5px 5px 5px 0;
}

.sys_atoz-control ul li a
{
    text-decoration: none;
    color: #000;
}

.sys_atoz-control ul li.sys_selected a
{
    color: #00ade2;
}

.sys_atoz-control-currentletter
{
    display: none;
}

.sys_datarepeatercontrol
{
    width:100%;
}

.sys_datarepeatercontrol h4
{
    margin-bottom:5px;
    font-size: 0.875rem;
    line-height: 1.5;
}

@media (min-width:992px)
{
    .sys_datarepeatercontrol h4
    {
        font-size: 2.188rem;
        line-height: 1.5;
    }

}

.sys_datarepeatercontrol h4 a
{
    text-decoration: none;
    color: #000;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_flickrpager
{
    margin-top: 4rem;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_navigation
{
    text-align: right;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_flickrpager .sys_paginginfo
{
    display: none;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_flickrpager .sys_ellipsis
{
    display: none;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_flickrpager .sys_navigation .sys_page
{
    padding: 2rem 0;
    background-color: #361e54;
    color: #fff;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_flickrpager .sys_navigation .sys_page:hover
{
    background-color: #0064b1;
    color: #361e54;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_flickrpager .sys_navigation .sys_selected span
{
    padding: 0 2rem;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_flickrpager .sys_navigation .sys_page a
{
    padding: 0 2rem;
    text-decoration: none;
    color: #fff;
}

#ctl00_ctl00_PageContent_subtemplategeneric_subtemplategeneric_PlaceHolderColumnTwoThirds_AZListing_List .sys_flickrpager .sys_navigation .sys_page a:hover
{
    text-decoration: none;
    color: #361e54;
}
.sys_generic_list-control
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

dt.sys_generic_list-description
{
    display: none;
}

dd.sys_generic_list-description
{
    margin-left: 0;
    margin-bottom: 25px;
}

.sys_generic_list-summary
{
    margin-bottom: 5rem;
}

dl
{
    margin-top:0;
}

.button-apply, .button-pay, .button-report, .button-default, .button-custom
{
    display: flex;
    visibility: visible;
    width: 100%;
    font-size: 1.375em;
    background-color: #3c6312;
    border: 1px solid #3c6312;
    color: #fff;
    position: relative;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
    text-decoration: none;
    margin-top: 1.3333rem;
    padding: 40px 32px 39px 18px;
    font-weight: 700;
    line-height: 1.5;
    text-transform: capitalize;
    align-items: center;
}

.button-apply:hover, .button-pay:hover, .button-report:hover, .button-default:hover, .button-custom:hover
{
    background-color: #fff;
    color: #3c6312;
}

.button-custom
{
    text-transform: none;
}

@media (max-width: 460px)
{
    .button-custom
    {
        width: 100%;
    }
}

@media (max-width: 768px) and (min-width: 461px)
{
    .button-custom
    {
        width: 50%;
    }
}

.icon-right-dir
{
    font-size: x-large;
    display: inline-block;
}

@media (max-width: 768px)
{
    .icon-right-dir
    {
        display:none;
    }
}

.button-apply a, .button-pay a, .button-report a, .button-default a, .button-custom a
{
    color: white;
    text-decoration: none;
    font-size: 1.5rem;
    line-height: 1.5;
    
}

.button-apply:hover a, .button-pay:hover a, .button-report:hover a, .button-default:hover a, .button-custom:hover a
{
    color: #3c6312;
}

/* Define Side Menu Items Document Styles */
/* ----------------------------------------------------------------------------*/
#sideMenuItems
{
    background-color: #e8f3fa;
    color: #361e54;
    font-weight: bold;   
    margin-top: 1.3333rem;
}

@media (max-width: 460px)
{
    #sideMenuItems
    {
        width: 100%;
    }

}

@media (min-width: 461px) and (max-width: 768px)
{
    #sideMenuItems
    {
        width: 50%;
    }

    #sideMenuItems h2
    {
        font-size: 1em;
        line-height: 1.5;
        margin: 0;
    }
}

.side-pages
{
    padding: 10px 10px 10px 1.125rem;
}

.side-pages a
{
    text-decoration: none;
}


/* Define Services Styles */
/* ----------------------------------------------------------------------------*/

.services-boxes
{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}


.services-item, .services-item-hidden
{
    width: 32%;
    padding: 40px;
    text-align: center;
    background-color: #e8f3fa;
    margin-bottom: 1%;
    font-size: 2.1875rem;
    line-height: 1.5;
}


@media (max-width: 460px)
{
    .services-item, .services-item-hidden
    {
        width: 30%;
        padding: 20px;
        margin-bottom: 4.5%;
        font-size: 1.2em;
        line-height: 1.5;
    }
}


@media (min-width: 461px) and (max-width: 768px)
{
    .services-item, .services-item-hidden
    {
        width: 30%;
        padding: 10px;
        margin-bottom: 4.5%;
        font-size: small;
    }
}

.services-item:hover, .services-item-hidden:hover
{
    background-color: #361e54;
    color: #fff;
}


.services-item a, .services-item-hidden a
{
    text-decoration: none;
    color: #361e54;
}

.services-item:hover a, .services-item-hidden:hover a
{
    color: #fff;
}

.services-load, .services-load-mobile
{
    width: 100%;
    background-color: #361e54;
    text-align: center;
    color: #fff;
    font-weight: bold;
    padding: 10px;
    margin-bottom: 1%;
    display: block;    
    cursor: pointer;
}

.services-load-mobile
{
    display: none;
}

@media (max-width: 768px)
{
    .services-load
    {
        display: none;
    }
    
    .services-load-mobile
    {
        display: block;
        padding: 5px;
    }
}

.icon-services
{
    font-family: fontello;
}

.icon-services::before
{
    content: '\e811';
}


/* Define News Carousel Styles */
/* ----------------------------------------------------------------------------*/

.news-carousel
{
    display: block;
    width: 100%;
    height: auto;
    max-width: 1412px;
    max-height: 794.25px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
}

.news-slide
{
    position: relative;
}

.news-slide img
{
    position: relative;
}


.news-slide-text
{
    width: auto;
    max-width: 50%;
    background-color: #361e54;
    color: #fff;
    padding: 15px;
    position: absolute;
    height: auto;
    max-height: 100%;
}

.news-slide-text.news-slide-text-mobilehide
{
    max-width: 100%;
}

@media (min-width: 768px)
{
    .news-slide-text
    {
        max-width: 50%;
        max-height: 100%;
    }

    .news-slide-text.news-slide-text-mobilehide
    {
        max-width: 50%;
    }
}

.news-slide-text.top-left
{
    top: 0;
    left: 0;
}

.news-slide-text.top-right
{
    top: 0;
    right: 0;
}

.news-slide-text.bottom-left
{
    bottom: 0;
    left: 0;
}

.news-slide-text.bottom-right
{
    bottom: 0;
    right: 0;
}

@media (max-width: 768px)
{
    .news-slide-text-mobile
    {
        width: 100%;
        height: 100%;
        background-color: #e8f3fa;
        color: #361e54;
        padding: 15px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 99;
    }
}

@media (min-width: 992px)
{
    .news-slide-text-mobile
    {
        background-color: #361e54;
        color: #fff;
    }
}


.news-slide-text a
{
    text-decoration: none;
    color: #fff;
    font-weight: bold;
}

.news-slide-text-mobile a
{
    text-decoration: none;
    color: #361e54;
    font-weight: bold;
}

@media (min-width: 992px)
{
    .news-slide-text-mobile a
    {
        color: #fff;
    }
}

.news-slide-content
{
    font-size: 0.9rem;
    line-height: 1.5;
    display: none;
}

.news-slide-content.news-slide-content-mobilehide
{
    display: block;
}

@media (min-width: 992px)
{
    .news-slide-content
    {
        font-size: 0.9rem;
        line-height: 1.5;
        display: block;
    }
}

@media (min-width: 1281px)
{
    .news-slide-content
    {
        font-size: inherit;
    }
}

@media (max-width: 768px)
{
    .news-carousel .slick-slide
    {
        min-height: 150px;
        background-color: #e8f3fa;
    }
}

.news-hub
{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #361e54;
    text-align: center;
    color: #fff;
    font-weight: bold;
    display: block;
    height: 1rem;
    margin-bottom: 2.063rem;
}

@media (min-width: 992px)
{
    .news-hub
    {
        height: 3.875rem;
        padding: 0.625rem;
    }
}


.news-hub a
{
    color: #fff;
    text-decoration: none;
}

.news-highlight
{
    display: none;
}

@media (min-width: 992px)
{
    .news-highlight
    {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 50px;
        background-color: hsla(267, 47%, 22%,0.8);
        color: #fff;
        justify-content: space-evenly;
        background-size: cover;
    }

}

.news-highlight .col-half
{
    width: 50%;
    padding: 10px;
    align-self: flex-start;
}

.news-highlight .col-half:first-child
{
    border-right: 2px solid #fff;
}

.news-highlight .col-half:nth-child(2)
{
    padding-left: 30px;
}

.news-highlight .col-half:nth-child(2) p
{
    margin-bottom: 18px;
    
}

.news-highlight h2
{
        margin: 0.1667rem 0 0.1667rem 0;
}

@media (min-width: 992px)
{
    .news-highlight h2
    {
        margin: 1.3333rem 0 1.3333rem 0;
    }
}


.news-highlight a
{
    color: #fff;
    text-decoration: none;
}

.news-highlight a:hover
{
    text-decoration: underline;
}


.news-slide-mobilehide
{
        visibility: hidden;
        display: none;
}


@media (min-width: 992px)
{
    .news-slide-mobilehide
    {
        visibility: visible;
        display: block;
    }
}

/* Define News Article Listing Styles */
/* ----------------------------------------------------------------------------*/

#news-articles-listing
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.news-article
{
    width: 100%;
    margin-bottom: 1rem;
    display: flex;
    display: -ms-flexbox;
    background-color: #e8f3fa;
    color: #361e54;
    flex-wrap: wrap;
}

@media (min-width: 992px)
{
    .news-article
    {
        width: 32%;
        margin-bottom: 1.125rem;
    }
}

.news-article:hover
{
    background-color: #361e54;
    color: #fff;
}

.news-article a
{
    color: #361e54;
    text-decoration: none;
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0.5rem;
}

.news-article a:hover
{
    color: #fff;
    text-decoration: none;
}

.news-article-title
{
    width: 100%;
    text-align: left;
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 0.1667rem 0 0.1667rem 0;
    font-weight: normal;
}

@media (min-width: 992px)
{
    .news-article-title
    {
        width: 100%;
        text-align: left;
        margin: 1.3333rem 0 1.3333rem 0;
    }
}

.news-article-image-main
{
    float: left;
    max-width: 100%;
    width: 100%;
    height: auto;
    margin-right: 1rem;
}

.news-article-image-main img
{
    width: auto;
    height: auto; 
    max-height: 600px;
    max-width: 100%;
}

.news-article-description
{
    font-size: 1rem;
    line-height: 1.5;
    flex-grow: 1.35;
    margin-bottom: 1.125rem;
    flex-shrink: 1;
    width: 100%;
}

.news-article-description ul
{
    list-style-position: inside;
}

.news-article-date
{
    font-size: 0.56rem;
    line-height: 1.5;
}

@media (min-width: 992px)
{
    .news-article-date
    {
        font-size: 1rem; 
        line-height: 1.5;
    }
}


.news-article-posted-date
{
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 0.7917rem; 
    background-color: inherit;
}

@media (min-width: 992px)
{
    .news-article-posted-date
    {
        font-size: 1.25rem; 
        line-height: 1.5;
    }
}

.news-article-empty
{
    height: 0;
    flex: 0 1 32%;
    -ms-flex: 0 1 32%;
    margin-bottom: 1rem;
    display: flex;
    display: -ms-flexbox;
    background-color: transparent;
    color: transparent;
}

.news-article-empty:hover
{
    background: transparent;
}

.news-articles-load
{
    width: 100%;
    background-color: #361e54;
    text-align: center;
    color: #fff;
    margin-bottom: 1.125rem;
    cursor: pointer;
    /*height: 1.5rem;*/
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}


@media (min-width: 992px)
{
    .news-articles-load
    {
        /*height: 3rem;*/
        padding: 0.625rem;
    }
}


.news-articles-load a
{
    color: #fff;
    text-decoration: none;
}


.news-article-gallery
{
    width: 100%;
    display: flex;
    -ms-flex-direction:row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
}

.news-article-gallery-image
{
    width: 32%;
}

.news-article-gallery-image img
{
    width: 100%;
    height: auto;
    max-height: 200px;
}



/* Define Policy Document Styles */
/* ----------------------------------------------------------------------------*/

ul.policy-documents {
    padding: 0;
}

.policy-documents li
{
    list-style: none;
}

.wrap-policy 
{
    margin-left: auto;
    margin-right: auto;
    width: 90%
}

.table-policy, .table-filters
{
    font-size: small;
    table-layout: fixed;
}

#policies-filters
{
    width: 20%;
    float: left;
}

#policies-table
{
    width: 75%;
    float: left;
}

#policy-spacer
{
    width: 2%;
    float: left;
}

.table-policy tr
{
    border-bottom: 1px solid #144c72;
}

.table-policy td
{
    text-align: left;
    padding: 5px 5px;
}

#policysearchtext
{
    width: 80%;
    height: 2rem;
}

#policysearchbutton
{
    height: 2rem;
}

@media (max-width:767px) 
{
  #policies-filters
  {
      width: 90%;
      display: none;
  }  

  #policy-spacer
  {
      width: 100%;
  }

  #policies-table
  {
      width: 100%;
  }

  .table-policy > tbody > tr > th, .table-policy > tbody > tr > td
  {
      display: none
  }

  .table-policy > tbody > tr > th:first-child, .table-policy > tbody > tr > td:first-child
  {
      display: table-cell;
      border-right: 1px solid #144c72;
  }
}

/* Define Contact Card Styles */
/* ----------------------------------------------------------------------------*/

.contactCard
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    font-size: 1rem;
    color: #361e54;
    background-color: #e8f3fa;
    line-height: 1.5;
    margin-bottom: 2rem;
}

.contactCard-Title
{
    color: #361e54;
    width: 100%;
    padding: 10px 10px 10px 1.125rem;
    font-size: 1.4rem;
    line-height: 1.5;
}

.contactCard-Content, .contactPageCard-Content
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 10px 10px 10px 1.125rem;
}

.contactPageCard-Content
{
    padding: 0;
}

.contactCard-infokey,.contactCardHours-infokey
{
    width: 26%;
    padding: 0.25rem 0.25rem 0.25rem 0;

}

@media (min-width: 992px)
{
    .contactCardHours-infokey
    {
        width: 41%;
    }
}

.contactCard-infokey-narrow
{
    width: 26%;
    padding: 0.25rem 0.25rem 0.25rem 0;
}

@media (min-width: 992px)
{
    .contactCard-infokey-narrow
    {
        width: 15%;
        padding: 0.25rem 0.25rem 0.25rem 0;
    }
}


.contactCard-infoval, .contactCardHours-infoval
{
    width: 74%;
    padding: 0.25rem 0.25rem 0.25rem 0;
    word-break: break-word;
}

.contactCardHours-infoval
{
    width: 74%;
}

@media (min-width: 992px)
{
    .contactCardHours-infoval
    {
        width: 59%;
    }
}

.contactCard-infoval-narrow
{
    width: 74%;
    padding: 0.25rem 0.25rem 0.25rem 0;
    word-break: break-word;
}

@media (min-width: 992px)
{
    .contactCard-infoval-narrow
    {
        width: 85%;
        padding: 0.25rem 0.25rem 0.25rem 0;
    }
}

.contactCard-infoval a, .contactCardHours-infoval a
{
    color: #361e54;
    text-decoration: underline;
}
.contactCard-infoval a:hover, .contactCardHours-infoval a:hover
{
    color: #00ade2;
}

.sys_theme-simple .sys_datarepeatercontrol .sys_subitem
{
    background: none;
    border: none;
}

.sys_theme-simple .sys_itemslist .sys_subitem .sys_subitem-heading
{
    background: none;
}

.info-boxes
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
}

.split-2-wide .col:first-child
{
    width: 70%;
}

.split-2-wide .col:last-child
{
    width: 30%;
}

table 
{
    border-color: #361e54;
    color: #361e54;
    margin-bottom: 24px;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

th 
{
    background-color: #361e54;
    color: #fff;
    font-size: .75em;
    line-height: 1.5;
    font-weight: 700;
    height: 42px;
    padding: 0 16px;
    text-align: left;
}

td 
{
    padding: 2px 4px;
    text-align: center;
    vertical-align: top;
}

.contactCard-Heading
{
    width: 100%;
    font-weight: bold;
    color: #361e54;
    height: 3rem;
}

.contactCard-Content, .contactPageCard-Content
{
    width: 100%;
    color: #361e54;
}

.contactCard-Link
{
    padding: 10px 10px 10px 1.20rem;
}

.contactCard-Link a
{
    color: #361e54;
}

.contactCard-Link a:hover
{
    color: #00ade2;
}

.contactCard-AltTel
{
    width: 100%;
}

.contactCard-altTelLabel
{
    width: 20%;
}

.contactCard-altTelText
{
    width: 80%;
}


/* Define Contact Page Styles */
#contactPageTitle
{
    width: 100%;
    text-align:left;
}

@media (min-width: 992px)
{
    #contactPageTitle
    {
        width: 75%;
    }
}

#contactPageTitle h1, .contactPageTitle h1
{
    margin-top: 0;
}

.contactPage.two-cols
{
    width: 100%;
}

.contactPageRow
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contactPageDetails
{
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    background-color: #e8f3fa;
    padding: 1rem;
    align-items: flex-start;
    margin-bottom: 2rem;
}

@media (min-width: 992px)
{
    .contactPageDetails
    {
        width: 58%;
        margin-bottom: 0;
    }
}

.contactCard-List
{
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.contactPageHours
{
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: sflex-start;
    background-color: #e8f3fa;
    padding: 1rem;
    align-items: flex-start;
    margin-bottom: 2rem;
}

@media (min-width: 992px)
{
    .contactPageHours
    {
        width: 40%;
        margin-bottom: 0;
    }
}


.contactPageAdditional
{
    width: 100%;
    margin: 2rem 0;
}

.contactPageAdditionalTitle, .contactPageAdditionalContent
{
    color: #361e54;
}

.contactPageAdditionalContent
{
    margin-bottom: 2rem;
}

#sideMenuItems.contactPage
{
    margin-top: 0;
}

/* Define Event Record Styles */
/* ----------------------------------------------------------------------------*/
dd {
    margin: 0 0 0 40px;
}

.sys_events-record .sys_events-details, .sys_events-record .sys_events-details dd, .sys_events-record .sys_events-details dt {
    margin: 0;
    padding: 0;
}

.sys_events-record .sys_events-details dd {
    margin-bottom: 1em;
}

.sys_events-record .sys_events-details dt {
    margin-bottom: .5em;
    font-size: 1.3125rem;
    line-height: 1.5;
    font-weight: 500;
}

/* ******************************************************* */
/* MODGOV Styles */
/* ******************************************************* */

.modgov-wrap
{
    max-width: 95%;
}

#modgov .mgWordPara
{
    word-break: break-word !important;
}

#modgov td
{
    border: none;
    text-align: left;
}


#modgov table.mgItemTable, #modgov .mgContent table
{
    table-layout: fixed;
    width:auto;
}

#modgov table.mgContactFormTable
{
    table-layout: initial;
}

#modgov table.mgItemTable th, #modgov .mgContent table th
{
    word-wrap: break-word;
}

#modgov #worktodo th:first-child
{
    width: 8%;
}

#modgov #worktodo th:nth-child(2)
{
    width: 20%;
}

#modgov #worktodo th:nth-child(3)
{
    width: 20%;
}

#modgov #worktodo th:nth-child(4)
{
    width: 50%;
}

#modgov #mgStepsTable1 th:first-child
{
    width: 9%;
}

#modgov #mgStepsTable1 th:nth-child(2)
{
    width: 50%;
}

#modgov #worktodo #mgStepsTable1 th:first-child
{
    width: 10%;
}

#modgov #worktodo #mgStepsTable1 th:nth-child(2)
{
    width: 50%;
}

#modgov table.mgItemTable td, #modgov .mgContent table td
{
    word-wrap: break-word;
}

#modgov table.mgItemTable th
{
    vertical-align: middle;
}

#modgov th
{
    color: #fff !important;
}

#modgov tr.tablesorter-filter-row, #modgov tr.tablesorter-filter-row td, #modgov tr.mgFilterHeaderRow th {
    background: #eee;
    color: #000 !important;
}

#modgov .tablesorter-default .tablesorter-filter-row {
    background-color: #eee;
    color: #000 !important;
}

#modgov .mgItemTable th:first-child
{
    width: 10%;
}

#modgov .mgItemTable th:nth-child(2)
{
    width: 85%;
}

#modgov table.tablesorter thead tr .tablesorter-header:hover 
{
    border: 1px solid black;
    background-color: #eeeeee;
    color: #000 !important;
}

#modgov input[type=radio]
{
    transform: scale(1.5);
    float: left;
    margin-top: 6px;
}

#modgov li strong 
{
    padding-left: 2em;
    display: block;
}

#modgov li .mgWordPara 
{
    word-break: break-word !important;
    padding-left: 2em;

}

#modgov table.mgStatsTable th
{
    color: #361e54 !important;
}

#modgov table.mgStatsTable th
{
    color: #361e54 !important;
    background-color: #fff !important;
}

/* ******************************************************* */
/* MODGOV Styles End*/
/* ******************************************************* */


/* Social Share Bar Styles */
.social-share
{
    margin: 0 0 1rem 0;
    height: 3rem;
    background-color: #361e54;
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    align-items: center;
}

.social-share-title, .social-share-icons
{
    display: block;
    padding: 0.875rem 2rem 0.875rem 1.125rem;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
    text-decoration: none;
    word-break: break-word;
}

.social-share-icons a
{
    color: #fff;
    text-decoration: none;
}

.newsarticle.two-cols
{
    width: 100%;
}

.wedding-video
{
    width: 100%;
    margin: 2rem auto;
}

.wedding-video .video
{
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}

.wedding-video .video img
{
    max-width: 100%;
}

.wedding-video-frame
{
    width: 100%;
    height: auto;
    min-height: 20rem;
}

@media (min-width: 992px)
{
    .wedding-video-frame
    {
        width: 100%;
        height: auto;
        min-height: 30rem;
    }
}


/* Info Card Styles */
.infoCardSection 
{
    width: auto;
    max-width: 100%;
}

.infoCardRow 
{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin: 1.33333rem -1rem 0 -1rem;
    justify-content: space-between;
}

.infoCard 
{
    -ms-flex-preferred-size: 50%;
    flex-basis: 48%;
    -ms-flex-positive: 1;
    min-width: 300px;
    margin-top: 2rem;
    border-radius: 3px;
    overflow: hidden
}

.infoCard-dark 
{
    background-color: #f2f2f2;
}

.infoCard__padding 
{
    height: 100%;
    width: 100%;
    padding: 0 1rem
}

.infoCard__inner 
{
    position: relative;
    height: 100%;
    width: 100%;
    background-color: #f2f2f2
}

.infoCard__content 
{
    height: 100%;
    padding: 2rem
}

.infoCard__text 
{
    height: 100%
}

.infoCard__text p 
{
    margin-top: 0
}

.infoCard__text p a 
{
    display: inline
}

.infoCard__heading 
{
    font-size: 1.16667rem
}

caption
{
    display: table-caption;
    text-align: left;
}

.policyDocSubject
{
    font-weight: bold;
    margin-top: 2rem;
    font-size: 1.2rem;
    line-height: 1.5;
}

#site-search select:focus, #site-search select:focus-visible, #site-search input:focus, #site-search input:focus-visible
{
    outline: -webkit-focus-ring-color auto 1px;
}

.image-wrap
{
    float: left;
    margin-right: 1rem;
    margin-bottom: 2rem;
}

.socialMedia
{
    width: 100%;
    padding: 2rem 0;
    margin: 2rem 0;
}

.socialMedia h2
{
    text-align: center;
}

.podcast
{
    padding: 1rem;
    border: 1px solid #361e54;
}

.cookiesTable
{
    border: 1px solid #361e54;
}

.cookiesTable th, .cookiesTable td
{
    border: 1px solid #361e54;
}

.listIndented
{
    list-style-type: circle;
    margin-left: 1rem;
}

.tableBorder, .tableBorder th, .tableBorder td
{
    border: 1px solid #361e54;
    text-align: left;
}

.linkUnderline:hover
{
    text-decoration: underline;
}

.sys_theme-simple .sys_atoz-control ul li.sys_noresults span
{
    color: #545454 !important;
    font-weight: normal !important;
}

/*  My Life My Care Styles */
/**********************************************************************************/
#mlmcSolutionsList, #mlmcSolutionsDesc, .mlmcText, mlmcTextBold
{
    width: 100%;
    display: block;
    position: relative;
}

#mlmcSolutionsDesc .mlmcTextBold
{
    font-size: 1.1rem;
    color: #484848;
}

#mlmcSolutionsListTop, #mlmcSolutionsListHead
{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

#mlmcSolutionsListHead h2
{
    color: #361e54;
    font-weight: bold;
    margin: 0;
    font-size: 2rem;
}

#mlmcSolutionsListTop 
{
    background: #361e54;
    color: #fff;
    padding: 0.5rem;
    margin-bottom: 1rem;
    align-items: center;
}

#mlmcSolutionTitle h2
{
    color: #361e54;
    font-weight: bold;
    margin: 0;
}

.mlmcHalf
{
    width: 100%;
}

@media (min-width: 1024px)
{
    .mlmcHalf
    {
        width: 48%;
    }
}

.mlmcHalf.mlmcActionBar, .mlmcActionBar
{
    align-content: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    gap: 0.5rem;
}

@media (min-width: 768px)
{
    .mlmcHalf.mlmcActionBar, .mlmcActionBar
    {
        gap: 1rem;
        justify-content: flex-end;
    }

}

.mlmcTextBold
{
    font-weight: bold;
}

.mlmcDivider
{
    width: 100%;
    margin: 2rem 0;
}

#mlmcSolutions, .mlmcSolutionItem, .mlmcSolutionItemTitle, .mlmcSolutionDesc
{
    width: 100%;
    position: relative;
    display: block;
}

.mlmcItem
{
    border-bottom: solid 1px #e9e9e9;
    padding: 0.5rem;
}

.mlmcItem:nth-child(even)
{
    background-color: #fbfbfb;
}

.mlmcSolutionItemTitle a
{
    font-weight: bold;
    color: #361e54;
    cursor: pointer;
}

.mlmcSolutionItemTitle a:hover
{
    /*color: #f26522;*/
    text-decoration: underline;
}

.mlmcSolutionItem
{
    margin-bottom: 2rem;
}

#mlmcSolutionStrap 
{
    font-weight: bold;
}

#mlmcSolutionNav
{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.mlmcSolutionNavButton
{
    width: auto;
    padding: 0.5rem 1rem;
    color: #343434;
    background: #b4d7f3;
    border-right: 2px solid #fff;
    cursor: pointer;
}

.mlmcSolutionNavButton:hover
{
    color: #fff;
    background: #361e54;
}

.mlmcSolutionSection
{
    margin: 2rem 0;
}

.mlmcmSolutionButton
{
    margin-bottom: 2rem;
}

.mlmcmSolutionButton a
{
    width: auto;
    color: #fff;
    background: #361e54;
    border: 3px solid #361e54;
    text-decoration: none;
    padding: 0.5rem 1rem;
    font-size: 1.1rem;
    line-height: 1.5;
    cursor: pointer;
}

.mlmcSolutionButton a:hover 
{
    /*background: #cf4500;
    border-color: #cf4500;*/
    text-decoration: underline;
}

.mlmcUpdated
{
    font-style: italic;
}

.mlmcActionItem, .mlmcActionItem a
{
    color: #361e54;
    text-decoration: underline;
    cursor: pointer;
}

@media print {
    header, footer, #site-header, #page-image, #breadcrumb
    {
        display: none;
    }
}

#mlmcEmailForm
{
    width: 100%;
    display: none;
    position: relative;
    border: 1px solid #e5e5e5;
    background: #f5f5f5;
    margin: 2em 0 0 0;
    padding: 10px;
    overflow: hidden;
}

#mlmcEmailFormInner
{
    width: 100%;
    background: #fff;
    padding: 1rem;
}

#mlmcEmailFormTitle
{
    color: #361e54;
    font-size: 1.1rem;
    font-weight: bold;
}

#mlmcEmailFormInner fieldset 
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#mlmcEmailFormInner label
{
    width: 25%;
    height: 2rem;
}

#mlmcEmailFormInner input[type=text], #mlmcEmailFormInner input[type=email], #mlmcEmailFormInner textarea
{
    width: 75%;
    height: 2rem;
    font-family: inherit;
    font-size: inherit;
}

#mlmcEmailFormInner textarea
{
    height: auto;
    margin-bottom: 1rem;
}

#mlmcEmailFormInner .required
{
    color: #A00;
    font-size: 0.8rem;
}

#mlmcEmailFormInner input[type=submit]
{
    width: auto;
    padding: 0.5rem 1rem;
    color: #fff;
    background: #361e54;
    border: 2px solid #fff;
    white-space: normal;
    height: auto;
    font-size: 1.1rem;
    cursor:pointer;
}

#mlmcEmailFormInner input[type=submit]:hover
{
    /*background: #cf4500;   */
    color: #fff;
}

#mlmcFormSuccess
{
    width: 100%;
    padding: 1rem;
    border: 1px solid #e5e5e5;
    margin-bottom: 5rem;
}

#mlmcFormSuccessQuit
{
    float: right;
    cursor: pointer;
    font-weight: bold;
}

#mlmcBreadcrumb, #mlmcBreadcrumb a
{
    font-size: 0.75rem;
    color:#fff;
}

#mlmcSearchForm
{
    text-align: right;
}

#mlmcSearchForm label, #mlmcSearchForm input
{
    height: 2rem;
}

#mlmcSearchForm input[type="button"]
{
    border-radius: none;
}

#mlmcDirectoryResultsIntro
{
    font-weight: 500;
    margin-bottom: 2rem;
}

#mlmcDirectoryResultsItems
{
    width: 100%;
    position: relative;
    display: block;
    border-top: 3px solid #361e54;
}

.mlmcDirResultsItem
{
    width: 100%;
    padding: 2rem 0;
    border-bottom: 3px solid #361e54;
}

.mlmcDirResultsItemName
{
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom:0.5rem;
}

#mlmcDirectory
{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 3%;
}

#mlmcDirectoryListTop h2
{
    color: #361e54;
    font-weight: 500;
    margin: 0 0 1rem 0;
    font-size: 1.5rem;
}

@media(min-width: 568px)
{
    #mlmcDirectoryListTop h2
    {
        font-size: 2rem;
    }
}

#mlmcDirectoryListStrap
{
    font-weight: bold;
    color: #484848;
    font-size: 1.1rem;
}

.mlmcCategory
{
    width: 98%;
    margin-bottom: 1rem;
}

@media(min-width: 568px)
{
    .mlmcCategory
    {
        width: 48%;
    }
}

@media(min-width: 1024px)
{
    .mlmcCategory
    {
        width: 31%;
    }
}

.mlmcCategory a
{
    text-decoration: none;
}

.mlmcCategory a .mlmcCategoryTitle
{
    font-size: 1.2rem;
    color: #484848;
}

.mlmcCategory a:hover .mlmcCategoryTitle
{
    text-decoration: underline;
}

.mlmcCategory a:hover .mlmcCategoryDesc
{
    text-decoration: underline;
    /*color: #cf4500;  */
}

#mlmcDirectoryListAZ
{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 1rem;
    margin: 1rem 0;
    border: 1px solid #484848;
}

#mlmcDirectoryListSearch
{
    width: 100%;
    position: relative;
    flex-direction: row;
    flex-wrap: nowrap;
    margin: 1rem 0;
    border: 3px solid #361e54;
}

#mlmcDLSearchTop
{
    background-color: #361e54;
    color: #fff;
    padding: 1rem;
}

#mlmcDLSearchBottom
{
    padding: 1rem;
}

#mlmcDLSearchTop label
{
    width: 20%;
}

#mlmcDLSearchTop input[type="text"]
{
    height: 2rem;
    width: 75%;
}

#mlmcDLSearchBottom input[type="submit"]
{
    width: auto;
    height: auto;
    padding: 1rem;
    background-color: #361e54;
    color: #fff;
    font-size: 1.2rem;
    border: 0;
}

#mlmcDirectoryListAZ ul
{
    width: 100%;
    list-style-type: none;
    display: inline-flex;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-start;
    align-items: center;
    
}

#mlmcDirectoryListAZ ul li 
{
    width: 2.625rem;
    height: 2.625rem;
    border: solid 1px #cecece;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f1f1f1;
}

#mlmcDirectoryListAZ ul li:first-child
{
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    width: 3rem;
}

#mlmcDirectoryListAZ ul li a:hover
{
    color:#361e54;
    text-decoration: none;
}

#mlmcCategoryResults
{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

#mlmcCRLeft
{
    width: 24%;
}

#mlmcCRRight
{
    width: 74%;
    display: flex;
    flex-direction: column;
}

#mlmcBrowseBox
{
    border: 3px solid #361e54;
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

#mlmcBrowseBoxTitle
{
    background-color: #361e54;
    color: #fff;
    padding: 0.5rem;
    width: 100%;
    display: block;
    position: relative;
    font-weight: 500;
    font-size: 1.1rem;
}

#mlmcBrowseBoxContent
{
    display: block;
    position: relative;
    width: 100%;
}

#mlmcBrowseBoxContent ul
{
    list-style-type: none;
}

#mlmcBrowseBoxContent ul li a
{
    text-decoration: none;
}

#mlmcBrowseBoxContent ul li a:hover
{
    text-decoration: underline;
    /*color: #cf4500;*/
}

#mlmcBrowseBoxButton 
{
    width: auto;
    margin-left: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 1.5rem;
    font-weight: bold;
    background-color: #361e54;
    color: #fff;
    float: left;
    margin-bottom: 0.5rem;
    display: block;
    position: relative;
}

#mlmcBrowseBoxButton:hover
{
    /*background-color: #cf4500;*/
    color: #fff;
    text-decoration: underline;
}

#mlmcBrowseBoxButton a
{
    color: #fff;
    text-decoration: none;
}

#mlmcCRTop
{
    width: 100%;
    display: block;
    position: relative;
}

#mlmcCRTitle, #mlmcCRStrap, #mlmcCRIntro
{
    width: 100%;
    display: block;
    position: relative;
}

#mlmcCRTitle h2
{
    color: #361e54;
    font-weight: 500;
    margin: 0 0 1rem 0;
    font-size: 2rem;   
}

#mlmcCRStrap
{
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

#mlmcCRIntro
{
    margin-bottom: 1rem;
}

.icon-plus, .icon-minus
{
    background-color: #361e54;
    color: #fff;
    margin-right: 0.2rem;
}

.icon-ok, .icon-cancel
{
    color: #361e54;
    margin-right: 0.2rem;
}

.icon-plus:before, .icon-minus:before, .icon-ok:before, .icon-cancel:before
{
    padding-left: 0.1em;
}

#mlmcCRResults
{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    margin-top: 2rem;
}

.mlmcCatItem
{
    width: 100%;
    border-bottom: 3px solid #361e54;
    padding: 1rem 0;
}

.mlmcCatItem:nth-child(odd)
{
    background-color: #fbfbfb;
}

.mlmcCatItemTitle
{
    font-weight: bold;
    margin-bottom: 1rem;
}

.mlmcCatItemShort, .mlmcCatItemDesc, .mlmcCatItemContact
{
    margin-bottom: 1rem;
}

.mlmcCatItemShort
{
    display: none;
}

.mlmcBold 
{
    font-weight: bold;
}

.mlmcCatItemRow
{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

.mlmcCatItemNumberLeft, .mlmcCatItemNumberRight
{
    width: 10%;
}

.mlmcCatItemContent
{
    width: 80%;
}

.mlmcNumber
{
    width: 100%;
    font-size: 2rem;
    font-weight: bold;
    color: #361e54;
    text-align: center;
}

.mlmcNumberMarker
{
    background: url(/siteelements/images/maps/map-pin-purple.svg);
    height: 100%;
    background-repeat: no-repeat;
    background-position: top;
    text-align: center;
    padding-top: 1.2rem;
    color: #fff;
    font-weight: bold;
}

#mlmcService,.mlmcService, #mlmcServiceTop, #mlmcServiceTitle, #mlmcServiceStrap, #mlmcServiceIntro, #mlmcServiceKeywords, #mlmcServiceAreas, #mlmcDisclaimer
{
    width: 100%;
    position: relative;
    display: block;
    margin-bottom: 1rem;
}

#mlmcServiceTop
{
    background-color: #361e54;
    color: #fff;
    padding: 1rem;
}

#mlmcServiceTitle h2 
{
    color: #361e54;
    font-weight: 500;
    margin: 0 0 1rem 0;
    font-size: 2rem;       
}

#mlmcServiceStrap
{
    font-weight: bold;
    font-size: 1.1rem;
    margin: 2rem 0;
    color: #484848;
}

#mlmcServiceContact
{
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    border: 3px solid #361e54;
    margin-bottom: 2rem;
    padding: 3rem;
}

.mlmcServiceContactRow
{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 2rem;
}

.mlmcServiceContactRow:last-of-type
{
    margin-bottom: 0;
}

.mlmcServiceContactLeft
{
    width: 28%;
    text-align: right;
    font-weight: bold;
}

.mlmcServiceContactRight
{
    width: 68%;
    text-align: left;
}

#mlmcDisclaimer
{
    font-size: 0.8rem;
    font-style: italic;
}

.mlmcBack
{
    width: auto;
    padding: 0.5rem;
    background-color: #361e54;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    margin: 2rem 0;
    float: left;
}

.mlmcBack:hover
{
    /*background-color: #cf4500;*/
}

.mlmcBack a
{
    color: #fff;
    text-decoration: none;
}

.mlmcBack a:hover
{
    text-decoration: underline;
}

#mlmcServiceActionBar
{
    width: 100%;
    text-align: right;
}

#mlmcDirectoryResults h2 
{
    color: #361e54;
    font-weight: 500;
    margin: 0 0 1rem 0;
    font-size: 2rem;       
}

.mlmcSearchStrap
{
    font-weight: bold;
    color: #484848;
    font-size: 1.1rem;
    margin-bottom: 2rem;
}

.mlmcItemShortListed, .mlmcServiceShortListed
{
    width: 100%;
    padding: 0.5rem;
    background-color: #ebebeb;
}

.mlmcCatItemShortAction, .mlmcServiceShortAction
{
    cursor: pointer;
}

#mlmcShortlist h2 
{
    color: #361e54;
    font-weight: 500;
    margin: 0 0 1rem 0;
    font-size: 1.5rem;       
}

@media(min-width: 768px)
{
    #mlmcShortlist h2 
    {
        font-size: 2rem;       
    }
}

#mlmcShortTop
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

#mlmcShortStatusAction
{
    cursor: pointer;
    color: #361e54;
    text-decoration: underline;
}

.mlmcShortlistService
{
    margin: 2rem 0;
    border-bottom: 3px solid #361e54;
}

#btnMLMCKeywordSearch, #btnMLMCKeywordClear
{
    cursor: pointer;
}

#btnMLMCKeywordSearch:hover, #btnMLMCKeywordClear:hover
{
    text-decoration: underline;
    opacity: 0.8;
}

#mlmcDirectoryHome h2 
{
    color: #361e54;
    font-weight: 500;
    margin: 0 0 1rem 0;
    font-size: 2rem;       
}

#mlmcDHStrap
{
    font-weight: bold;
    color: #484848;
    font-size:1.1rem;
    margin-bottom: 2rem;
}

#mlmcDHButton a
{
    width: auto;
    padding: 0.5rem;
    background-color: #361e54;
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    margin: 2rem 0;
    float: left;
    text-decoration: none;
}

#mlmcDHButton a:hover
{
    text-decoration: underline;
    /*background: #cf4500;*/
    /*border-color: #cf4500;*/
}

.atozLink
{
    font-weight: inherit;
    color: inherit;
}

.atozNull
{
    color: #4F4F4F;
    font-weight: 300;
}

.sys_theme-simple .sys_logon-control input.sys_textbox
{
    height: 2rem;
    margin-bottom: 1rem;
}

#LoginControl_SubmitButton, #registerButton {
    width: 25%;
    display: inline-block;
    padding: 0.5rem 1rem;
    background-color:#361e54;
    color: #fff;
    border: 0;
    text-align: center;
    font-size: inherit;
}

#registerButton {
    margin-left: 15.6%;
}

#registerButton a {
    color: #fff;
    text-decoration: none;
}

#registerButton a:hover {
    text-decoration: underline;
}

.pfLoginForm .sys_logon-themed {
    height: 100%;

}

.pfLoginForm .sys_theme-simple .sys_logon-control {
    height: 100%;
}

.pfLoginForm {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#pfRegistration label, #pfRegistration input {
    color: #000;
    font-weight: normal;
    height: 2rem;
}

#pfRegistration input {
    border: 1px solid black;
}

#pfRegistration label {
    width: 25%;
}

#pfRegistration p {
    color: #000;
    padding-left: 0.6rem;
}

#pfRegistration input[type="submit"] {
    width: auto;
    padding: 0.5rem 1rem;
    background-color: #361e54;
    color: #fff;
    font-size: inherit;
    height: auto;
}

.contactItemName > .icon-cancel:before {
    content: 'x';
    font-size: 1.3rem;
    line-height: 1;
    padding: 0;
    text-transform: none;
    color: #361e54;
}

#servs, #days, #facs, #bmth, #poole, #dorset, #auds {
    color: #0064b1;
    word-break: break-word;
    background-color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.itemCount {
    font-size: 0.8rem;
}

.serviceList, .daysList, .bList, .pList, .dList, .facsList, .audsList {
    margin-left: 1rem;
}

.icon-directory-styled {
    margin-left: 0.5rem;
    font-size: 0.8rem;
}

.icon-directory-styled:before {
    margin: 0;
    width: auto;
    padding: 0 0.2rem;
}

.sectionTop {
    margin-top: 1rem;
}

#mlmcShortTop {
    border-bottom: 1px solid #361e54;
    margin-bottom: 1rem;
}

.mlmcCRBack {
    width: 100%;
    display: block;
    position: relative;
}

.mlmcCRBack a {
    width: auto;
    padding: 0.5rem;
    font-size: 1rem;
    font-weight: bold;
    background-color: #361e54;
    color: #fff;
    float: left;
    margin-bottom: 0.5rem;
    display: block;
    position: relative;
    text-decoration: none;
}

.mlmcCRBack a:hover {
    text-decoration: underline;
}

.banner {
    background-color: #0055b1;
    color: #fff;
    text-align: left;
    display: block;
    width: 100%;
    height: auto;
    padding: 20px;
}

.banner a{
    text-decoration: underline;
    color: inherit;
}