  html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {   margin:0;   padding:0;   border:0;   outline:0;   font-size:100%;   vertical-align:baseline;   background:transparent; } body { line-height: 1; } article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {  display:block; } nav ul {   list-style:none; } a {   margin:0;   padding:0;   font-size:100%;   vertical-align:baseline;   background:transparent; outline: none; } input, select {   vertical-align: middle; } table, tbody, tfoot, thead, tr, th, td {  vertical-align: top; } mark {  background-color: yellow;  color: black; } table { border-spacing: 0; }  .clearfix:before, .clearfix:after {   content: "";   display: table; } .clearfix:after {   clear: both; } .clr { clear: both; }  html {  box-sizing: border-box; } *, *:before, *:after {  box-sizing: inherit; }  .hidden { display: none; } .alignright { text-align: right !important; } .floatright { float: right !important; } .fullwidth { width: 100%; } .nowrap { white-space: nowrap; } .clickable { cursor: pointer; } .grecaptcha-badge {  visibility: hidden; } .notreq { display: none; } html { font-size: 20px; line-height: 1.4; } body { background: #fff; color: #444; font: normal normal 20px/30px "Roboto", sans-serif; line-height: 1.4; } html, body{  min-height: 100%; } html.iframe, html.iframe body { height: auto; min-height: 0; } html.iframe #content { padding-bottom: 0; } body {  position: relative; } body .overlay, body #overlay {  position: fixed;  top: 0;  left: 0;  width: 100%;  height: 100%;  z-index: 1000;  background-color: rgba(0,0,0,0.5);  display: none; } body .overlay .preloader { width: 100%; height: 100%; background-image: url(../_shared/_img/preloader_rubiks.gif); background-repeat: no-repeat; background-position: center center; } body {  position: relative;  max-width: 1920px;  margin: 0 auto; }   @media (max-width: 1100px) { html, body {   } } @media (max-width: 900px) { html, body {  font-size: 19px;  line-height: 1.4; } .no_940 {  display: none;  } } @media (max-width: 700px) { html, body {  font-size: 17px;  line-height: 1.4; } #testmode {  display: none;  opacity: 0; } } @media (max-width: 360px) { html, body {  font-size: 16px;  line-height: 1.4; }  }   .wrapper--bg_lightblue { background-color: #d1dfec; } .wrapper { margin-bottom: 30px; } .wrapper--hidden { display: none; } .wrapper--bg, .wrapper--bg.wrapper--padding_vert_normal { padding-top: 30px; padding-bottom: 30px; } .wrapper--bg_image { background-size: cover; background-position: center; position: relative; } .wrapper > span.bg_image { top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; position: absolute; background-size: cover; background-position: center; z-index: 1;  } .wrapper--mb_none { margin-bottom: 0; } .wrapper--mb_hairline { margin-bottom: 5px; } .wrapper--mb_tight { margin-bottom: 10px; } .wrapper--mb_normal { margin-bottom: 30px; } .wrapper--mb_large { margin-bottom: 60px; } .wrapper--mb_xlarge { margin-bottom: 90px; } .wrapper--mb_xxlarge { margin-bottom: 120px; } .wrapper--padding_vert_none, .wrapper--bg.wrapper--padding_vert_none, .wrapper--padding_vert_normal { padding-top: 0px; padding-bottom: 0px; } .wrapper--padding_vert_large, .wrapper--bg.wrapper--padding_vert_large { padding-top: 45px !important; padding-bottom: 45px !important; } .wrapper--padding_vert_xlarge, .wrapper--bg.wrapper--padding_vert_xlarge { padding-top: 60px !important; padding-bottom: 60px !important; } .wrapper--padding_vert_xxlarge, .wrapper--bg.wrapper--padding_vert_xxlarge { padding-top: 90px !important; padding-bottom: 90px !important; }  .wrapper--full.wrapper--limit_width_half  .content, .wrapper--full.wrapper--limit_width_half  .container h1 {  max-width: 705px; } .wrapper--full.wrapper--limit_width_third  .content, .wrapper--limit_width_third .container h1 {  max-width: 465px;  } .wrapper--full.wrapper--limit_width_quarter  .content, .wrapper--full.wrapper--limit_width_quarter  .container h1 {  max-width: 345px; } .wrapper--full.wrapper--limit_width_two_thirds  .content, .wrapper--full.wrapper--limit_width_two_thirds  .container h1 {  max-width: 930px; } .wrapper--full.wrapper--limit_width_three_quarters .content, .wrapper--full.wrapper--limit_width_three_quarters .container h1 {  max-width: 1035px; }  .wrapper--full.wrapper--limit_align_center  .content, .wrapper--full.wrapper--limit_align_center  .container h1 {  margin-left: auto;  margin-right: auto; } .wrapper--full.wrapper--limit_align_right  .content, .wrapper--full.wrapper--limit_align_right  .container h1 {  margin-left: auto;  margin-right: 0; }  .wrapper--limit_width_half   .container {  max-width: 705px; } .wrapper--limit_width_third  .container {  max-width: 465px;  } .wrapper--limit_width_two_thirds  .container {  max-width: 930px; } .wrapper--limit_width_three_quarters .container {  max-width: 1035px; }  .wrapper--full.wrapper--limit_width_half  .container, .wrapper--full.wrapper--limit_width_third  .container, .wrapper--full.wrapper--limit_width_two_thirds  .container, .wrapper--full.wrapper--limit_width_three_quarters .container {  max-width: 1410px; } .container, .container--medium { width: 96%; max-width: 1410px; margin: 0 auto; position: relative; z-index: 2; } .container--medium { max-width: 1170px; } .container--small { max-width: 930px; } .container--infinite { width: 100%; max-width: none; }  .container--bg { padding-top: 30px; padding-bottom: 30px; } .container--bg .section > .column > .content, .container--bg > h1, .container--bg > h2 { padding-left: 30px; padding-right: 30px; } .container--bg_image { background-size: cover; background-position: center; position: relative; } .container > span.bg_image { top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; position: absolute; background-size: cover; background-position: center; z-index: 3;  } .container--no_gutter .section { margin-left: 0; } .container--no_gutter .section > .column { padding-left: 0; }  .container--gutter_large .section { margin-left: -60px; } .container--gutter_large .section > .column { padding-left: 60px; } .container--gutter_xlarge .section { margin-left: -90px; } .container--gutter_xlarge .section > .column { padding-left: 90px; }  .container--gutter_hairline .section { margin-left: -2px; } .container--gutter_hairline .section > .column { padding-left: 2px; }   .container--two_col_wide_left > .section > .column:first-of-type {  width: 66.6667% !important; flex: none !important; }  .container--two_col_wide_right > .section > .column:first-of-type { width: 33.3333% !important; flex: none !important; }  .container--two_col_50_70 > .section > .column:first-of-type { width: 41.66666% !important; flex: none !important; }   .container--two_col_60_40 > .section > .column:first-of-type {  width: 60% !important; flex: none !important; } .container--two_col_70_30 > .section > .column:first-of-type {  width: 70% !important; flex: none !important; }  .container--two_col_625_375 > .section > .column:first-of-type {  width: 62.5% !important; flex: none !important; }   .container--two_col_40_60 > .section > .column:first-of-type { width: 40% !important; flex: none !important; }  .container--two_col_30_70 > .section > .column:first-of-type { width: 30% !important; flex: none !important; }  .container--three_col_wide_mid > .section > .column:first-of-type, .container--three_col_wide_mid > .section > .column:last-of-type { width: 25% !important; flex: none !important; }   .section { display: flex; flex-wrap: nowrap;  margin-left: -30px; }  .column { flex: 1; box-sizing: border-box; padding-left: 30px; display: flex;  position: relative; z-index: 4; } .column--align_bottom {  align-self: flex-end; }  .content { width: 100%; box-sizing: border-box; position: relative; z-index: 5; } .content--bg { padding: 30px; background-position: center center; background-size: cover; background-repeat: no-repeat; } .content > span.bg_image { top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; position: absolute; background-size: cover; background-position: center; z-index: 6;  }   .content > div > h2:last-child, .content > div > h3:last-child, .content > div > p:last-child, .content > div > hr:last-child, .content > div > ul:last-child, .content > div > ol:last-child, .content > div > table:last-child, .content > div > .video:last-child { margin-bottom: 0 !important; }  .content > div { position: relative; z-index: 6; }  .content--align_left { text-align: left; } .content--align_center { text-align: center; } .content--align_justify p { text-align: justify; } .content--align_right { text-align: right; }   .content--padding_vert_none { padding-top: 0 !important; padding-bottom: 0 !important; } .content--padding_vert_normal { padding-top: 30px; padding-bottom: 30px; } .content--padding_vert_large { padding-top: 45px !important; padding-bottom: 45px !important; } .content--padding_vert_xlarge { padding-top: 60px !important; padding-bottom: 60px !important; }  .content--padding_horiz_none { padding-left: 0 !important; padding-right: 0 !important; } .content--padding_horiz_normal { padding-left: 30px; padding-right: 30px; } .content--padding_horiz_large { padding-left: 45px !important; padding-right: 45px !important; } .content--padding_horiz_xlarge { padding-left: 60px !important; padding-right: 60px !important; } .content--padding_horiz_xxlarge { padding-left: 90px !important; padding-right: 90px !important; } .container--full .content--padding_horiz_xlarge { padding-left: 25% !important; padding-right: 25% !important; }  .content--bg div p.stretch_full_width { margin-left: -30px;  margin-right: -30px; } .content--bg div p.stretch_full_width:first-of-type { margin-top: -30px; } .content--limit_330 { max-width: 330px; } .content--limit_570 { max-width: 570px; } .content--limit_690 { max-width: 690px; } .content--limit_650 { max-width: 650px; } .content--limit_930 { max-width: 930px; }   .limit_width_half { max-width: 705px;  margin-left: auto; margin-right: auto; }  @media (max-width: 940px) { .section {  display: block;  margin-left: -30px; }  .section .column {  margin-bottom: 30px; } .section > .column:last-of-type {  margin-bottom: 0px; }  .wrapper--mb_none .section > .column.empty {  margin-bottom: 0 !important; }  .section .column, .container--two_col_wide_left > .section > .column:first-of-type, .container--two_col_wide_right > .section > .column:first-of-type, .container--three_col_wide_mid > .section > .column:first-of-type, .container--three_col_wide_mid > .section > .column:last-of-type,  .container--two_col_60_40 > .section > .column:first-of-type, .container--two_col_70_30 > .section > .column:first-of-type, .container--two_col_625_375 > .section > .column:first-of-type, .container--two_col_40_60 > .section > .column:first-of-type, .container--two_col_30_70 > .section > .column:first-of-type, .container--two_col_50_70 > .section > .column:first-of-type {   width: auto !important; }  .container--four_col > .section {  display: flex;  flex-wrap: wrap;  }  .container--four_col > .section > .column {  flex-basis: 50%; }   .emptybg .content > div {  height: 0;  padding-top: 40%;  } }  @media (max-width: 740px) {  .container, .container--medium {   } .container--infinite {  width: 100%;  }   .wrapper--padding_vert_none,  .wrapper--bg.wrapper--padding_vert_none, .wrapper--padding_vert_normal {  padding-top: 0px;  padding-bottom: 0px; } .wrapper--padding_vert_large, .wrapper--bg.wrapper--padding_vert_large {  padding-top: 45px !important;  padding-bottom: 45px !important; } .wrapper--padding_vert_xlarge, .wrapper--bg.wrapper--padding_vert_xlarge {  padding-top: 45px !important;  padding-bottom: 45px !important; }  .wrapper--padding_vert_xxlarge, .wrapper--bg.wrapper--padding_vert_xxlarge {  padding-top: 45px !important;  padding-bottom: 45px !important; } }  @media (max-width: 540px) { .container, .container--medium {  width: 92%; } .container--infinite {  width: 100%;  } }header { background:linear-gradient(to right, #232651 50%, #1961a0 50%); } #header_prop { height: 180px; display: none; } header .container { background: linear-gradient(to right, #232651, #1961a0); height: 180px;  max-width: none; width: 100%; display: flex;  justify-content: space-between; position: relative; } header #contact_tel { position: absolute; top: 15px; right: 35px; } header #contact_tel a { color: #fff; text-decoration: none; font-size: 1.2em; }  header div#header-g1 { width: 520px; } header div#header-g1 h1, header div#header-g1 h3 { position: absolute; top: 40px; background: linear-gradient(to right, #232651, #1961a0); border-top-right-radius: 200px; border-bottom-right-radius: 200px; padding: 20px 110px 20px 120px; } header div#header-g1 h1 a, header div#header-g1 h3 a { display: block; text-indent: -4500px; width: 290px;  height: 132px; background-repeat: no-repeat; background-image: url(../_img/logo.png); }  #globalnav { opacity: 0; } .desktop #globalnav, .w940 #globalnav, .w740 #globalnav { opacity: 1; }  header div#header-g2 { display: flex; align-content: flex-end; } header div#header-g2 nav {  align-self: flex-end;  margin-bottom: 20px;  margin-right: 20px; } header #globalnav_inner > ul > li { display: inline-block;  padding-right: 10px; position: relative; } header #globalnav_inner ul li:last-of-type { padding-right: 20px !important; } header #globalnav_inner > ul > li > a { display: block; text-decoration: none;  font-weight: 300; line-height: 1; border: 1px solid rgba(255,255,255,1); padding: 1em; color: #fff; transition: all 0.2s ease-in-out; } .about-page.desktop header #globalnav_inner ul li.gn-about > a, .work-page.desktop header #globalnav_inner ul li.gn-work > a , .services-page.desktop header #globalnav_inner ul li.gn-services > a { background: #fff; color: #1961a0 } .desktop header #globalnav_inner > ul > li > a:hover { background: rgba(255,255,255,0.2); color: #fff }  .desktop #globalnav_inner { position: relative; }  .desktop #globalnav_inner ul li ul { visibility: hidden; opacity: 0; display: none; min-width: 300px; position: absolute; z-index: 120; left: 0; padding-top: 5px; } .desktop #globalnav_inner ul li.gn-about ul { min-width: 200px; } .desktop #globalnav_inner ul li ul li { margin: 0; display: block; width: 100%; background: rgba(25,97,160,0.85); } .desktop #globalnav_inner ul li ul li:first-of-type { padding-top: 20px; } .desktop #globalnav_inner ul li ul li a { font-size: 16px; padding: 7px 20px 7px 20px; display: block; text-decoration: none;  font-weight: 400; line-height: 1; color: #fff; opacity: 0.8; transition: all 0.2s ease-in-out; } .desktop #globalnav_inner ul li ul li:hover a { padding-left: 25px; padding-right: 15px; opacity: 1; } .desktop #globalnav_inner ul li ul li:last-of-type a { padding-bottom: 20px; } .desktop #globalnav_inner > ul > li:hover > ul, .desktop #globalnav_inner > ul > li:focus-within > ul, .desktop #globalnav_inner > ul > li ul:hover { visibility: visible; display: block; opacity: 1; } #open_nav, #close_nav { display: none; }  header.fixed_header { position: fixed;   z-index: 119;   width: 100%; top: -90px; height: 90px; transition: top 0.5s ease-in-out, opacity 0.5s ease-in-out; opacity: 0.6; background: #fff; max-width: 1920px;  } header.fixed_header, header.fixed_header .container  { height: 90px; } header.fixed_header.offscreen { top: -90px; opacity: 0.6; } header.fixed_header.onscreen { top: 0;  opacity: 1; box-shadow: 2px 3px 20px 0px rgba(0,0,0,0.2); } .desktop header.fixed_header #contact_tel { display: none; }  header.fixed_header div#header-g1 { width: 200px; } header.fixed_header div#header-g1 h3 { position: static; top: 0; background: none; border-top-right-radius: 0; border-bottom-right-radius: 0; padding: 10px 0 10px 20px; } header.fixed_header div#header-g1 h3 a { width: 200px;  height: 70px; background-size: 200px auto; }  header.fixed_header div#header-g2 { align-content: center } header.fixed_header div#header-g2 nav {  align-self: center;  margin-bottom: 0; } header.fixed_header #globalnav_inner > ul > li > a { padding: 0.7em; }  @media(max-width: 1340px) { header div#header-g1 {  width: 480px;  } header div#header-g1 h3 {  padding: 20px 110px 20px 60px; } }  @media(max-width: 1260px) { header #globalnav_inner > ul > li > a {  padding: 1em 0.8em;  font-size: 18px; } }  @media(max-width: 1160px) { header .container, #header_prop {  height: 140px; }  header div#header-g1 {  width: 320px;  } header div#header-g1 h3 {  padding: 20px 50px 20px 20px; } header div#header-g1 h3 a {  width: 220px;  height: 100px;  background-size: 220px auto; } }  @media(max-width: 1000px) { header #globalnav_inner > ul > li > a {  border: none;  padding: 0.5em 0.3em; } }  @media(max-width: 940px) { header.fixed_header {  transition: none;  opacity: 1;  top: 0; } header.fixed_header .container {  display: block;  } #header_prop {  height: 90px;  display: block;  } header div#header-g2 {  display: block; } header div#header-g2 nav {  margin-bottom:0; }  header #contact_tel {  top: 32px;  right: 110px;  } header #contact_tel a {  font-size: 1.2em; }  #open_nav {  display: block;  width: 60px;  height: 50px;  position: absolute;  top: 20px;  right: 20px;  z-index: 5;  cursor: pointer;  background-image: url(../_shared/_img/burger_white_36px.png);  background-repeat: no-repeat;  background-size: 36px auto;  background-position: center;  transition: 0.1s all ease-out; } #globalnav {  width: 100%;  position: absolute;  display: block;  top: -500px;  transition: top 0.2s ease-out;  background: linear-gradient(to right, #232651, #1961a0);  border-top: 2px solid rgba(255,255,255,0.4);  opacity: 0; } #globalnav.mob_open {  background: linear-gradient(to right, #232651, #1961a0);  top: 90px;   opacity: 1; }  header #globalnav_inner > ul > li {  display: block;  padding-right: 0;  position: relative; } header #globalnav_inner ul li a {  opacity: 0;  } header #globalnav.mob_open #globalnav_inner ul li a {  opacity: 1;  } header.fixed_header #globalnav_inner > ul > li {  border-bottom: 2px solid rgba(255,255,255,0.4); } header.fixed_header #globalnav_inner > ul > li > a {  font-size: 19px; }   header.fixed_header #globalnav_inner > ul > li > ul {  display: none;  visibility: visible;  opacity: 1;  position: static;  padding-top: 10px;  padding-bottom: 10px;  background-color: rgba(255,255,255,0.2);  left: auto;  }   header.fixed_header #globalnav_inner > ul > li > a {  padding-left: 20px;  } header.fixed_header #globalnav_inner ul li ul li a {  font-size: 16px;  padding: 7px 20px 7px 30px;  display: block;  text-decoration: none;  font-weight: 400;  line-height: 1;  color: rgba(255,255,255,0.7);  opacity: 0.8;  transition: all 0.2s ease-in-out; }  } @media(max-width: 520px) { header #contact_tel {  top: 34px;  right: 90px;  } header #contact_tel a {  font-size: 1.1em; } } @media(max-width: 490px) { header.fixed_header div#header-g1 h3 {  padding-top: 20px;  } header.fixed_header div#header-g1 h3 a {  width: 160px;  height: 50px;  background-size: 160px auto;  background-position: left top; }  #open_nav {  top: 20px;  right: 5px;  width: 40px;  background-size: 24px auto; } header #contact_tel {  top: 34px;  right: 50px;  } header #contact_tel a {  font-size: 0.9em; } } .hero { margin-bottom: 2.5em; position: relative; } .hero.mb_none { margin-bottom: 0; } .hero p img { width: 100%; height: auto;  display: block; } .hero::after { content: ' '; width: 100%; height: 100%; position: absolute; background-image: url(../_img/symbol_large_light_header.png); background-repeat: no-repeat; background-position: right 30px bottom 0;  max-width: 1410px; margin: 0 auto; top: 0; left: 50%; transform: translateX(-50%); } .content h1 { font-weight: 700; font-size: 2.4em; color: #1961a0; margin-bottom: 1rem; line-height: 1.1; } .content h2, .content h3.h3--big { font-weight: 300; font-size: 1.9em; color: #555; margin-bottom: 0.5rem; } .content h2.h2--tighter { line-height: 1; font-size: 1.7em;  font-weight: 400; } .content h2.h2--smaller { font-weight: 600; font-size: 1.2em; color: #333; margin-bottom: 0.2rem; } .content h2.h2--medium { font-weight: 600; font-size: 1.4em; color: #333; margin-bottom: 0.4rem; }  .content h3 { font-weight: 600; font-size: 1.2em; color: #333; margin-bottom: 0.2rem; }  .content .mw710 { max-width: 710px; } .content .mw740 { max-width: 740px; } .content p, .content hr, .content ul, .content ol, .content table, .content .video_holder, .content .googlemap-wrapper-600 { margin-bottom: 1.4rem; } .content hr { clear: both; height: 0px; border: none; border-bottom: 1px solid #ccc; } .content hr.hard { border-bottom: 2px solid #777; } .content hr.invisible { opacity: 0; } hr.shadow_top { height: 20px; border: none; background-image: url(../_img/shadow_div_top.png);  margin: 0; } hr.shadow_bottom { height: 20px; border: none; background-image: url(../_img/shadow_div_bottom.png);  margin: 0; } .content a { color: #109be4;  text-decoration: underline; } .content a.subtle { color: #444; } .content a:hover { color: #222; } .content ol, .content ul { margin-left: 30px; } .content ul.feature_list { margin-left: 0; list-style: none; } .content ul.feature_list li { background-image: url(../_img/feature_bullet.png); background-repeat: no-repeat; background-position: 0 0; padding-left: 55px; padding-top: 3px; padding-bottom: 25px; }  .content p.image_right { float: right; padding: 0 0 0px 30px; } .content p.image_left { float: left; padding: 0 30px 00px 0px; } .content p.image_right img, .content p.image_left img, .content p.image_full img { display: block; } .content p.image_full img { max-width: 100%; height: auto;  margin-left: auto; margin-right: auto; } .content p.image_bb_left { border-left: 2px solid #1860a4;  margin-top: 10px; } .content .mb_none { margin-bottom: 0 !important; } .content .mb_small { margin-bottom: 0.7rem !important; } .content .mb_normal, .mb_normal { margin-bottom: 1.4rem !important; } .content .mb_large, .mb_large { margin-bottom: 2rem !important; } .content .mb_xlarge, .mb_xlarge { margin-bottom: 4rem !important; } .content .pt_small { padding-top: 0.5rem !important; } .content .pt_medium { padding-top: 1rem !important; } .content .pt_large { padding-top: 1.5rem !important; } .content .pt_xlarge { padding-top: 2rem !important; } .content .mr2 { margin-right: 2em !important; }  .content .button { padding-top: 0.3em; } .content .button a, .content input[type='submit'] { padding: 0.2em 1em 0.1em 1em; border-radius: 0px; transition: all 0.2s ease-in-out; text-decoration: none; cursor: pointer; color: #fff; text-transform: uppercase; font-weight: 600;  background: #1961a0; outline: none; border: none; } .content .button a:hover, .content input[type='submit']:hover { background: #232651; } .content .button a { padding: 0.2em 1em 0.2em 1em; } .content .button.altcol a, .content .button.alt a { background: #e8873f; } .content .button.subtle a, .content .button.secondary a { background: #777; } .content .button.altcol a:hover, .content .button.alt a:hover { background: #222; } .content .button.button--chunky a { padding: 0.6em 1em 0.6em 1em; } .content .button.button--lowercase a { text-transform: none; } .button.read_more.read { opacity: 0.1; } .content .panel { background: rgba(25,97,160,0.2);  padding: 30px; border-radius: 2px; margin-bottom: 2em; position: relative; padding-bottom: 5px; margin-right: 2em;  } .content .panel.panel--gradient { background: linear-gradient(135deg, #232651, #1961a0); } .content .panel.panel--gradient > * { color: #fff; }  .content table tr th { text-align: left; } .content table.layout tr td, .content table.layout tr th { padding: 3px 15px; } .content table.layout tr td:first-of-type, .content table.layout tr th:first-of-type { padding-left: 0 !important; } .content table.layout tr td:last-of-type, .content table.layout tr th:last-of-type { padding-right: 0 !important; } .content table.layout.tight tr td, .content table.layout.tight tr th { padding: 3px 7px; } .content table tr td.tightright { padding-right: 0 !important; } .content table.bordered tr td { border-bottom: 1px solid #ccc; padding-top: 5px; padding-bottom: 5px; } .content table.coloured_cells { border-spacing: 2px; } .content table.coloured_cells tr td { background: rgba(25,97,160,0.2); padding: 8px; font-size: 0.9em; }  .content div.video { position: relative; padding-bottom: 56.25% !important; height: 0; overflow: hidden; background-color: rgba(0,0,0,0.05); background-image: url(../_shared/_img/preloader_rubiks.gif); background-position: center center; background-repeat: no-repeat; } .content div.video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; } .content .video_caption { text-align: center; padding: 15px 30px; background: linear-gradient(to bottom, rgba(0,0,0,.05) 0%,rgba(0,0,0,0) 75%); font-size: 0.8em; } .content .video_caption p { margin-bottom: 0; }  .googlemap-wrapper-600 { max-width: 600px; } .content div.googlemap { position: relative; padding-bottom: 75% !important;  height: 0; overflow: hidden; background-color: rgba(0,0,0,0.05); background-image: url(../_shared/_img/preloader_rubiks.gif); background-position: center center; background-repeat: no-repeat;  } .content div.googlemap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }  .content input, .content textarea, .content select,  .content select option { font-family: inherit; font-size: inherit; line-height: inherit; } .content input[type='text'], .content input[type='email'], .content input[type='url'], .content input[type='password'], .content input[type='number'], .content textarea { box-sizing: border-box; border: 1px solid #A5ACB2; padding: 2px 3px; border-radius: 3px;  font-weight: 300; } .content input[type=checkbox], .content input[type=radio] {  vertical-align: middle;  position: relative;  bottom: 1px; } .content input[type=radio] {  bottom: 3px; } .content form option { padding-right: 0.8em; } .content form .no_minwidth { min-width: 0 !important; } .content form .sz_100 { width: 100%; min-width: 600px; } .content .grid2 form .sz_100 { min-width: 0; } .content form .sz_80 { width: 80%;  min-width: 100px; } .content form .sz_60 { width: 60%;  min-width: 100px; } .content form .sz_40 { width: 40%;  min-width: 100px; } .content form .sz_20 { width: 20%;  min-width: 100px; } .content form .sz_5char { width: 60px; } .content form .sz_3char { width: 40px; } .content form .mw200 { min-width: 200px; } .content form .mw100 { min-width: 100px; } #membership_form .location_fields { display: flex; } #membership_form .location_fields .g1 { padding-right: 2em; } .content form h4.req, .content form p.req, .content form h4.required, .content form p.required , .content form td.required  { text-indent: -12px; } .content form h4.req::before , .content form p.req::before, .content form h4.required::before , .content form p.required::before, .content form td.required::before { content: '* '; } .content .notreq { display: none !important; }  .content a.inlinehelp{ display: inline-block; text-indent: -4550px; background-image: url(../_shared/_img/icons/question_icon_24px.png); background-repeat: no-repeat; background-position: center 6px; width: 24px; height: 1.5em; min-height: 24px; transition: opacity 0.2s linear; opacity: 0.6; cursor: pointer; } .content h4 a.inlinehelp { height: 1.12em; min-height: 27px; background-position: center 3px; } .content p a.inlinehelp { background-position: center 3px; } .content a.inlinehelp:hover { opacity: 1; }   #modal_dialog { width: 100%; height: 100%; position: fixed; left: 0px; top: 0px;  background-color: rgba(0,0,0,0.5);  z-index: 50000; } .dialog { background-color: #ececec; border-radius: 9px; margin-bottom: 24px; cursor: pointer; position: relative; opacity: 0.85; } .dialog span { position: absolute; width: 16px; height: 16px; top: 10px; right: 10px; background-image: url(../_shared/_img/dialogue/dialog_close_black.png);  opacity: 0.2; } .dialog.permanent { background: #ececec; cursor: default; opacity: 1; } .dialog i { position: absolute; left: 14px; top: 16px; width: 48px; height: 48px;  } .dialog.confirm i { background-image: url(../_shared/_img/dialogue/dialog_confirm.png); } .dialog.error i { background-image: url(../_shared/_img/dialogue/dialog_error.png); } .dialog.query i { background-image: url(../_shared/_img/dialogue/dialog_query.png); } .dialog.report i { background-image: url(../_shared/_img/dialogue/dialog_info.png); } .dialog:hover { opacity: 1; } .dialog:hover span { opacity: 0.7; } .content .dialog p { padding: 27px 30px 27px 76px; margin: 0; font-size: 1em; line-height: 1.3; color: #000; } .content .dialog p b { font-weight: 400; color: #000; font-size: 28px; padding-bottom: 2px; display: block; } .fadingOut {  transition:opacity 0.6s linear;   opacity:0 !important; } #overlay .dialog, #modal_dialog .dialog { max-width: 590px; margin: 0 auto; margin-top: 300px; opacity: 1; box-shadow: 5px 5px 30px 0px rgba(0, 0, 0, 0.3); }  .content blockquote {   color: #19619f; font-size: 1em; font-weight: 300; line-height: 1.4; font-style: italic;   background-image: url(../_img/quote_marks.png);   background-repeat: no-repeat; background-position: 0 0; padding: 2em 0 0 2em; max-width: 690px; margin-bottom: 2em; } .content blockquote p { margin-bottom: 0; } .content blockquote cite {   display: block;   padding-top: 15px;   font-style: normal;   letter-spacing: 0; font-size: 0.7em; color: #222; text-transform: uppercase; font-weight: 700; }  ul.breadcrumbs {  list-style: none;  position: relative;  top: -30px;  margin: 0;  margin-bottom: -20px; }  ul.breadcrumbs li {  display: inline;  font-size: 18px; }  ul.breadcrumbs li+li:before {  padding: 8px 8px 8px 4px;  color: black;  content: "»"; }  ul.breadcrumbs li a {  color: #000;  text-decoration: none; }  ul.breadcrumbs li a:hover {  color: #01447e;  text-decoration: underline; }  .contact_callout { } .contact_callout a { height: 210px; background-color: #1860a4; background-image: url(../_img/contact_callout_v2_BG.png); background-repeat: no-repeat; background-position: center bottom; text-decoration: none; display: block; text-align: center; transition: all 0.5s ease-in-out; } .contact_callout a h3 { color: #fff; font-weight: 100; font-size: 30px;  padding-top: 25px; } .contact_callout a p { color: #fff; font-weight: 700; font-size: 22px; } .contact_callout a:hover { background-color: #232651; } #testimonial { background: rgba(25,97,160,0.2);  padding-top: 30px; } #testimonial .column { background-image: url(../_img/quote_marks.png);  background-repeat: no-repeat; background-position: 0 0; } #testimonial .content { padding: 2em 1em; } #testimonial .content p { font-style: italic; color: #1961a0; font-size: 0.9em; } .related_services { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 30px; grid-row-gap: 30px; } .content .related_services p { margin-bottom: 0;  } .related_services a { text-decoration: none; display: block;  padding: 20px; border: 1px solid #23254f; color: #23254f; transition: all 0.2s ease-in-out; } .related_services a h3, .related_services a h4 { color: #1961a0; font-size: 1.2em; transition: all 0.2s ease-in-out; } .related_services a:hover { background-color: rgba(25,97,160,1); border-color: #23254f; } .content .related_services a:hover, .related_services a:hover h3, .related_services a:hover h4 { color: #fff; } @media (max-width: 1200px) { .hero::after {  background-size: auto calc(100vw / 6); } } @media (max-width: 940px) { .content .panel {  padding: 30px;  margin-right: 0;  } .content form .sz_100 {  min-width: 500px;  } } @media (max-width: 740px) {  .content form .sz_100 {  min-width: 400px;  } } @media(max-width: 640px) { .content .panel {  padding: 20px; } .content form .sz_100 {  min-width: 0;  width: 100%;  } } @media(max-width: 540px) { .related_services {  grid-template-columns: 1fr; } } @media(max-width: 450px) { .content p.image_right { float: none; padding: 0; } }  .content a.fileicon { display: inline-block; background-size: 45px 45px; min-height: 45px; background-repeat: no-repeat; padding-top: 3px; } .content .download_notes { position: relative; top: -0.8em; display: inline-block; font-size: 0.8em; line-height: 1; color: #5f5f5f; } .content a.fileicon, .content .download_notes { padding-left: 55px; }  .content a.pdf { background-image: url(../_shared/_img/file-icons/pdf.png) } .content a.xls, .content a.xlsx { background-image: url(../_shared/_img/file-icons/xls.png); } .content a.doc, .content a.docx { background-image: url(../_shared/_img/file-icons/doc.png); } .content a.ppt, .content a.pptx { background-image: url(../_shared/_img/file-icons/ppt.png); } .content a.png { background-image: url(../_shared/_img/file-icons/png.png); } .content a.jpeg, .content a.jpg { background-image: url(../_shared/_img/file-icons/jpg.png); } .content a.gif { background-image: url(../_shared/_img/file-icons/gif.png); } .content a.eps { background-image: url(../_shared/_img/file-icons/eps.png); } .content a.ics { background-image: url(../_shared/_img/file-icons/ics.png); } .content a.txt { background-image: url(../_shared/_img/file-icons/txt.png); }  .content a.icon48 { width: 48px; height: 48px; display: inline-block; text-indent: -3456px; background-size: 48px 48px; margin-right: 3px; } .content a.icon.facebook { background-image: url(../_shared/_img/social/facebook.png); } .content a.icon.twitter { background-image: url(../_shared/_img/social/twitter.png); } .content a.icon.linkedin { background-image: url(../_shared/_img/social/linkedin.png); } .content a.icon.youtube { background-image: url(../_shared/_img/social/youtube.png); } .content a.icon.xing { background-image: url(../_shared/_img/social/xing.png); } .content a.icon.googleplus { background-image: url(../_shared/_img/social/googleplus.png); } .content a.instagram { background-image: url(../_shared/_img/social/instagram.png); } #repair_enquire_widget { background: #eb871e; background: #a1c659; } #repair_enquire_widget .content { max-width: 930px; margin: 0 auto; padding: 2.5em 0; } #repair_enquire_widget .content form { display: flex; justify-content: space-between;  } #repair_enquire_widget .content form .rew_1 { flex-shrink: 0;  margin-right: 2em; } #repair_enquire_widget .content form .rew_1 h3 { font-size: 2.2em; font-weight: 300; color: #fff; } #repair_enquire_widget .content form .rew_2 { display: flex; align-items: center; width: 100%; } #repair_enquire_widget .content form .rew_2 p { font-size: 1.1em; margin: 0; } #repair_enquire_widget .content form .rew_2 p:first-of-type { flex-grow: 1; } #repair_enquire_widget .content form .rew_2 p input[type="text"] { border: none; width: 100%; background: rgba(255,255,255,0.7); border-radius: 0; line-height: 2; padding: 0 1em; transition: background-color 0.8s ease-out; } #repair_enquire_widget .content form .rew_2 p input[type="text"]::placeholder { font-weight: 300;  color: #000; opacity: 0.6; transition: opacity 0.5s ease-out; } #repair_enquire_widget .content form .rew_2 p input[type="text"]:hover { background: rgba(255,255,255,1); } #repair_enquire_widget .content form .rew_2 p input[type="text"]:hover::placeholder { opacity: 0; } #repair_enquire_widget .content form .rew_2 p input[type="submit"] { border-radius: 0; line-height: 2; padding: 0 1em; }  #partners_widget .content { text-align: center;  padding-top: 2em; max-width: 930px; margin-left: auto; margin-right: auto; } #partners_widget .content h3 { font-size: 1.7em; font-weight:300; margin-bottom: 1em; color: #444; } #partners_widget #pw-logos-holder { position:relative; width:100%; padding-bottom:37%; } #partners_widget #pw-logos { position: absolute; width: 100%; height: 100%; left: 0; top: 0; background-image: url(../_img/symbol_large_light.png); background-repeat: no-repeat; background-position: center bottom; display: flex; justify-content: center; align-items: center; } #partners_widget #pw-logos p { background: rgba(255,255,255,0.9); box-shadow: 0 0 20px rgba(0,0,0,0.05); margin-bottom: 0;  margin-left: 35px; margin-right: 35px; height: 100px; margin-top: 6em; }  #partners_widget_v2 { background-image: url(../_img/symbol_large_light.png); background-repeat: no-repeat; background-position: center bottom; height: 370px; } #partners_widget_v2 .content { text-align: center;  position: relative; height: 370px;  margin-left: auto; margin-right: auto; } #partners_widget_v2 .content h3 { font-size: 1.7em; font-weight:300; color: #444;  position:absolute; width:100%; height: 100px; top: 120px; } #partners_widget_v2 .content h3 span { background: rgba(255,255,255,0.95); padding: 3px 10px; } #partners_widget_v2 #pw-logos-holder { position:absolute; bottom: 70px; left: 50%; transform: translateX(-50%); } #partners_widget_v2 #pw-logos { width: 100%;  height: 100px; max-width: 1410px; min-height: 0; min-width: 0; } #partners_widget_v2 #pw-logos p { background: rgba(255,255,255,0.9); margin-bottom: 0;  width: 210px; height: 100px; position: relative; margin-left: auto; margin-right: auto; } #partners_widget_v2 #pw-logos p img { outline: 1px solid rgba(25,97,160,0.2); outline-offset: -1px; }   footer #footer_1 { padding: 30px 0; background: #d1dfec; margin-bottom: 0; border-bottom: 2px solid #fff; } footer #footer_1 .content { display: flex; }  footer #footer_1 .ft_1-logo { width: 25% !important; display: flex; flex: 1; } footer #footer_1 .ft_1-logo p { margin-bottom: 0; align-self: center; flex: 1; } footer #footer_1 .ft_1-logo p img { max-width: 260px; width: 100%; height: auto; display: block; }  footer #footer_1 .ft1_nav { flex-grow: 1; margin-left: 30px; } footer #footer_1 .content ul, footer #footer_1 .content li { list-style: none;  margin: 0; } footer #footer_1 .content ul#footer_nav { display: flex; justify-content: space-between; } footer #footer_1 .content ul#footer_nav > li { padding: 0 10px; } footer #footer_1 .content ul#footer_nav > li > ul { padding-top: 0.4em; } footer #footer_1 .content ul#footer_nav > li > ul > li { font-size: 0.75em; padding: 0.1em 0; opacity: 0.7; } footer #footer_1 .content ul li a { text-decoration: none;  color: #222; }  footer #footer_2 { padding: 30px 0; background: #e8eff5; margin-bottom: 0; } footer #footer_2 .content { display: flex; font-size: 0.65em; } footer #footer_2 .content p { margin-bottom: 0; } footer #footer_2 .content p + p { padding-top: 0.4em; } footer #footer_2 .content p a { color: #444; text-decoration: none; } footer #footer_2 .ft_2-smallprint { width: 40% !important; } footer #footer_2 .ft_2-disclaimer { flex: 1; margin-left: 6em; text-align: right; } footer #footer_2 .ft_2-disclaimer p { max-width: 500px; margin-right: 0; margin-left: auto; } @media (max-width: 1470px) { #partners_widget_v2 #pw-logos {  max-width: 1200px; } } @media (max-width: 1380px) { footer #footer_1 .ft_1-logo {  width: 220px !important;  flex-shrink: 0;  flex-grow: 0;  flex-basis: 220px; } footer #footer_1 .ft1_nav {  flex-basis: auto; } footer #footer_1 .content ul#footer_nav {  justify-content: flex-end; }  } @media (max-width: 1240px) { #partners_widget_v2 #pw-logos {  max-width: 920px; } } @media (max-width: 1040px) { footer #footer_1 .content {  display: block; } footer #footer_1 .ft_1-logo {  width: auto !important;  margin-bottom: 2em; } footer #footer_1 .ft_1-logo p img {  margin: 0 auto; } footer #footer_1 .ft1_nav {  margin-left: 0; } footer #footer_1 .content ul#footer_nav {  justify-content: flex-start;  flex-wrap: wrap; } footer #footer_1 .content ul#footer_nav > li {  flex-basis: 33.333% ;  margin-bottom: 2em;  }  } @media (max-width: 940px) {   #partners_widget_v2 #pw-logos {  max-width: 680px; } #repair_enquire_widget .content form .rew_1 {  margin-right: 1em; } #repair_enquire_widget .content form .rew_1 h3 {  font-size: 1.7em; } #repair_enquire_widget .content form .rew_2 p {  font-size: 1em; } } @media (max-width: 840px) {  #partners_widget .content {  padding-top: 1.5em; } #partners_widget #pw-logos {  background-size: contain; } #partners_widget #pw-logos p {  margin-left: 15px;  margin-right: 15px;  margin-top: 4em; }  } @media (max-width: 740px) {   #repair_enquire_widget .content form {  display: block; }   #partners_widget .content {  padding-top: 1em; } #partners_widget #pw-logos-holder {  padding: 0; } #partners_widget #pw-logos {  background-size: contain;  padding-bottom:2em; } #partners_widget #pw-logos {  position: static;  display: block; } #partners_widget #pw-logos p {  width: 210px;  margin-left: auto;  margin-right: auto;  margin-top: 20px; } } @media (max-width: 700px) {  #partners_widget_v2 #pw-logos {  max-width: 480px; }  }  @media (max-width: 540px) {   #repair_enquire_widget .content {  padding: 1.5em 0; } #repair_enquire_widget .content form, #repair_enquire_widget .content form .rew_2 {  display: block;  text-align: center; } #repair_enquire_widget .content form .rew_2 p input[type="text"] {  margin-bottom: 0.7em;  } } @media (max-width: 500px) {  #partners_widget_v2 {  background-size: 400px auto;   }  #partners_widget_v2, #partners_widget_v2 .content {  height: 320px; }  #partners_widget_v2 .content h3 {  width:100%;  height: 60px;  top: 60px; }  #partners_widget_v2 #pw-logos {  width: 90vw; } #partners_widget_v2 #pw-logos p, #partners_widget_v2 #pw-logos p img {  width: 140px;  height: 66px;  }  }  body.modal_open { overflow: hidden; } #modal_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000; background-color: rgba(0, 0, 0, 0.65); backdrop-filter: blur(15px) saturate(200%);  transition: opacity 0.8s ease; overflow: hidden; opacity: 0; pointer-events: none; visibility: hidden;  display: flex; align-items: center;  justify-content: center;  } #modal_overlay.active {  visibility: visible; opacity: 1; overflow: auto; pointer-events: auto; } .modal_container { background: #f6f6f6; max-width: 500px; width: 100%; position: relative; } .modal_container .modal_close { position: absolute; top: 15px; right: 15px; width: 32px; height: 32px; background-image: url(../_img/close_x.png); background-position: center center; background-repeat: no-repeat;  cursor: pointer; z-index: 10; } .modal_container .content { display: flex; } .modal_container .content > div { flex: 1; } .modal_container .content .modal_inner { padding: 40px; text-align: center; } .modal_container .content p small { font-size: 0.8em; line-height: 1.4;  display: inline-block; } 