body {
    margin: 0px;
    padding: 0px;
    height: 100%;
    box-sizing: border-box;
}

html {
    height: 100%;
}

#wrapper_header,
#wrapper_top_menu,
#wrapper_body,
#wrapper_footer,
#wrapper_copyright,
#warpper_strapline,
.wrapper_page_infopanel,
#wrapper_mailing,
#wrapper_top_social,
#wrapper_testimonials,
#wrapper_copyright {
    padding: 0px;
    width: 100%;
    max-width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0px;
    margin-left: auto;
    margin-right: auto;
}

#wrapper_header {
    background-color: #059ED8;
    background-image: url(/images/back_header.jpg);
    background-position: right bottom;
}

#wrapper_top_menu {
    background-color: #C1272D;
}

#wrapper_body {}

#wrapper_mailing {}

#wrapper_footer {
    border-top: 10px solid #C1272D;
    background-color: #059ED8;
}

#layout_header,
#layout_top_menu,
#layout_body,
#layout_footer,
#layout_copyright,
#layout_strapline,
.layout_page_infopanel,
#layout_mailing,
#layout_top_social,
#layout_testimonials,
#layout_copyright {
    width: 100%;
    max-width: 100%;
    margin: 0px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px;
    height: auto;
}

#layout_header {
    border-radius: 0px;
    position: relative;
    height: 180px;
}

#layout_top_menu {}

#layout_body {
    padding: 0px;
    background-repeat: repeat-y;
    background-color: #FFFFFF;
    display: block;
    width: 100%;
}

#layout_mailing {
    background-color: #a2a2a2;
    padding: 10px;
}

#layout_mailing .btn {
    background-color: #002862;
    color: #fff;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 16px;
    margin-top: 0px;
}

#layout_mailing h5 {
    color: #002862;
    margin: 0px;
}

#layout_mailing p {
    color: white;
}

#layout_mailing label {
    display: none;
}

#layout_mailing input[type='text'],
#layout_mailing input[type='email'] {
    width: 100%;
    vertical-align: middle;
    padding: 10px;
    box-sizing: border-box;
    margin-bottom: 10px;
    border: none;
    display: inline-block;
}

#layout_mailing .mc-field-group {

    width: 32.333%;
    display: inline-block;
}

#layout_footer {
    padding-top: 10px;
    padding-right: 20px;
    padding-left: 20px;
    font-weight: bold;
    color: #FFFFFF;
    padding-bottom: 10px;
    background-repeat: repeat-y;
    border-radius: 0px;
}

#layout_copyright {
    text-align: center;
    font-size: 12px;
}

#bgimg_top {
    background-color: #000000;
    background-attachment: fixed;
    background-image: url(/images/back.jpg);
    background-position: center top;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -200;
    width: 100%;
    height: 100%;
    background-size: cover;
    display: none;
}

audio {
    width: 320px;
    padding: 0px;
    margin: 0px;
    max-width: 100%;
}


.clear {
    clear: both;
    height: 0px;
}


img {
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
}

#top_logo {
    padding-left: 20px;
}

#top_links {
    width: 100%;
    text-align: right;
    color: #024E80;
    padding: 10px;
    box-sizing: border-box;
    position: relative;
}

#top_links #strapline {
    display: inline-block;
    position: absolute;
    top: 10px;
    left: 10px;
}
#top_links img {
    margin-left: 10px;
    vertical-align: middle
}
#top_links .btn {
    margin: 0px;
}
#top_contact {
    text-align: right;
    color: #000;
    padding: 10px;
    box-sizing: border-box;
    position: absolute;
    top: 50px;
    right: 0;
}

#top_contact p {
    margin: 0px;
    padding: 0px;
}

#top_contact a {
    color: #000;
    text-decoration: none;
}

#top_contact p#contact_tel {
    font-size: 24px;
}

#top_contact p#contact_tel span {
    display: block;
    font-size: 48px;
    color: #C1272D;
    font-weight: 900;
    padding-top: 15px;
}

#top_contact p#contact_tel span a {
    
    color: #C1272D;
}
#top_contact p#contact_email {}

#top_menu {
    height: 40px;
    width: 100%;
    margin: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#breadcrumb {
    color: #666;
    padding: 10px;
    display: block;
    width: 100%;
    background-color: #E4E4E4;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#breadcrumb a {
    color: #333;
    text-decoration: none;
}

#layout_footer a {
    color: #FFFFFF;
    text-decoration: none;
}
#layout_footer .col_100 {
    border-top: 1px solid #fff;
}
#foot_links {
    font-size: 28px;
    display: block;
    text-align: right;
}

#foot_links img {
    margin-left: 10px;
    vertical-align: middle;
}
p#foot_contact {
    font-size: 24px;
}

p#foot_contact span {
    display: block;
    font-size: 48px;
    color: #fff;
    font-weight: 900;
    padding-top: 15px;
}

p#foot_contact span a {
    
    color: #fff;
}
#page_container {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#page_col_centre {

    width: calc(100% - 280px - 320px);
    padding-right: 40px;
    padding-left: 40px;
    padding-top: 20px;
    min-height: 350px;
    flex-grow: 1;
    box-sizing: border-box;
}

#page_col_full {
    padding: 40px;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#page_col_main {
    width: 60%;
    padding: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    flex-grow: 1;
    padding: 40px;
}

#page_col_left {

    width: 280px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
}

#page_col_right {

    width: 320px;
    padding: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
    background-color: #fafafa;
}

#page_col_left h5,
#page_col_right h5 {
    display: block;
    padding: 5px;
    color: #036;
    margin: 0px;
}

/* in-page columns */

.col_container {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.col_25 {
    padding: 20px;
    width: 25%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.col_33 {
    padding: 20px;
    width: 33.333%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.col_50 {
    padding: 20px;
    width: 50%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.col_75 {
    padding: 20px;
    width: 75%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.col_100 {
    padding: 20px;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* Side Menu list */

.side_menu {
    margin: 0px;
    padding: 0px;
}

.side_menu li {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
    border-bottom: 2px solid #999;
    position: relative;
}

.side_menu li:hover {
    background-color: #f2f2f2;
}

.side_menu li::before {
    content: '>';
    position: absolute;
    right: 5px;
    color: #a2a2a2;
    font-size: 18px;
}

.side_menu li a {
    padding: 10px;
    display: block;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    font-weight: normal;
}

.side_menu li.side_menu_heading a {
    color: #012845;
    font-weight: bold;
}

.side_menu li.side_menu_heading:hover {
    background-color: #fff;
}

.side_menu li.side_menu_heading::before {
    content: '';
}

.side_menu ul {
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
}

.side_menu ul ul li a {
    color: #004B3A;
    font-weight: normal;
    padding-left: 25px;
}

.side_menu ul li {
    border-bottom-width: 1px;
}

.side_menu ul ul li a {
    color: #2B2A2A;
    font-weight: normal;
    background-color: #f2f2f2;
    padding-left: 20px;
}

.side_menu ul ul ul li a {
    color: #fff;
    font-weight: normal;
    background-color: #012845;
    padding-left: 40px;
    border-left: 5px solid #f2f2f2;
}

/* Index list with image - grid */

.image_index_grid {
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
}

.image_index_grid li {
    margin: 1%;
    padding: 0px;
    width: 31.333%;
    list-style-type: none;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    transition: 0.2s;
}

.image_index_grid li:hover {
    width: 33.333%;
    margin: 0%;
    transition: 0.2s;
}

.image_index_grid li a {
    text-decoration: none;
    color: #000;
    display: block;
}

.image_index_grid li .contents {
    padding: 10px;
    display: block;
}

.image_index_grid li .image {
    width: 100%;
    height: auto;
    margin: 0px;
}

.image_index_grid li .image img {
    width: 100%;
    height: auto;
    margin: 0px;
}

.image_index_grid li h3 {
    margin: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 10px;
    padding-left: 0px;
}

.image_index_grid li h3::after {
    margin-left: auto;
    margin-right: auto;
}

.image_index_grid li .btn_more {
    color: #FFF;
    text-decoration: none;
    background-color: #00397A;
    display: block;
    padding: 3px;
}

.image_index_grid li .content {
    padding: 10px;
    display: block;
    padding-bottom: 40px;
}

.image_index_grid li .btn {
    position: absolute;
    bottom: 0px;
    left: 0px;
    margin: 0px;
    width: 100%;
    box-sizing: border-box;
}

/* Image Grid */

.image_grid {
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.image_grid li {
    padding: 0px;
    margin: 1%;
    width: 23%;
    list-style-type: none;
    position: relative;
    transition: 0.2s;
    text-align: center;
    border: 1px solid #f2f2f2;
    box-sizing: border-box;
}

.image_grid li:hover {
    width: 25%;
    margin: 0%;
    transition: 0.2s;
}

.image_grid li .image {
    width: 100%;
    height: auto;
}

.image_grid li .image img {
    width: 100%;
    height: auto;
}

.image_grid li iframe {
    width: 100%;
    height: 57%;
}

.image_grid li .btn {
    position: absolute;
    bottom: 0px;
    left: 0px;
    margin: 0px;
    width: 100%;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(0, 0, 0, .8);
}


/* Media Grid */

.media_grid {
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.media_grid li {
    padding: 0px;
    margin: 1%;
    width: 48%;
    list-style-type: none;
    position: relative;
    transition: 0.2s;
    text-align: center;
    box-sizing: border-box;
}

.media_grid li .image {
    width: 100%;
    height: auto;
}

.media_grid li .image img {
    width: 100%;
    height: auto;
}

.media_grid li iframe {
    width: 100%;
    height: 57%;
}

.media_grid li .btn {
    position: absolute;
    bottom: 0px;
    left: 0px;
    margin: 0px;
    width: 100%;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(0, 0, 0, .8);
}

/* link index */

.link_index {
    width: 100%;
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.link_index li {
    margin: 1%;
    padding: 0px;
    list-style-type: none;
    text-align: center;
    width: 31.333%;
    border: 1px solid #CCC;
    box-sizing: border-box;
}

.link_index li a {
    text-decoration: none;
    color: #000;
    padding: 5px;
    display: block;
}

/* link index icon */

.link_index_icon {
    width: 100%;
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.link_index_icon li {
    margin: 1%;
    padding: 0px;
    list-style-type: none;
    text-align: left;
    width: 31.333%;
    border: 1px solid #f2f2f2;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    min-height: 50px;
    border-left: 5px solid #003366;
    background-image: url(/images/icon_document.png);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 40px auto;
    box-shadow: 2px 2px 2px #f2f2f2;
}

.link_index_icon li a {
    text-decoration: none;
    color: #000;
    padding: 5px;
    display: block;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    box-sizing: border-box;
    font-size: 14px;
    padding-left: 50px;
}

.link_index_icon li a .heading {
    font-size: 18px;
    font-weight: bold;
    display: block;
}

/* index with side image */

.index_side {
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
}

.index_side li {
    margin: 1%;
    padding: 10px;
    margin-bottom: 5px;
    width: 48%;
    list-style-type: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.index_side li a {
    text-decoration: none;
    color: #000;
    width: 100%;
    display: block;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.index_side li .contents {
    width: 50%;
    display: block;
    box-sizing: border-box;
    padding-left: 20px;
}

.index_side li .image {
    width: 50%;
}

.index_side li .contents .date {
    font-size: 12px;
}

.index_side li .image img {
    width: 100%;
}

.index_side li h2,
.index_side li h3,
.index_side li h4,
.index_side li p {
    padding: 0px;
    margin: 0px;
    margin-bottom: 10px;
}

/* Panel index with side image */

.panel_index_side {
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
}

.panel_index_side li {
    margin: 0px;
    padding: 10px;
    margin-bottom: 5px;
    width: 100%;
    border: 1px solid #f2f2f2;
    background-color: #fff;
    list-style-type: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    box-shadow: 2px 2px 2px #d2d2d2;
}

.panel_index_side li a {
    text-decoration: none;
    color: #000;
    width: 100%;
    display: block;
}

.panel_index_side li img {
    width: 25%;
    height: auto;
    float: right;
    margin-left: 10px;
}

.panel_index_side li .heading,
.panel_index_side li p {
    padding: 0px;
    margin: 0px;
    margin-bottom: 10px;
}

.panel_index_side li .heading {
    font-size: 22px;
    font-weight: bold;
}

/* Panel index with image */

.panel_index_image {
    padding: 0px;
    margin: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
}

.panel_index_image li {
    margin: 0px;
    padding: 5px;
    margin-bottom: 5px;
    width: 100%;
    border: 1px solid #CCC;
    list-style-type: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.panel_index_image li a {
    text-decoration: none;
    color: #000;
    width: 100%;
    display: block;
}

.panel_index_image li img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.panel_index_image li .heading,
.panel_index_image li p {
    padding: 0px;
    margin: 0px;
    margin-bottom: 10px;
}

.panel_index_image li .heading {
    font-size: 22px;
    font-weight: bold;
}

/* infopanels */

.infopanels {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.infopanels .infopanel_container {
    background-color: #E6E6E6;
    padding: 0px;
    margin-bottom: 10px;
    border: 1px solid #CCC;
    list-style-type: none;
    box-sizing: border-box;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.infopanels .infopanel_container .infopanel_image {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 33.333%;
}

.infopanels .infopanel_container .infopanel_content {

    width: 66.666%;
    padding: 15px;
    box-sizing: border-box;
}


.infopanels .infopanel_container h3 {
    margin-left: 0px;
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
}

.infopanels .infopanel_container p {}



/* page block */

.page_block {
    margin: 0px;
    padding: 0px;
    margin-right: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.page_block.vcentre .panel_text,
.page_block.vcentre .panel_image {
    display: flex;
    align-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}

.page_block .panel_image {
    width: 100%;
    order: 1;
    padding: 0px;
    box-sizing: border-box;
}

.page_block.Left .panel_image {
    width: 50%;
    order: 2;
    padding: 20px;
    box-sizing: border-box;
}

.page_block.Right .panel_image {
    width: 50%;
    order: 1;
    padding: 20px;
    box-sizing: border-box;
}

.page_block.Center .panel_image {
    width: 50%;
    order: 1;
    padding: 20px;
    box-sizing: border-box;
    margin-left: 25%;
    margin-right: 25%;
}

.page_block.Full .panel_image {
    width: 100%;
    order: 1;
    padding: 20px;
    box-sizing: border-box;
}

.page_block.Left .panel_image img {
    width: 100%;
    height: auto;
}

.page_block.Right .panel_image img {
    width: 100%;
    height: auto;
}

.page_block.Center .panel_image img {
    width: 100%;
    height: auto;
}

.page_block.Full .panel_image img {
    width: 100%;
    height: auto;
}

.page_block .panel_text {
    width: 100%;
    order: 2;
    padding: 0px;
    box-sizing: border-box;
}

.page_block.Left .panel_text {
    width: 50%;
    order: 1;
    padding: 20px;
    box-sizing: border-box;
}

.page_block.Right .panel_text {
    width: 50%;
    order: 2;
    padding: 20px;
    box-sizing: border-box;
}

.page_block.Center .panel_text {
    width: 50%;
    order: 2;
    padding: 20px;
    box-sizing: border-box;
    margin-left: 25%;
    margin-right: 25%;
}

.page_block.Full .panel_text {
    width: 100%;
    order: 2;
    padding: 20px;
    box-sizing: border-box;
}

.page_block.Left .panel_text h3 {

    text-align: left;
}

.page_block.Right .panel_text h3 {

    text-align: left;
}

.page_block.Center .panel_text h3 {

    text-align: center;
}

.page_block.Full .panel_text h3 {

    text-align: center;
}


.page_block .panel_addons {
    width: 100%;
    order:3;
}


/* page panels */

.wrapper_page_infopanel {
    background-repeat: no-repeat;
    background-size: cover;
}

.layout_page_infopanel {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}

.layout_page_infopanel .panel_content {
    margin: 0px;
    padding: 0px;
    margin-right: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    box-sizing: border-box;
}

.layout_page_infopanel .panel_content .vertical_align {

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
}

.layout_page_infopanel .panel_full {
    padding: 0px;
}

.layout_page_infopanel .panel_content .panel_text {
    box-sizing: border-box;
    width: 100%;
}

.layout_page_infopanel .panel_content .panel_image {
    box-sizing: border-box;
    width: 100%;
}

/* Panel Layout: Standard */

.layout_page_infopanel .panel_content.Standard .panel_text {
    box-sizing: border-box;
    padding: 30px;
    width: 100%;
}

.layout_page_infopanel .panel_content.Standard .panel_image {
    box-sizing: border-box;
}

/* Panel Layout: Image Left */

.layout_page_infopanel .panel_content.Image_Left .panel_image {
    width: 50%;
    order: 1;
    padding: 20px;
}

.layout_page_infopanel .panel_content.Image_Left .panel_image img {
    width: 100%;
    height: auto;
}

.layout_page_infopanel .panel_content.Image_Left .panel_text {
    order: 2;
    width: 50%;
    padding: 20px;
}



/* Panel Layout: Image Right */

.layout_page_infopanel .panel_content.Image_Right .panel_image {
    width: 50%;
    order: 2;
    padding: 20px;
}

.layout_page_infopanel .panel_content.Image_Right .panel_image img {
    width: 100%;
    height: auto;
}

.layout_page_infopanel .panel_content.Image_Right .panel_text {
    order: 1;
    width: 50%;
    padding: 20px;
}


/* Panel Layout: Image Panel Left */

.layout_page_infopanel .panel_content.Image_Panel_Left .panel_image {
    width: 50%;
    order: 1;
    background-size: cover;
    background-position: center center;
    min-height: 480px;
}

.layout_page_infopanel .panel_content.Image_Panel_Left .panel_text {
    order: 2;
    width: 50%;
    padding: 20px;
}


/* Panel Layout: Image Panel Right */

.layout_page_infopanel .panel_content.Image_Panel_Right .panel_image {
    width: 50%;
    order: 2;
    background-size: cover;
    background-position: center center;
    min-height: 480px;
}

.layout_page_infopanel .panel_content.Image_Panel_Right .panel_text {
    order: 1;
    width: 50%;
    padding: 20px;
}



/* Panel Layout: Text Overlay */

.layout_page_infopanel .panel_content.Text_Overlay {
    width: 100%;
    background-size: cover;
    background-position: center center;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    padding-top: 60px;
    padding-bottom: 60px;
}

.layout_page_infopanel .panel_content.Text_Overlay .panel_text {
    width: 50%;
    padding: 20px;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(255, 255, 255, .8);
}


/* Panel Layout: Text Overlay left */

.layout_page_infopanel .panel_content.Text_Overlay_Left {
    width: 100%;
    background-size: cover;
    background-position: center center;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    padding: 20px;
    padding-top: 60px;
    padding-bottom: 60px;
}

.layout_page_infopanel .panel_content.Text_Overlay_Left .panel_text {
    width: 50%;
    padding: 20px;
    margin-left: 0px;
    margin-right: auto;
    background-color: rgba(255, 255, 255, .8);
}



/* Panel Layout: Text Overlay right */

.layout_page_infopanel .panel_content.Text_Overlay_Right {
    width: 100%;
    background-size: cover;
    background-position: center center;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    padding: 20px;
    padding-top: 60px;
    padding-bottom: 60px;
}

.layout_page_infopanel .panel_content.Text_Overlay_Right .panel_text {
    width: 50%;
    padding: 20px;
    margin-left: auto;
    margin-right: 0px;
    background-color: rgba(255, 255, 255, .8);
}


/* Panel Layout: Text Box Bottom */

.layout_page_infopanel .panel_content.Text_Box_Bottom .panel_image {
    width: 100%;
    height: 480px;
    background-size: cover;
    background-position: center center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: center;

}

.layout_page_infopanel .panel_content.Text_Box_Bottom .panel_text {
    width: 100%;
    padding: 20px;
}



.layout_page_infopanel h3 {
    text-align: center;
    margin: 0px;
    margin-bottom: 20px;
}
.panel_content .vertical_align {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
}
.panel_text_inner {
    width: 100%;
}

/* infobox */

.infoboxes {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.infoboxes .infobox_container {
    background-color: #024E80;
    padding: 0px;
    list-style-type: none;
    width: 33.333%;
    box-sizing: border-box;
    color: #fff;
}


.infoboxes .infobox_container:nth-child(odd) {
    background-color: #059ED8;
}
.infoboxes .infobox_container .infobox_image {
    width: 100%;
}

.infoboxes .infobox_container .infobox_content {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
}

.infoboxes .infobox_container .infobox_image img {
    clear: none;
    width: 100%;
    padding: 0px;
    height: auto;
    margin-bottom: 10px;
}

.infoboxes .infobox_container h3 {
    margin-left: 0px;
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
    color: #fff;
}

.infoboxes .infobox_container a {
    text-decoration: none;
    color: #fff;
    width: 100%;
    display: block;
}


/* itembox */

.itemboxes {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.itemboxes .itembox_container {

    padding: 0px;
    justify-content: space-between;
    margin: 0.5%;
    list-style-type: none;
    width: 32.333%;
    box-sizing: border-box;
    margin-bottom: 10px;
    position: relative;
}

.itemboxes .itembox_container .itembox_image {
    width: 100%;
}

.itemboxes .itembox_container .itembox_content {
    width: 100%;
    padding: 10px;
    padding-bottom: 40px;
    box-sizing:border-box;
}

.itemboxes .itembox_container .itembox_content fieldset {
    border: none;
    padding-left: 0px;
}
.itemboxes .itembox_container .itembox_content input {
    width: 40px;
    clear: right;
}
.itemboxes .itembox_container .itembox_image img {
    clear: none;
    width: 100%;
    padding: 0px;
    height: auto;
    margin-bottom: 10px;
}

.itemboxes .itembox_container h3 {
    margin-left: 0px;
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
}
.itemboxes .itembox_container h3::after {
    display: none;
}

.itemboxes .itembox_container .price {
    font-size: 18px;
    font-weight: bold;
    display: block;
    padding: 10px;
    padding-left: 0px;
    border-top: 2px solid #000;
    box-sizing: border-box;
    width: 100%;
}

.itemboxes .itembox_container a {
    text-decoration: none;
    color: #000;
    width: 100%;
    display: block;
}


/* mediaboxes */

.mediaboxes {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.mediaboxes .mediabox_container {

    padding: 0px;
    justify-content: space-between;

    list-style-type: none;
    width: 32.333%;
    box-sizing: border-box;
    margin-bottom: 10px;
    position: relative;
}

.mediaboxes .mediabox_container .mediabox_image {
    width: 100%;
    padding-bottom: 56.25%;
    /* 16:9 */
    position: relative;
}

.mediaboxes .mediabox_container .mediabox_image > div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    display: flex;
    align-items: center;
}

.mediaboxes .mediabox_container .mediabox_content {
    width: 100%;
    padding: 10px;
    padding-bottom: 40px;
}

.mediaboxes .mediabox_container .mediabox_image img {
    clear: none;
    width: 100%;
    padding: 0px;
    height: auto;
    margin: 0px;
}

.mediaboxes .mediabox_container h3 {
    margin-left: 0px;
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
}

.mediaboxes .mediabox_container a {
    text-decoration: none;
    color: #000;
    width: 100%;
    display: block;
}
/* planbox */

.plans {
            margin: 40px auto;
            width: 90%;
            display: flex;
            flex-wrap: nowrap;
            flex-direction: row;
            zoom: 1;
        }


        .plan {
            flex-grow: 1;
            margin: 20px 0;
            padding: 20px;
            text-align: center;
            background: #f2f2f2;
            background-clip: padding-box;
            border: solid #d2d2d2;
            border-width: 2px 0 2px 2px;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
            box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
            position: relative;
            padding-bottom: 50px;
        }

        .plan:first-child {
            border-top-left-radius: 7px;
            border-bottom-left-radius: 7px;
        }

        .plan:last-child {
            border-width: 2px;
            border-top-right-radius: 7px;
            border-bottom-right-radius: 7px;
        }

        .plan-title {
            position: relative;
            margin: 0px;
            padding: 20px;
            line-height: 1;
            font-size: 16px;
            font-weight: bold;
            color: #595f6b;
            border-bottom: 1px dashed #d2d2d2;
            margin-top: 0px;
        }

        .plan-title:before {
            content: '';
            position: absolute;
            bottom: -1px;
            left: 0;
            right: 0;
            height: 1px;
            background-size: 3px 1px;
        }

        .plan-price {
            margin: 30px auto;
            width: 90px;
            height: 90px;
            line-height: 90px;
            font-size: 19px;
            font-weight: bold;
            color: white;
            background: #595f6b;
            border-radius: 45px;
            margin-top: 30px;
            padding: 0px;
        }

        .plan-price>span {
            font-size: 12px;
            font-weight: normal;
            color: rgba(255, 255, 255, 0.9);
        }

        .plan-features {
            margin-bottom: 20px;
            line-height: 2;
            font-size: 12px;
            color: #999;
            text-align: center;
        }

        .plan-features ul {
            margin: 0px;
            padding: 0px;
        }

        .plan-features li {
            list-style: none;
            margin: 0px;
            padding: 5px 0px;
            font-size: 16px;
            display: block;
        }

        .plan-features>li>strong {
            font-weight: bold;
            color: #888;
        }

        .plan-button {
            position: absolute;
            bottom: 10px;
            left: 50%;
            width: 140px;
            margin-left: -70px;
            display: inline-block;
            vertical-align: top;
            padding: 10px 15px;
            font-weight: bold;
            color: white;
            text-transform: uppercase;
            text-decoration: none;
            background: #002862;
            border: 1px solid #222;
            border-bottom-color: black;
            border-radius: 3px;
            box-sizing: border-box;
        }

        .plan-button:active {
            color: rgba(255, 255, 255, 0.95);
            background: #002862;
        }

        .plan-tall {
            margin: 0;
            background-color: white;
            border-width: 2px;
            border-radius: 10px;
            padding-bottom: 70px;
        }

        .plan-tall::before {
           content: "Recommended";
               display: block;
            background-color: #002862;
            padding: 10px 15px;
            font-size: 14px;
            font-weight: bold;
            box-sizing: border-box;
            width: 100%;
            top: 0px;
            left:0px;
            position: absolute;
            border-radius: 10px 10px 0px 0px;
            color: #fff;
        }
        .plan-tall>.plan-title {
            font-size: 26px;
            margin-top: 10px;
        }

        .plan-tall>.plan-price {
            width: 110px;
            height: 110px;
            line-height: 110px;
            font-size: 24px;
            border-radius: 90px;
            margin-top: 10px;
        }

        .plan-tall>.plan-features {
            font-size: 13px;
        }

        .plan-tall>.plan-button {

            bottom: 30px;
        }

        .plan-tall+.plan {
            border-left: 0;
        }




/* boxgrid */

.boxgrid {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.boxgrid .boxgrid_container {
    padding: 0px;
    margin: 0%;
    list-style-type: none;
    width: 33.333%;
    box-sizing: border-box;
    position: relative;
    background-position: center center;
    background-size: cover;
    min-height: 420px;
    background-color: #f2f2f2;
}

.boxgrid .boxgrid_container .boxgrid_content {
    width: 100%;
    padding: 40px;
    box-sizing:border-box;
}

/* bullet_grid */

.bullet_grid {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.bullet_grid .bullet_grid_container {
    padding: 0px;
    justify-content: space-between;
    list-style-type: none;
    width: 49%;
    box-sizing: border-box;
    margin-bottom: 10px;
    position: relative;
    background-image: url(/images/bullet.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 60px auto;
    padding-left: 80px;
}

.bullet_grid .bullet_grid_container .bullet_grid_content {
    width: 100%;
    padding: 10px;
    padding-bottom: 40px;
}

.bullet_grid .bullet_grid_container h3 {
    margin-left: 0px;
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
}

.bullet_grid .bullet_grid_container a {
    text-decoration: none;
    color: #000;
    width: 100%;
    display: block;
}

/* icon_grid */

.icon_grid {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.icon_grid .icon_grid_container {
    padding: 0px;
    justify-content: space-between;
    list-style-type: none;
    width: 32.333%;
    margin: 0.5%;
    box-sizing: border-box;
    margin-bottom: 10px;
    position: relative;
    text-align: center;
}

.icon_grid .icon_grid_container .icon_grid_content {
    width: 100%;
    padding: 10px;
    padding-bottom: 10px;
}

.icon_grid .icon_grid_container .icon_grid_image {
    width: 100%;
    padding: 10px;
    padding-bottom: 10px;
}

.icon_grid .icon_grid_container .icon_grid_image img {
    width: 50%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}
.icon_grid .icon_grid_container h3 {
    margin-left: 0px;
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
}

.icon_grid .icon_grid_container h3::after {
    display: none;
}
.icon_grid .icon_grid_container .btn {
    display: inline-block;
}
.icon_grid .icon_grid_container a {
    text-decoration: none;
    color: #000;
    width: 100%;
    display: block;
}

/* comment_box */

.comment_box {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.comment_box .comment_box_container {
    padding: 0px;
    list-style-type: none;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 10px;
    position: relative;
    text-align: center;
}

.comment_box .comment_box_container .comment_box_content {
    width: calc(100% - 100px);
    padding: 10px;
    box-sizing: border-box;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    border-top: 2px solid #a2a2a2;
    border-bottom: 2px solid #a2a2a2;
    padding-top: 60px;
    padding-bottom: 50px;
    font-size: 22px;
    background-color: #f2f2f2;
}
.comment_box .comment_box_container .comment_box_content:before {

    content: url(/images/quote_left.png);
    /*url of image*/
    height: 33px;
    /*height of image*/
    width: 40px;
    /*width of image*/
    position: absolute;
    left: 10px;
    top: 10px;
}

.comment_box .comment_box_container .comment_box_content:after {

    content: url(/images/quote_right.png);
    /*url of image*/
    height: 33px;
    /*height of image*/
    width: 40px;
    /*width of image*/
    position: absolute;
    right: 20px;
    bottom: 15px;
}

/* Infocarousel */

.infocarousel {
    margin-top: 10px;
    margin-bottom: 20px;
}

.infocarousel .infocarousel_item {
    padding: 10px;
    box-sizing: border-box;
}

.infocarousel .infocarousel_image {
    width: 100%;
    height: auto;
}

/* Infotabs */

#accordion-container {
    font-size: 13px;
    margin-top: 20px;
    margin-bottom: 20px;
    box-sizing: border-box !important;
    width: 100% !important;
}

#accordion-container h2::after {
    display: none;
}
.accordion-header {
    font-size: 20px;
    background: #ebebeb;
    margin: 5px 0 0 0;
    padding: 5px 20px;
    padding-left: 40px;
    border: 1px solid #cccccc;
    cursor: pointer;
    color: #000;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    box-sizing: border-box !important;
    width: 100% !important;
}

.active-header {
    -moz-border-radius: 5px 5px 0 0;
    -webkit-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
    background: url(/images/active-header.gif) #2A5CA3;
    background-repeat: no-repeat;
    background-position: 5px 50%;
    background-size: 25px 25px;
    color: #fff;
}

.active-header:hover {
    background: url(/images/active-header.gif) #2A5CA3;
    background-repeat: no-repeat;
    background-position: 5px 50%;
    background-size: 25px 25px;
}

.inactive-header {
    background: url(/images/inactive-header.gif) #ebebeb;
    background-repeat: no-repeat;
    background-position: 5px 50%;
    background-size: 25px 25px;
}

.inactive-header:hover {
    background: url(/images/inactive-header.gif) #f5f5f5;
    background-repeat: no-repeat;
    background-position: 5px 50%;
    background-size: 25px 25px;
}

.accordion-content {
    display: none;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #cccccc;
    border-top: 0;
    -moz-border-radius: 0 0 5px 5px;
    -webkit-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* map box */

.map_box {
    display: block;
    width: 100%;
}

/* page banners */

#banner_image {
    width: 100%;
    height: 240px;
    background-size: cover;
}

#banner_video {
    height: 240px;
    border-right: none;
    border-left: none;
    position: relative;
    padding: 0px;
}

#banner_video #video-container {
    position: absolute;
}

#banner_video #video-container {
    top: 0%;
    left: 0%;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

#banner_video video {
    position: absolute;
    z-index: 0;
}

#banner_video video.fillWidth {
    width: 100%;
}


@media {

    @viewport {
        width: device-width;
    }

    @-ms-viewport {
        width: device-width
    }
}


@media (max-width: 1080px) {

    #layout_header {
        height: 140px;
    }
    #top_logo img {
        height: 70px;
        width: auto;
    }
    #top_contact {
	top: 40px;
}
    #top_contact p#contact_tel span {
    font-size: 36px;
    padding-top: 0px;
}
    
}

@media (max-width: 960px) {
    .boxgrid .boxgrid_container {
    width: 100%;
    min-height: 420px;
}
    .infoboxes .infobox_container {
        width: 48%;
    }

    .itemboxes .itembox_container {
        width: 48%;
    }

    .mediaboxes .mediabox_container {
        width: 48%;
    }
    p#foot_contact span {
        font-size: 36px;
    }
    #foot_links {
        font-size: 22px;
    }
    
    #foot_links img {
        height: 30px;
        width: auto
    }
}

@media (max-width: 850px) {
    #page_col_left {
        width: 100%;
        order: 3;
        display: none;
    }

    #page_col_right {
        width: 100%;
        order: 2;
    }

    #page_col_centre {
        width: 100%;
        padding: 20px;
        order: 1;
    }

    #page_col_main {
        width: 100%;
        padding: 20px;
        order: 1;
    }

    #page_col_full {
        width: 100%;
        padding: 20px;
        order: 1;
    }

    .image_grid li {
        width: 31.333%;
    }

    .image_grid li:hover {
        width: 33.333%;
        margin: 0%;
        transition: 0.2s;
    }

    .panel_index_side li {
        width: 48%;
        margin: 1%;
    }

    .panel_index_image li {
        width: 31.333%;
        margin: 1%;
    }

    .index_side li p {
        font-size: 14px;
    }
    .plans {
        flex-wrap: wrap;
    }

    .plan {
        width: 48%;
        margin: 1%;

        border-radius: 5px;
    }

    .plan-tall {

        border-radius: 5px;
    }

    .plan-tall>.plan-button {

        bottom: 10px;
    }

    .plan-tall {
        padding-bottom: 40px;
    }
}

@media (max-width: 780px) {
    #top_contact p#contact_tel {
        font-size: 1.6em;
    }


    .link_index li, .link_index_icon li {
        width: 48%;
    }
    
    .col_25 {
        width: 50%;
    }
    
    .col_75 {
        width: 50%;
    }
    .boxgrid .boxgrid_container {
    min-height: 360px;
    }

}

@media (max-width: 720px) {
    #top_contact {
        display: none;
    }
    p#foot_contact {
        font-size: 18px;
    }
    p#foot_contact span {
        font-size: 26px;
    }
    #foot_links {
    font-size: 18px;
}
    .index_side li {
        width: 98%;
    }

    .panel_index_image li {
        width: 48%;
    }

    .bullet_grid .bullet_grid_container {
        width: 98%;
    }
    
    /* Panel Layout: Image Left */

    .layout_page_infopanel .panel_content.Image_Left .panel_image {
        width: 100%;
        order: 1;
    }

    .layout_page_infopanel .panel_content.Image_Left .panel_image img {}

    .layout_page_infopanel .panel_content.Image_Left .panel_text {
        order: 2;
        width: 100%;
    }



    /* Panel Layout: Image Right */

    .layout_page_infopanel .panel_content.Image_Right .panel_image {
        width: 100%;
        order: 1;
    }

    .layout_page_infopanel .panel_content.Image_Right .panel_image img {}

    .layout_page_infopanel .panel_content.Image_Right .panel_text {
        order: 2;
        width: 100%;
    }


    /* Panel Layout: Image Panel Left */

    .layout_page_infopanel .panel_content.Image_Panel_Left .panel_image {
        width: 100%;
        order: 1;
        height: 360px;

    }

    .layout_page_infopanel .panel_content.Image_Panel_Left .panel_text {
        order: 2;
        width: 100%;
    }


    /* Panel Layout: Image Panel Right */

    .layout_page_infopanel .panel_content.Image_Panel_Right .panel_image {
        width: 100%;
        order: 1;
        height: 360px;
    }

    .layout_page_infopanel .panel_content.Image_Panel_Right .panel_text {
        order: 2;
        width: 100%;
    }



    /* Panel Layout: Text Overlay */

    .layout_page_infopanel .panel_content.Text_Overlay {}

    .layout_page_infopanel .panel_content.Text_Overlay .panel_text {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }


    /* Panel Layout: Text Overlay left */

    .layout_page_infopanel .panel_content.Text_Overlay_Left {}

    .layout_page_infopanel .panel_content.Text_Overlay_Left .panel_text {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }



    /* Panel Layout: Text Overlay right */

    .layout_page_infopanel .panel_content.Text_Overlay_Right {}

    .layout_page_infopanel .panel_content.Text_Overlay_Right .panel_text {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }


}

@media (max-width: 650px) {
    #top_links a {
        
    }
    #top_links a .text {
        display: none;
    }
    #layout_header {
        height: auto;
    }
    #top_links .top_tel {
        display: inline-block;
    }
    #top_links {
        text-align: center;
    }
    #top_links #strapline {
	position: relative;
        font-weight: bold;
        top: auto;
        left: auto;
        padding-bottom: 10px;
        display: block;
}
        #top_logo {
        width: 100%;
        text-align: center;
            padding-top: 10px;
            padding-left: 0px;
    }
    #layout_footer #foot_contact {
        float: none;
    }

    #layout_footer .col_50, #foot_links {
        text-align: center;
    }



    .layout_page_infopanel .panel_content {
        width: auto;
    }



    .image_index_grid li {
        width: 48%;
    }

    .image_index_grid li:hover {
        width: 50%;
    }

    .col_25 {
        width: 100%;
    }
    .col_33 {
        width: 100%;
    }

    .col_50 {
        width: 100%;
    }

    .col_75 {
        width: 100%;
    }

    #layout_mailing .mc-field-group {
        width: 98%;
    }


    .panel_index_side li {
        width: 98%;
        margin: 1%;
    }

    .panel_index_image lii {
        width: 48%;
        margin: 1%;
    }

    .infopanels .infopanel_container .infopanel_image {
        height: 320px;
    }

    .infopanels .infopanel_container .infopanel_image,
    .infopanels .infopanel_container .infopanel_content {
        width: 100%;
    }

    .media_grid li {
        width: 98%;
    }
    .plan {
        width: 100%;
        margin: 0px;
        margin-bottom: 15px;
    }
    .boxgrid .boxgrid_container {
    min-height: 320px;
    }
    
    .infoboxes .infobox_container {
        width: 98%;
    }

    .itemboxes .itembox_container {
        width: 98%;
    }

    .mediaboxes .mediabox_container {
        width: 98%;
    }
}

@media (max-width: 480px) {
    .panel_index_image li {
        width: 98%;
    }



    #layout_footer #foot_menu li {
        width: 50%;
    }



    .index_side li .contents {
        margin-left: 0px;
    }

    .image_index_grid li {
        width: 98%;
    }

    .image_index_grid li:hover {
        width: 100%;
    }

    .image_grid li {

        width: 48%;
    }

    .image_grid li:hover {
        width: 50%;
        margin: 0%;
        transition: 0.2s;
    }

    #banner_video,
    #banner_image {
        height: 180px;
    }


    .index_side li .contents {
        width: 100%;
        padding-left: 0px;
    }

    .index_side li .image {
        width: 100%;
    }
    
    .link_index li, .link_index_icon li {
        width: 98%;
    }
}

@media (max-width: 380px) {
    #layout_footer #foot_menu li {
        width: 100%;
    }

    .image_index_grid li {
        width: 98%;
    }

    .image_grid li {

        width: 98%;
    }

    .image_grid li:hover {
        width: 100%;
        margin: 0%;
        transition: 0.2s;
    }
    #top_logo img {
        height: 50px;
        width: auto;
    }
}
