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

html {
    height: 100%;
}

#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_bespoke {
    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-image: url(/images/back_tile.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#wrapper_top_menu {
    background-color: #0E3D64;
}

#wrapper_body {}

#wrapper_mailing {
    background-image: url(/images/back_mailing.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#wrapper_footer {
    background-image: url(/images/foot_tile.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#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_bespoke {
    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 {
    margin-top: 0px;
    border-radius: 0px;
    position: relative;
}

#layout_top_menu {}

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

#layout_mailing {
    padding: 60px;
}

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

#layout_mailing h5 {
    color: #0E3D64;
    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_mailing .col_container {
    grid-row-gap: 20px;
    grid-column-gap: 20px;
}
#layout_mailing .col_100 {
    text-align: center;
}
#layout_mailing h4 {
    color: #fff;
    font-size: 36px;
}
#layout_mailing h6 {
    font-size: 24px;
    color: #fff;
    margin: 0px;
}
#layout_bespoke {
    background-color: #22B3A4;
}
#layout_bespoke .col_33 {
    background-image: url(/images/back_bespoke.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#layout_bespoke .col_66 {
    padding: 80px 40px;
    text-align: center;
    box-sizing: border-box;
}
#layout_bespoke .col_66 h4 {
    color: #fff;
    font-size: 42px;
    margin-bottom: 40px;
}


#layout_bespoke .col_66 h4::after {
    content: "";
    width: 160px;
    height: 2px;
    background-color: #0E3D64;
    display: block;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
}

#layout_bespoke .col_66 p {
    color: #fff;
}
#layout_bespoke .col_66 .btn {
    background-color: #fff;
    color: #22B3A4!important;
}
#btn_view_basket a {
    text-decoration: none;
    color: #fff;
}
#mailing_working {
    background-color: rgba(14,61,100,.8);
    height: 180px;
    margin-bottom: 20px;
    box-sizing: border-box;
    padding: 20px;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    background-image: url(/images/icon_clock.png);
    background-position: 20px center;
    background-repeat: no-repeat;
    padding-left: 100px;
}
#mailing_contact {
    background-color: rgba(14,61,100,.8);
    height: 180px;
    box-sizing: border-box;
    padding: 20px;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    background-image: url(/images/icon_contact.png);
    background-position: 20px center;
    background-repeat: no-repeat;
    padding-left: 100px;
}
#mailing_contact a {
    color: #fff;
}
#mailing_contact p {
    margin: 0px;
    padding: 0px;
}
#mailing_working h6, #mailing_contact h6 {
    margin-bottom: 10px;
}
#mailing_callback {
    background-color: rgba(255,255,255,.8);
    height: 380px;
    box-sizing: border-box;
    padding: 20px;
    
}

#mailing_callback h6 {
    color: #0E3D64;
}

#mailing_callback p {
    color: #000;
    margin: 0px;
}

#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;
    margin-bottom: 10px;
}

#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 {
    width: 100%;
    text-align: center;
}

#top_links {
    width: 100%;
    text-align: left;
    color: #fff;
    padding: 10px;
    box-sizing: border-box;
    background-color: #22B3A4;
}

#top_links img {
    margin-left: 10px;
    vertical-align: middle;
}
#btn_view_basket {
    float: right;
}
#top_contact {
    width: 320px;
    text-align: right;
    color: #000;
    padding: 10px;
    box-sizing: border-box;
    position: absolute;
    top: 30px;
    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_email {}

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

#breadcrumb {
    color: #fff;
    padding: 10px;
    display: block;
    width: 100%;
    background-color: #22B3A4;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

#breadcrumb a {
    color: #fff;
    text-decoration: none;
}
#foot_logo {
    float: right;
}
#layout_footer a {
    color: #FFFFFF;
    text-decoration: none;
}

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

#layout_footer h6 {
    margin: 0px;
    color: #e2e2e2;
    margin-bottom: 10px;
    font-size: 22px;
}

#layout_footer #foot_menu li {
display: inline-block;
    list-style-type: none;
    padding-top: 5px;
    padding-right: 5px;
    padding-left: 0px;
    padding-bottom: 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    margin: 0px;
    box-sizing: border-box;
}

#layout_footer #foot_menu li a, #layout_footer p  {
    font-size: 14px;
}

#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: 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;
    position: relative;
}

.side_menu li:hover {
}



.side_menu li a {
    padding-top: 5px;
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 5px;
    text-decoration: none;
    display: block;
    font-weight: normal;
    background-color: #FFFFFF;
    margin: 0px;
        font-size: 14px;
    color: #0E3D64;
    margin: 0px;
}

.side_menu li.side_menu_heading a {

    color: #22B3A4;
    font-size: 18px;
}

.side_menu li.side_menu_heading:hover {

    	text-decoration: none; 
	color: #FFFFFF;
	background-color: #22B3A4;
}

.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 {
    font-size: 14px;
    color: #0E3D64;
    margin: 0px;
    padding-left: 30px;
}

.side_menu ul ul li a:hover {
    	text-decoration: none; 
	color: #FFFFFF;
	background-color: #22B3A4;
}
.side_menu ul li {
}

.side_menu ul ul li a {
    font-size: 14px;
    color: #0E3D64;
    margin: 0px;
    padding-left: 30px;
}
.side_menu ul ul li a:hover  {
	color: #FFFFFF;
	background-color: #0E3D64;
}
.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: grid;
    grid-template-columns: repeat(3, 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;
}

.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: 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);
}

/* 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 #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: 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%;
}

.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 #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: 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: #E6E6E6;
    padding: 0px;
    margin-bottom: 10px;
    border: 1px solid #CCC;
    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 {}



/* page block */

.page_block {
    margin: 0px;
    padding: 0px;
    margin-right: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
    padding-top: 20px;
    padding-bottom: 20px;
}

.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_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;
}

.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;
}

.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 h3 {
    text-align: center;
}
.layout_page_panel .panel_content.Standard .panel_image {
    box-sizing: border-box;
}

/* 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: 20px;
}



/* Panel Layout: Image Right */

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

.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: 20px;
}


/* 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: 20px;
}


/* 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: 20px;
}



/* 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: 20px;
    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: 20px;
    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: 20px;
    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: 20px;
}



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



/* 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 {
    padding: 20px;
    margin: 0%;
    list-style-type: none;
    box-sizing: border-box;
}

.infoboxes .infobox_container .infobox_image {
    width: 100%;
    text-align: center;
}

.infoboxes .infobox_container .infobox_content {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
}

.infoboxes .infobox_container .infobox_content p {
    font-size: 14px;
}
.infoboxes .infobox_container .infobox_image img {
    clear: none;
    width: 60%;
    padding: 0px;
    height: auto;
    margin-bottom: 10px;
    border-radius: 400px;
}

.infoboxes .infobox_container h4 {
    margin-left: 0px;
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 20px;
}
.infoboxes .infobox_container h4::after {
    content: "";
    width: 160px;
    height: 2px;
    background-color: #22B3A4;
    display: block;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
}

.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;
}

/* 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: #0E3D64;
    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: #0E3D64;
}

.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: #0E3D64;
    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(2, 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: #f2f2f2;
    display: flex;
    align-content: center;
    align-items: center;
}

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

/* bullet_grid */

.bullet_grid {
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: auto auto;
    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: 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: 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;
}

.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: 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: #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;
}
/* Gallery */

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

.gallery li {
    list-style: none;
}
.gallery li img {
    width: 100%;
    height:auto;
    border-radius: 5px;
}
/* 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: 310px;

    display: flex;
    align-content: center;
    align-items: center;
    text-align: center;
}

#banner_image h1 {
    width: 100%;
    color: #fff;
    font-size: 48px;
}
#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%;
}

#panel_663727 {
    background-image: url(/images/back_tile.png);
    background-repeat: repeat!important;
    background-size: auto;
}
@media {

    @viewport {
        width: device-width;
    }

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

@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));
    }
}

@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 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .image_grid li:hover {
    }

    .panel_index_image li {

    }

    .index_side li p {
        font-size: 14px;
    }
    .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;
    }
    .gallery {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@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));
    }
    
    .col_25 {
        grid-column: span 6;
    }
    .col_33 {
        grid-column: span 6;
    }
    .col_66 {
        grid-column: span 6;
    }
    
    .col_75 {
        grid-column: span 6;
    }
    .boxgrid .boxgrid_container {
    min-height: 360px;
    }

}

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

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

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

    .bullet_grid {
        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;
    }

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

}

@media (max-width: 650px) {

    #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 {

    }
    .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;
    }

    #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%;
    }

    .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));
    }
}

@media (max-width: 480px) {
    .panel_index_image {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    #top_links {
        display: none;
    }

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


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

    .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;
    }


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

    .index_side li .image {
        width: 100%;
    }
    
    .link_index, .link_index_icon {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    
    .gallery {
    grid-template-columns: repeat(2, 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 {

    }
}
