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

html {
    height: 100%;
}

#wrapper_headerbar,
#wrapper_header,
#wrapper_top_menu,
#wrapper_body,
#wrapper_footer,
#wrapper_copyright,
#warpper_strapline,
.wrapper_page_panel,
#wrapper_mailing,
#wrapper_top_social,
#wrapper_testimonials,
#wrapper_copyright,
#wrapper_home_body,
#wrapper_home_infoboxes,
#wrapper_home_promos,
#wrapper_home_panels {
    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_headerbar {
    background-color: #041a3a;
    padding: 5px;
    color: #fff;
}

#wrapper_header {}

#wrapper_top_menu {
    background-color: var(--primary_color);
}

#wrapper_body {}

#wrapper_mailing {}

#wrapper_footer {
    background-color: var(--primary_color);
}

#layout_headerbar,
#layout_header,
#layout_top_menu,
#layout_body,
#layout_footer,
#layout_copyright,
#layout_strapline,
.layout_page_panel,
#layout_mailing,
#layout_top_social,
#layout_testimonials,
#layout_copyright,
#layout_home_promos,
#layout_home_infoboxes,
#layout_home_promos,
#layout_home_body,
#layout_home_panels {
    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;
    padding-left: 80px;
    padding-right: 80px;
}

#layout_headerbar a {
    color: #fff;
    font-size: 12px;
    display: inline-block;
    padding: 5px;
}

#layout_headerbar a i {
    margin-right: 10px;
    font-size: 14px;
}

#layout_header {
    border-radius: 0px;
    position: relative;
    padding-bottom: 20px;
}

#layout_top_menu {}

#layout_body {
    padding: 0px;
    background-repeat: repeat-y;
    display: block;
    width: 100%;
    min-height: 580px;
}

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

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

#layout_mailing h5 {
    color: var(--primary_color);
    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;
    font-weight: bold;
    color: #FFFFFF;
    padding-bottom: 10px;
    background-repeat: repeat-y;
    border-radius: 0px;
    padding-top: 30px;
}
#layout_footer .col_33 {
    font-family: var(--heading_font);
    font-size: 22px;;
}
#layout_footer .col_33 img {
    height: 40px;
    width: auto;
    vertical-
    align: middle;
}

#layout_footer .col_33 a {
    margin-bottom: 5px;
    display: block;
}
#layout_copyright {
    text-align: center;
    font-size: 12px;
    padding-top: 10px;
    padding-bottom: 10px;
}

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 {
    text-align: center;
}

#top_logo img {
    height: 120px;
    width: auto;
}
#top_links {
    width: 320px;
    text-align: right;
    color: #000;
    padding: 10px;
    box-sizing: border-box;
    position: absolute;
    top: 0px;
    right: 80px;
}

#top_links img {
    margin-left: 10px;
    margin-top: 20px;
    height: 50px;
    width: auto;
}

#top_contact {
    width: 320px;
    text-align: right;
    color: #000;
    padding: 10px;
    box-sizing: border-box;
    position: absolute;
    top: 30px;
    right: 80px;
}

#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_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: #fff;
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-transform: uppercase;
}

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

#layout_footer .col_66 {
    text-align: right;
}
#layout_footer a {
    color: #FFFFFF;
    text-decoration: none;
}

#layout_footer #foot_menu {
    margin: 0px;
    width: 100%;
    padding: 0px;
}

#layout_footer #foot_menu li {
    display: inline-block;
    list-style-type: none;
    padding: 5px;
    padding-left: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    margin: 0px;
    box-sizing: border-box;
    font-family: var(--heading_font);
}

#layout_footer #foot_menu li a {
    font-size: 16px;
    text-transform: uppercase;
}
#footer_copyright {
    display: block;
    border-top: 2px solid var(--menu_color);
    padding-top: 10px;
    margin-top: 10px;
    font-size: 14px;
    font-weight: normal;
}
#home_container {
    width: 100%;
    display: grid;
    grid-row-gap: 0px;
    grid-column-gap: 0px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    box-sizing: border-box;
    margin-bottom: 40px;
    height: 50vw;
}
.home_col_text {
    grid-column: span 4;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: var(--primary_color);
    text-align: center;
    position: relative;
}
.home_col_text .content {
    padding: 20px;
    margin: 0;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  
.home_col_text .content p {
    text-align: center;
    font-family: var(--heading_font);
}
.home_col_text img.icon {
    margin-bottom: 20px;
    height: 50px;
    width: auto;
}

.home_col_text a {
    color: var(--menu_color);
    font-family: var(--heading_font);
    font-size: 1.5rem;
    margin-top: 20px;
    display: inline-block;
    vertical-align: middle;
}

.home_col_text img {
    vertical-align: middle;
    margin-top: 10px;
    margin-left: 10px;
    margin-right: 10px;
}
.home_col_text h1 {
    color: #fff;
    font-size: 3vw;
}
.home_col_text h1::before {
    content: "";
    width: 80%;
    height: 2px;
    background-color: var(--menu_color);
    display: block;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
}
.home_col_text h1::after {
    content: "";
    width: 80%;
    height: 2px;
    background-color: var(--menu_color);
    display: block;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
}
.home_col_text p {
    color: #fff;
}
.home_col_slider {
    grid-column: span 8;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#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;
}

#layout_body #page_container {
    padding-left: 80px;
    padding-right: 80px;
    display: grid;
    grid-row-gap: 0px;
    grid-column-gap: 0px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin-bottom: 40px;
}
#page_col_header {
    grid-column: span 12;
    background-color: var(--primary_color);
    width: 100%;
    display: grid;
    grid-row-gap: 0px;
    grid-column-gap: 0px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

#page_col_header .content {
    grid-column: span 7;
    box-sizing: border-box;
    padding: 40px;
}

#page_col_header .image {
    grid-column: span 5;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#page_col_centre {

    grid-column: span 6;
    padding-right: 40px;
    padding-left: 40px;
    padding-top: 20px;
    min-height: 350px;
    flex-grow: 1;
    box-sizing: border-box;
}

#page_col_full {
    padding: 40px;
    grid-column: span 12;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    margin-bottom: 40px;
}

#page_col_main {
    grid-column: span 8;
    padding: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    flex-grow: 1;
    padding: 40px;
    background-color: #fff;
    border-right: 1px solid #f2f2f2;
}

#page_col_left {

    grid-column: span 3;
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
}

#page_col_right {

    grid-column: span 4;
    padding: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
    background-color: #fff;
}

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

/* in-page columns */

.col_container {
    width: 100%;
    display: grid;
    grid-row-gap: 50px;
    grid-column-gap: 50px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    box-sizing: border-box;
}

.col_25 {
    grid-column: span 3;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.col_33 {
    grid-column: span 4;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.col_50 {
    grid-column: span 6;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.col_66 {
    grid-column: span 8;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.col_75 {
    grid-column: span 9;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.col_100 {
    grid-column: span 12;
    -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: var(--back_grey);
}

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

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

.side_menu li.side_menu_heading a {
    color: var(--primary_color);
    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: #000;
    font-weight: normal;
    padding-left: 25px;
}

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

.side_menu ul ul li a {
    color: #000;
    font-weight: normal;
    background-color: var(--back_grey);
    padding-left: 20px;
}

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


/* index_grid */

.index_grid {
    width: 100%;
    padding: 0px;
    margin: 0px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 20px;
    grid-column-gap: 20px;
}

.index_grid li {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
    text-align: center;
    box-sizing: border-box;
    padding: 3px;
    background-color: var(--primary_color);
}

.index_grid li a {
    border: 1px solid #fff;
    text-decoration: none;
    color: #fff;
    padding: 35px 15px;
    display: block;
    text-align: center;
}

.index_grid li a h3 {
    margin: 0px;
    color: #fff;
}

/* Index list with image - grid */

.image_index_grid {
    padding: 0px;
    margin: 0px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    width: 100%;
}

.image_index_grid li {
    padding: 0px;
    margin: 0px;
    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 {}

.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;
    border-top: 3px solid var(--primary_color);
    text-align: left;
    color: var(--menu_color);
    font-weight: normal;
}

.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: var(--primary_color);
    display: block;
    padding: 3px;
}
.image_index_grid .btn_pages_more {
    position: absolute;
    bottom: 20px;
    right: 0px;
    color: var(--primary_color);
}

.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 List - Grid */

.image_grid {
    padding: 0px;
    margin: 0px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
}

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

.image_grid li:hover {}

.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: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
}

.media_grid li {
    padding: 0px;
    margin: 0px;
    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);
}


/* Document Grid */

.document_grid {
    padding: 0px;
    margin: 0px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
}

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

.document_grid li a {
    text-decoration: none;
}

.document_grid li:hover {}

.document_grid li .image {
    width: 100%;
    height: auto;
    text-align: center;
    border-bottom: 5px solid var(--highlight_color)
}

.document_grid li .image img {
    width: auto;
    height: 260px;
}

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

.document_grid li h3 {
    font-weight: normal;
    color: var(--secondary_color);
}

.document_grid h3 .title_manx {
    font-weight: 700;
    display: block;
    font-size: 24px;
    color: var(--primary_color);
}

.document_grid li a {
    text-decoration: none;
}

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

/* link index */

.link_index {
    width: 100%;
    padding: 0px;
    margin: 0px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 20px;
    grid-column-gap: 20px;
}

.link_index li {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
    text-align: center;
    border: 1px solid var(--box_border);
    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: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 20px;
    grid-column-gap: 20px;
}

.link_index_icon li {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
    text-align: left;

    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: grid;
    grid-template-columns: auto auto;
    grid-row-gap: 20px;
    grid-column-gap: 20px;
    width: 100%;
}

.index_side li {
    padding: 0px;
    margin: 0px;
    margin-bottom: 5px;
    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: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-row-gap: 5px;
    grid-column-gap: 5px;
    width: 100%;
    margin-bottom: 20px;
}

.panel_index_side li {
    padding: 10px;
    margin: 0px;
    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: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-row-gap: 5px;
    grid-column-gap: 5px;
    width: 100%;
}

.panel_index_image li {
    padding: 10px;
    margin: 0px;
    border: 1px solid var(--box_border);
    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;
}


/* page block */

.page_block {
    margin: 0px;
    padding: 0px;
    margin-right: auto;
    display: grid;
    grid-row-gap: 50px;
    grid-column-gap: 50px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    box-sizing: border-box;
}

.page_block.Center, .page_block.Full {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

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

.page_block .block_addons {
    grid-column: span 2;
    order: 3;
    padding: 0px;
    box-sizing: border-box;
}

.page_block .block_image {
    grid-column: span 2;
    order: 1;
    padding: 0px;
    box-sizing: border-box;
}

.page_block.Left .block_image {
    grid-column: span 1;
    order: 1;
    box-sizing: border-box;
}

.page_block.Right .block_image {
    grid-column: span 1;
    order: 2;
    box-sizing: border-box;
}

.page_block.Center .block_image {

    grid-column: span 1;
    order: 1;
    box-sizing: border-box;
    margin-left: 10%;
    margin-right: 10%;
}

.page_block.Full .block_image {

    grid-column: span 2;
    order: 1;
    box-sizing: border-box;
}

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

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

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

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

.page_block .block_text {

    grid-column: span 2;
    order: 2;
    padding: 0px;
    box-sizing: border-box;
}

.page_block.Left .block_text {

    grid-column: span 1;
    order: 2;
    box-sizing: border-box;
}

.page_block.Right .block_text {

    grid-column: span 1;
    order: 1;
    box-sizing: border-box;
}

.page_block.Center .block_text {

    grid-column: span 1;
    order: 2;
    box-sizing: border-box;
    margin-left: 10%;
    margin-right: 10%;
}

.page_block.Full .block_text {

    grid-column: span 2;
    order: 2;
    box-sizing: border-box;
}

.page_block.Left .block_text h3 {

    text-align: left;
}

.page_block.Right .block_text h3 {

    text-align: left;
}

.page_block.Center .block_text h3 {

    text-align: center;
}

.page_block.Full .block_text h3 {

    text-align: center;
}


.page_block .panel_addons {
    width: 100%;
    order: 3;
    grid-column: span 2;
}


/* page panels */

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

.layout_page_panel {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    position: relative;
    overflow: hidden;
    padding: 0px;
}

.layout_page_panel.video {
    height: 450px;
}

.layout_page_panel .panel_content {
    margin: 0px;
    padding: 0px;
    margin-right: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    box-sizing: border-box;
    border-top: 5px solid var(--primary_color)
}

.layout_page_panel .panel_content .vertical_align {

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

.layout_page_panel .panel_full {
    box-sizing: border-box;
    width: 100%;
}

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

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

/* Panel Layout: Standard */

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

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

.layout_page_panel .panel_content.Standard .panel_addons {
    box-sizing: border-box;
    padding: 60px;
}

/* Panel Layout: Image Left */

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

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

.layout_page_panel .panel_content.Image_Left .panel_text {
    order: 2;
    width: 50%;
    padding: 60px;
}



/* Panel Layout: Image Right */

.layout_page_panel .panel_content.Image_Right .panel_image {
    width: 50%;
    order: 2;
}

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

.layout_page_panel .panel_content.Image_Right .panel_text {
    order: 1;
    width: 50%;
    padding: 60px;
}


/* Panel Layout: Image Panel Left */

.layout_page_panel .panel_content.Image_Panel_Left .panel_image {
    width: 50%;
    order: 1;
    background-size: cover;
    background-position: center center
}

.layout_page_panel .panel_content.Image_Panel_Left .panel_text {
    order: 2;
    width: 50%;
    padding: 60px;
}


/* Panel Layout: Image Panel Right */

.layout_page_panel .panel_content.Image_Panel_Right .panel_image {
    width: 50%;
    order: 2;
    background-size: cover;
    background-position: center center
}

.layout_page_panel .panel_content.Image_Panel_Right .panel_text {
    order: 1;
    width: 50%;
    padding: 60px;
}



/* Panel Layout: Text Overlay */

.layout_page_panel .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;
    height: 100%;
}

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


/* Panel Layout: Text Overlay left */

.layout_page_panel .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_panel .panel_content.Text_Overlay_Left .panel_text {
    width: 50%;
    padding: 60px;
    margin-left: 0px;
    margin-right: auto;
    background-color: rgba(255, 255, 255, .8);
}



/* Panel Layout: Text Overlay right */

.layout_page_panel .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_panel .panel_content.Text_Overlay_Right .panel_text {
    width: 50%;
    padding: 60px;
    margin-left: auto;
    margin-right: 0px;
    background-color: rgba(255, 255, 255, .8);
}


/* Panel Layout: Text Box Bottom */

.layout_page_panel .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_panel .panel_content.Text_Box_Bottom .panel_text {
    width: 100%;
    padding: 60px;
}



.layout_page_panel h3 {
    margin: 0px;
    margin-bottom: 20px;
}



/* infobox */

.infoboxes {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    justify-content: center;
    width: 100%;
}

.infoboxes .infobox_container {
    background-color: var(--box_back);
    padding: 0px;
    margin: 0%;
    border: 1px solid var(--box_border);
    list-style-type: none;
    box-sizing: border-box;
}

.infoboxes .infobox_container .infobox_image {
    width: 100%;
}

.infoboxes .infobox_container .infobox_content {
    width: 100%;
    padding: 10px;
    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;
}

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

.infoboxes .infobox_container a.btn {
    width: auto;
    display: inline-block;
    clear: both;
}

/* infobox */

.infocards {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    justify-content: center;
    width: 100%;
}

.infocards .infocard_container {
    background-color: var(--box_back);
    padding: 0px;
    margin: 0%;
    border: 1px solid var(--box_border);
    list-style-type: none;
    box-sizing: border-box;
}

.infocards .infocard_container .infocard_image {
    width: 100%;
}

.infocards .infocard_container .infocard_content {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}

.infocards .infocard_container .infocard_image img {
    clear: none;
    width: 100%;
    padding: 0px;
    height: auto;
    margin-bottom: 10px;
}

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

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

.infocards .infocard_container a.btn {
    width: auto;
    display: inline-block;
    clear: both;
}

/* ImageGrid */

.imagegrid {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-row-gap: 5px;
    grid-column-gap: 5px;
    justify-content: center;
    width: 100%;
}

.imagegrid.Single {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.imagegrid.SingleHalf {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.imagegrid.DoubleOffset {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imagegrid.Triple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imagegrid.TripleLeft, .imagegrid.TripleRight {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.imagegrid.TripleGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.imagegrid .imagegrid_item {
    padding: 0px;
    margin-bottom: 0px;
    list-style-type: none;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background-size: cover;
    background-position: center center;
    position: relative;
    overflow: hidden;
}

.imagegrid.DoubleOffset .imagegrid_item:nth-child(1), .imagegrid.DoubleOffset .imagegrid_item:nth-child(4) {
    grid-column: span 2
}

.imagegrid .imagegrid_item a {
    display: block;
    width: 100%;
    padding-bottom: 75%;
}

.imagegrid.Single .imagegrid_item a {
    display: block;
    width: 100%;
    padding-bottom: 60%;
}

.imagegrid.SingleHalf .imagegrid_item a {
    display: block;
    width: 100%;
    padding-bottom: 30%;
}

.imagegrid.Double .imagegrid_item a {
    display: block;
    width: 100%;
    padding-bottom: 150%;
}

.imagegrid_main, .imagegrid_other {
    height: 100%;
}

.imagegrid.Tripple .imagegrid_item a {
    display: block;
    width: 100%;
    padding-bottom: 150%;
}

.imagegrid.TripleRight .imagegrid_main {
    order: 2;
}

.imagegrid.TripleRight .imagegrid_other {
    order: 1;
}

.imagegrid.TripleLeft .imagegrid_main .imagegrid_item a, .imagegrid.TripleRight .imagegrid_main .imagegrid_item a {
    padding-bottom: 150%
}

.imagegrid.TripleLeft .imagegrid_other .imagegrid_item, .imagegrid.TripleRight .imagegrid_other .imagegrid_item {
    display: block;
    width: 100%;
    height: calc(50% - 7.5px);
    margin-bottom: 5px;
}

.imagegrid.TripleGrid .imagegrid_item a {
    display: block;
    width: 100%;
    padding-bottom: 100%;
}

.imagegrid .imagegrid_item .caption {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 25px 15px;
    width: 50%;
    background-color: rgba(0, 0, 0, .8);
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    border-radius: 10px;
}

.imagegrid .imagegrid_item .caption::after {
    content: "More Details";
    width: 120px;
    background-color: var(--highlight_color);
    display: block;
    margin-top: 10px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    padding: 10px 15px;
    border-radius: 10px;
    color: #000;
    font-weight: bold;
}

.imagegrid .imagegrid_item .caption .title {
    display: block;
    font-family: var(--heading_font);
    font-size: 24px;
    margin-bottom: 25px;
    position: relative;
}

.imagegrid .imagegrid_item .caption .title::after {
    content: "";
    width: 120px;
    height: 3px;
    background-color: var(--highlight_color);
    display: block;
    margin-top: 10px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
}

.imagegrid .imagegrid_item .caption .text {
    font-size: 14px;
}

/* infopanels */

.infopanels {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    justify-content: center;
    width: 100%;
}

.infopanels .infopanel_container {
    background-color: var(--box_back);
    padding: 0px;
    margin-bottom: 10px;
    border: 1px solid var(--box_border);
    list-style-type: none;
    box-sizing: border-box;
    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 {}


/* itembox */

.itemboxes {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    justify-content: center;
    width: 100%;
}

.itemboxes .itembox_container {

    padding: 0px;
    justify-content: space-between;
    margin: 0%;
    list-style-type: none;
    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;
}

/* staffboxs */

.staffboxs {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    justify-content: center;
    width: 100%;
}

.staffboxs .staffbox_container {
    padding: 0px;
    margin: 0%;
    border-bottom: 5px solid #CCC;
    list-style-type: none;
    box-sizing: border-box;
}

.staffboxs .staffbox_container .staffbox_image {
    width: 100%;
    text-align: center;
}

.staffboxs .staffbox_container .staffbox_content {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}

.staffboxs .staffbox_container .staffbox_image img {
    clear: none;
    width: 80%;
    padding: 0px;
    height: auto;
    margin-bottom: 10px;
    border-radius: 250px;
}

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

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

/* mediaboxes */

.mediaboxes {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    justify-content: space-between;
    width: 100%;
}

.mediaboxes .mediabox_container {

    padding: 0px;
    justify-content: space-between;
    list-style-type: none;
    box-sizing: border-box;
    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: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 0px;
    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: var(--primary_color);
    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: var(--primary_color);
}

.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: var(--primary_color);
    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: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 0px;
    grid-column-gap: 0px;
    justify-content: center;
    width: 100%;
}

.boxgrid .boxgrid_container {
    padding: 0px;
    margin: 0%;
    list-style-type: none;
    box-sizing: border-box;
    position: relative;
    background-position: center center;
    background-size: cover;
    min-height: 420px;
    background-color: var(--back_grey);
}

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

/* bullet_list */

.bullet_list {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    width: 100%;
}

.bullet_list .bullet_list_container {
    padding: 0px;
    list-style-type: none;
    box-sizing: border-box;
    position: relative;
    background-image: url(/images/bullet.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 60px auto;
    padding-left: 80px;
}

.bullet_list .bullet_list_container .bullet_list_content {
    width: 100%;
    padding: 10px;
    padding-bottom: 40px;
}

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

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

/* bullet_grid */

.bullet_grid {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    width: 100%;
}

.bullet_grid .bullet_grid_container {
    padding: 0px;
    list-style-type: none;
    box-sizing: border-box;
    position: relative;
    background-image: url(/images/bullet.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 40px auto;
    padding-left: 60px;
}

.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: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    width: 100%;
}

.icon_grid .icon_grid_container {
    padding: 0px;
    justify-content: space-between;
    list-style-type: none;
    margin: 0%;
    box-sizing: border-box;
    margin-bottom: 10px;
    position: relative;
    text-align: center;
    background-color: var(--back_grey);
}

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

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

.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: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-row-gap: 15px;
    grid-column-gap: 15px;
    width: 100%;
}

.comment_box .comment_box_container {
    padding: 0px;
    list-style-type: none;
    width: 100%;
    box-sizing: border-box;
    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: var(--back_grey);
}

.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 var(--box_border)ccc;
    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 var(--box_border)ccc;
    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: 560px;
    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%;
}

.video_embed {
    display: block;
    position: relative;
}

.video_embed img {
    width: 100%;
    height: auto;
    margin-bottom: -5px
}

.video_embed a {

    display: block;
    position: relative;
}

.video_embed .overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    text-align: center;
    align-items: center;
    display: block;
    color: #fff;
}

.video_embed .overlay div {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    padding: 10px;
    font-size: 28px;
    border: 2px solid #fff;
}
    @media {

        @viewport {
            width: device-width;
        }

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


    @media (min-width: 1440px) {
        .imagegrid .imagegrid_item .caption .text {
            font-size: 0.8vw;
        }

    }

    @media (min-width: 1280px) {

        .imagegrid .imagegrid_item .caption .title {
            font-size: 1.8vw;
        }

        .imagegrid .imagegrid_item .caption .text {
            font-size: 1vw;
        }

    }

    @media (max-width: 1080px) {

        .document_grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        #page_col_left {
            grid-column: span 12;
            order: 3;
            display: none;
        }

        #page_col_right {
            grid-column: span 12;
            order: 2;
            padding-bottom: 80px;
        }
        #page_col_header {
            order: 1;
        }
        #page_col_centre {
            grid-column: span 12;
            order: 1;
        }

        #page_col_main {
            grid-column: span 12;
            order: 1;
            border-right: none;
            border-bottom: 1px solid #f2f2f2;
        }

        #page_col_full {
            grid-column: span 12;
            order: 1;
        }
        #home_container {
            height: auto;
        }
        .home_col_text {
            grid-column: span 12;
            order: 1;
            display: block;
        }
        
        .home_col_text .content {
            position: relative;
        }
        .home_col_slider {
            grid-column: span 12;
            order: 2;
        }
        .home_col_text h1 {
            font-size: 36px;
        }
        #layout_footer .col_33 {
            grid-column: span 4;
        }
        #layout_footer .col_66 {
            grid-column: span 8;
        }
    }

    @media (max-width: 960px) {
        .boxgrid {
            grid-template-columns: auto;
            min-height: 420px;
        }

        .infoboxes {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .itemboxes {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .staffboxes {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .mediaboxes {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .imagegrid .imagegrid_item .caption .text {
            display: none;
        }

        .index_grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }


        #page_col_header .content {
            grid-column: span 12;
            order: 1;
        }
        #page_col_header .image {
            display: none;
        }
        #layout_footer .col_container {
            grid-row-gap: 0px;
        }
        #layout_footer .col_33 {
            grid-column: span 12;
            text-align: center;
        }
        
        #layout_footer .col_33 p {
            display: inline-block;
            padding: 10px;
        }

        #layout_footer .col_66 {
            grid-column: span 12;
            text-align: center;
        }
    }

    @media (max-width: 850px) {

        #layout_headerbar,
        #layout_header,
        #layout_top_menu,
        #layout_footer,
        #layout_copyright,
        #layout_strapline,
        #layout_mailing,
        #layout_top_social,
        #layout_testimonials,
        #layout_home_body {
            padding-left: 50px;
            padding-right: 50px;
        }

        #top_links {
            right: 40px;
        }

        #top_contact {
            right: 40px;
        }

        #layout_body #page_container {
            padding-left: 50px;
            padding-right: 50px;
        }

        #breadcrumb {
        }

        .col_25 {
            grid-column: span 6;
        }

        .col_33 {
            grid-column: span 6;
        }

        .col_66 {
            grid-column: span 6;
        }

        .col_75 {
            grid-column: span 6;
        }

        .image_grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .image_grid li:hover {}

        .panel_index_image li {}

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

        .bullet_grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .plans {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .plan {

            border-radius: 5px;
        }

        .plan-tall {

            border-radius: 5px;
        }

        .plan-tall>.plan-button {

            bottom: 10px;
        }

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

        .image_index_grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .infocards {
            grid-template-columns: repeat(2, minmax(0, 1fr));

        }

        .imagegrid.Triple {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .imagegrid.Tripple .imagegrid_item a {
            display: block;
            width: 100%;
            padding-bottom: 60%;
        }
    }

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


        .link_index, .link_index_icon {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .boxgrid .boxgrid_container {
            min-height: 360px;
        }

    }

    @media (max-width: 720px) {
        #top_contact, #top_links {
            display: none;
        }

        .index_side {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .bullet_list {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .panel_index_image {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        /* Panel Layout: Image Left */

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

        .layout_page_panel .panel_content.Image_Left .panel_image img {}

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



        /* Panel Layout: Image Right */

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

        .layout_page_panel .panel_content.Image_Right .panel_image img {}

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


        /* Panel Layout: Image Panel Left */

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

        }

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


        /* Panel Layout: Image Panel Right */

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

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



        /* Panel Layout: Text Overlay */

        .layout_page_panel .panel_content.Text_Overlay {}

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


        /* Panel Layout: Text Overlay left */

        .layout_page_panel .panel_content.Text_Overlay_Left {}

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



        /* Panel Layout: Text Overlay right */

        .layout_page_panel .panel_content.Text_Overlay_Right {}

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


        /* page block */

        .page_block .panel_image {
            width: 100%;
        }

        .page_block.Left .panel_image {
            width: 100%;
        }

        .page_block.Right .panel_image {
            width: 100%;
        }

        .page_block.Center .panel_image {
            width: 100%;
            margin-left: 0%;
            margin-right: 0%;
        }

        .page_block.Full .panel_image {
            width: 100%;
        }


        .page_block .panel_text {
            width: 100%;
        }

        .page_block.Left .panel_text {
            width: 100%;
        }

        .page_block.Right .panel_text {
            width: 100%;
        }

        .page_block.Center .panel_text {
            width: 100%;
            margin-left: 0%;
            margin-right: 0%;
        }

        .page_block.Full .panel_text {
            width: 100%;
        }

        .col_container {
            grid-column-gap: 0px;
        }

        .col_25 {
            grid-column: span 12;
        }

        .col_33 {
            grid-column: span 12;
        }

        .col_66 {
            grid-column: span 12;
        }

        .col_50 {
            grid-column: span 12;
        }

        .col_75 {
            grid-column: span 12;
        }

        .document_grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }


        .imagegrid, .imagegrid.Single, .imagegrid.DoubleOffset, .imagegrid.TripleLeft, .imagegrid.TripleRight, .imagegrid.TripleGrid {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .imagegrid .imagegrid_item .caption .text {
            display: inline;
        }

        .imagegrid.TripleRight .imagegrid_main {
            order: 1;
        }

        .imagegrid.TripleRight .imagegrid_other {
            order: 1;
        }

        .imagegrid.TripleLeft .imagegrid_main .imagegrid_item a, .imagegrid.TripleRight .imagegrid_main .imagegrid_item a {
            height: 150%
        }

        .imagegrid.DoubleOffset .imagegrid_item:nth-child(1), .imagegrid.DoubleOffset .imagegrid_item:nth-child(4) {
            grid-column: span 1;
        }
    }

    @media (max-width: 650px) {
        #top_logo img {
            height: 80px;
            width: auto;
        }
        .index_grid {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        /* page block */
        .page_block {
            grid-template-columns: repeat(1, minmax(0, 1fr));
            grid-row-gap: 20px;
            grid-column-gap: 20px;
        }

        .page_block .panel_image {
            grid-column: span 1;
            order: 1;
        }

        .page_block.Left .panel_image {
            grid-column: span 1;
            order: 1;
        }

        .page_block.Right .panel_image {
            grid-column: span 1;
            order: 1;
        }

        .page_block.Center .panel_image {
            grid-column: span 1;
            margin-left: 0%;
            margin-right: 0%;
            order: 1;
        }

        .page_block.Full .panel_image {
            grid-column: span 1;
            order: 1;
        }


        .page_block .panel_text {
            grid-column: span 1;
            order: 2;
        }

        .page_block.Left .panel_text {
            grid-column: span 1;
            order: 2;
        }

        .page_block.Right .panel_text {
            grid-column: span 1;
            order: 2;
        }

        .page_block.Center .panel_text {
            grid-column: span 1;
            margin-left: 0%;
            margin-right: 0%;
            order: 2;
        }

        .page_block.Full .panel_text {
            grid-column: span 1;
            order: 2;
        }

        .page_block .panel_addons {
            grid-column: span 1;
        }

        #layout_footer #foot_contact {
            float: none;
        }

        #layout_footer #foot_menu {
            width: 100%;
        }

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


        .layout_page_panel .panel_content {
            width: auto;
        }

        .image_index_grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .image_index_grid li:hover {}

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

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

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

        .bullet_grid {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .media_grid li {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .plan {
            width: 100%;
            margin: 0px;
            margin-bottom: 15px;
        }

        .boxgrid .boxgrid_container {
            min-height: 320px;
        }

        .infoboxes {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .itemboxes {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .staffboxs {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .mediaboxes {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .image_index_grid {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .imagegrid .imagegrid_item .caption .text {
            display: none;
        }

        .infocards {
            grid-template-columns: repeat(2, minmax(0, 1fr));

        }
        
        .home_col_text h1 {
            font-size: 30px;
        }
    }

    @media (max-width: 480px) {

        #layout_headerbar,
        #layout_header,
        #layout_top_menu,
        #layout_footer,
        #layout_copyright,
        #layout_strapline,
        #layout_mailing,
        #layout_top_social,
        #layout_testimonials,
        #layout_copyright {

        }

        #top_links {
            right: 30px;
        }

        #top_contact {
            right: 30px;
        }

        #layout_body #page_container {

        }

        #breadcrumb {
        }

        .panel_index_image {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        #top_links {
            display: none;
        }

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

        #top_logo {
            text-align: center;
        }

        #top_logo a img {
        }

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

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

        .image_index_grid {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .image_index_grid li:hover {}

        .image_grid {

            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .image_grid li:hover {}

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




        .link_index, .link_index_icon {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .document_grid {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }
    }

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

        .image_index_grid {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .image_grid li {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        .image_grid li:hover {}
    }