/* $Id$ */

/* Copyright Psand Limited 2013 */
/*Mixins*/
#layout-2 #home .swiper-container {
  width: auto;
  margin-left: -0.9375em;
  margin-right: -0.9375em;
  margin-top: 0;
  margin-bottom: 0;
  max-width: none;
  *zoom: 1;
}
#layout-2 #home .swiper-container:before, #layout-2 #home .swiper-container:after {
  content: " ";
  display: table;
}
#layout-2 #home .swiper-container:after {
  clear: both;
}

.sub-modules.grid-style .columns {
  position: relative;
  padding-left: 0.9375em;
  padding-right: 0.9375em;
  float: left;
}

/*=================================
Start Global styles
===================================*/
/*Default list styles*/
ul,
ol {
  padding-left: 1.42857em;
}

.uppercase {
  text-transform: uppercase;
}

/*Default table styles*/
table {
  margin-bottom: 20px;
  width: 100%;
}

table td {
  padding: 5px;
}

table thead {
  font-weight: bold;
}

/*********************************/
/*Start hero banner swiper styles*/
/*********************************/
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  -webkit-transition-property: -webkit-transform, left, top;
  -webkit-transition-duration: 0s;
  -webkit-transform: translate3d(0px, 0, 0);
  -webkit-transition-timing-function: ease;
  -moz-transition-property: -moz-transform, left, top;
  -moz-transition-duration: 0s;
  -moz-transform: translate3d(0px, 0, 0);
  -moz-transition-timing-function: ease;
  -o-transition-property: -o-transform, left, top;
  -o-transition-duration: 0s;
  -o-transform: translate3d(0px, 0, 0);
  -o-transition-timing-function: ease;
  -o-transform: translate(0px, 0px);
  -ms-transition-property: -ms-transform, left, top;
  -ms-transition-duration: 0s;
  -ms-transform: translate3d(0px, 0, 0);
  -ms-transition-timing-function: ease;
  transition-property: transform, left, top;
  transition-duration: 0s;
  transform: translate3d(0px, 0, 0);
  transition-timing-function: ease;
}

.swiper-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -moz-transition-timing-function: ease-out;
  -ms-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  float: left;
}

/* IE10 Windows Phone 8 Fixes */
.swiper-wp8-horizontal {
  -ms-touch-action: pan-y;
}

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
}

/*Custom styles*/
.swiper-container {
  margin-bottom: 10px;
}

.swiper-slide {
  position: relative;
}

.swiper-slide a {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

.swiper-slide a:hover {
  text-decoration: none;
}

.banner-text {
  position: absolute;
  padding: 2%;
  background: rgba(0, 0, 0, 0.4);
  left: 1%;
  top: 5%;
}

.banner-text .banner-headline,
.banner-text .banner-strapline {
  line-height: 1;
}

.single-image .swiper-slide {
  float: none;
}

.single-image .swiper-slide img {
  width: 100%;
}

/*Pagination Styles*/
.pagination {
  position: absolute;
  z-index: 20;
  right: 5px;
  bottom: 8px;
}

.swiper-pagination-switch {
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 12px;
  margin-right: 5px;
  cursor: pointer;
}

/*******************************/
/*End hero banner swiper styles*/
/*******************************/
/*Link styles*/
a:hover {
  text-decoration: underline;
}

.button:hover {
  text-decoration: none;
}

.cta-button {
  display: inline-block;
  padding: 5px 22px 5px 7px;
}

/*Cookie notification styles*/
.cookie-notification {
  padding-top: 5px;
  padding-bottom: 5px;
}

.cookie-notification p {
  margin-bottom: 0;
  float: left;
  width: 95%;
}

.cookie-close {
  float: right;
  cursor: pointer;
}

/*Header styles*/
header .row {
  padding-bottom: 5px;
}

header .row:first-child {
  padding-top: 20px;
}

header .dealer-logo {
  display: inline;
  font-size: 1em;
}

header .dealer-logo img {
  float: left;
  margin-right: 1.07143em;
}

.phone {
  margin-top: 6px;
}

.phone img {
  margin-right: 5px;
}

.small-screen-nav-toggle {
  display: block;
  float: right;
  margin-top: 5px;
  margin-left: 5px;
  margin-bottom: 5px;
}

.small-screen-nav-toggle-text {
  font-size: 1.3em;
  padding-right: 10px;
  display: inline-block;
  vertical-align: middle;
}

.small-screen-nav-toggle img {
  vertical-align: middle;
}

/*Footer styles*/
footer .row {
  padding: 20px 0;
}

footer span {
  line-height: 1.6;
}

footer p {
  margin-bottom: 5px;
}

footer ul {
  padding-left: 0;
  margin-bottom: 0;
}

/*Misc styles*/
.for-screen-readers {
  position: absolute;
  left: -999em;
}

footer .lang-list {
  list-style: none;
  margin-bottom: 0;
}

footer .lang-list ul {
  display: inline-block;
  margin-left: 0;
}

footer .lang-list li {
  display: inline-block;
}

footer .lang-list li span {
  border-left: 1px solid #3f95cf;
  padding-right: 0.35714em;
  padding-left: 0.7em;
}

footer .lang-list li:first-child span {
  border: none;
  padding-left: 0;
}

footer .lang-list a.selected {
  color: white;
  text-decoration: none;
  pointer-events: none;
}

footer .lang-list li:last-child a {
  padding-right: 0;
}

.align-right {
  text-align: right;
}

.align-centre {
  text-align: center;
}

.align-top {
  vertical-align: top;
}

.align-bottom {
  vertical-align: bottom;
}

.browser-alert-box {
  margin: 10px auto;
  padding: 10px;
  width: 60%;
  background-color: #FCF8E3;
  border: 1px solid #F5DD89;
  text-align: center;
}

.browser-alert-box p {
  margin-bottom: 0;
}
.single-image {
  margin-bottom: 20px;
}

/*=================================
End global styles
===================================*/
/*=================================
Start homepage specific styles
===================================*/
/*Banner styles*/
#home .banner-text .banner-headline {
  font-size: 2em;
  /*Fall back*/
  font-size: 3vw;
  margin-bottom: 2%;
}

#home .banner-text .banner-strapline {
  font-size: 1.8em;
  /*Fall back*/
  font-size: 1.5vw;
  margin-bottom: 3%;
}

/*Module styles*/
.modules img {
  margin-bottom: 10px;
  margin-top: 10px;
}

.modules.primary .wrapper {
  padding-bottom: 20px;
  padding-top: 20px;
}

.touch .primary .wrapper:hover {
  background: inherit !important;
}

.modules.primary img {
  float: right;
}

.modules.primary h2 {
  font-size: 1.7em;
  font-weight: 300;
  margin-top: 0;
}

.modules.primary .cta-link {
  float: right;
  text-decoration: underline;
  font-weight: normal;
}

.modules.secondary {
  padding-bottom: 30px;
  padding-top: 30px;
}

.modules.secondary h2 {
  font-size: 1.2em;
}

.modules .image-only {
  margin-top: 10px;
}

.modules .image-only img {
  margin: 0 5px auto;
  display: block;
}

#home .swiper-container {
  margin-bottom: 0;
}

/*Accreditations styles*/
.accreditations ul {
  list-style: none;
  overflow: hidden;
  padding-left: 0;
}

.accreditations ul li {
  display: inline-block;
  margin-right: 2.5em;
  margin-bottom: 10px;
}

/*=================================
End homepage specific styles
===================================*/
/*=================================
Start template styles
===================================*/
/*Banner styles*/
.banner-text .banner-headline {
  font-size: 2em;
  /*Fall back*/
  font-size: 3vw;
  margin-bottom: 2%;
}

.banner-text .banner-strapline {
  font-size: 1.8em;
  /*Fall back*/
  font-size: 1.5vw;
  margin-bottom: 3%;
}

/*Misc styles*/
.no-bullet {
  padding-left: 0;
}

.side-wrapper {
  float: right;
  width: 50%;
  margin-left: 20px;
}

.side-wrapper img {
  margin-bottom: 20px;
}

/******************************/
/*Start global template styles*/
/******************************/
.templates section,
.templates article {
  padding-top: 10px;
}

.templates section h2,
.templates article h2 {
  font-size: 1.8em;
}

.templates section h3,
.templates article h3 {
  font-size: 1.5em;
}

.templates section h4,
.templates article h4 {
  font-size: 1.35em;
}

/*Side column styles*/
aside {
  padding-top: 10px;
}

aside h3 {
  font-size: 1.2em;
  margin-top: 0;
}

aside p {
  font-size: 0.85em;
  line-height: 1.1;
}

.row aside .module {
  margin-bottom: 10px;
  padding: 0.9375em;
}

.touch .row aside .module:hover {
  background: inherit;
  color: inherit;
}

.touch .row aside .module:hover h3 {
  color: inherit;
}

aside img {
  margin-top: 5px;
  margin-bottom: 10px;
  float: right;
}

aside .cta-button {
  background-image: none;
  padding: 5px 7px;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.8em;
}

/****************************/
/*End global template styles*/
/****************************/
/*Table styles*/
.table-style-1 {
  width: 100%;
  margin-bottom: 40px;
}

.table-style-1 th,
.table-style-1 td {
  padding: 5px;
}

.table-style-1 thead {
  background: none;
}

.table-style-1 thead th {
  text-align: left;
}

.table-style-1 tbody td {
  border-top: none;
  border-left: none;
  border-right: none;
}

.table-style-2 {
  width: auto;
}

.table-style-2 th,
.table-style-2 td {
  padding: 2px 5px;
  border: none;
}

.table-style-2 th {
  text-align: left;
}

table {
  border: none;
  background: none;
}

table tr:nth-of-type(2n) {
  background: none;
}

/*Small print*/
.small {
  font-size: 0.85em;
  margin-bottom: 5px;
}

/*Gallery styles*/
.galleria {
  width: 100%;
  margin-bottom: 20px;
}

/*Brochure links list*/
.templates .links-list h3 {
  font-size: 1em;
}

/*Sub module styles*/
.sub-modules {
  font-size: 0.85em;
}

.templates .sub-modules h3 {
  font-size: 1.175em;
}

.sub-modules p {
  margin-bottom: 10px;
}

/**************************************************/
/*Start grid and list style sub page module styles*/
/**************************************************/
/*Grid style*/
.sub-modules.grid-style img {
  margin-bottom: 10px;
}

.sub-modules.grid-style p {
  max-width: 17em;
}

.sub-modules.grid-style .columns {
  margin-bottom: 20px;
}

/*List style*/
.sub-modules.list-style .row {
  margin-bottom: 20px;
}

.sub-modules.list-style img {
  margin-top: 10px;
  margin-bottom: 10px;
}

.list-style .cta-link {
  float: none !important;
}

/************************************************/
/*End grid and list style sub page module styles*/
/************************************************/
.products .grid-style .columns {
  min-height: 155px;
}

/*Shared template styles*/
.template-3 .frame,
.template-5 .frame,
.template-7 .frame {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.template-2 .cta-link,
.template-5 .cta-link,
.template-10 .cta-link {
  float: right;
}

.template-5 .frame,
.template-12 .frame {
  margin-top: 10px;
  margin-bottom: 20px;
}

/*Template-5 styles*/
.template-5 .sub-modules {
  position: relative;
}

/*Template-7 styles*/
.template-7 article h3 {
  margin-bottom: 0;
}

/*Contact us page*/
.google-maps {
  width: 80%;
  height: 500px;
  margin-top: 20px;
}

.google-maps *,
.google-maps *:before,
.google-maps *:after {
  -moz-box-sizing: content-box !important;
  -webkit-box-sizing: content-box !important;
  box-sizing: content-box !important;
}

.google-maps img {
  max-width: none;
}

.google-maps label {
  width: auto;
  display: inline;
}

.map-link {
  margin-top: 10px;
  margin-bottom: 60px;
}

#contact-us_home section h4 {
  font-size: 1em;
}

#contact-us_home #address {
  min-height: 100px;
}

#contact-us_home #message {
  min-height: 200px;
}

/*=================================
End template styles
===================================*/
/*=================================
Start media query styles
===================================*/
/*Styles for screens of 1200px wide and above*/
/*@media only screen and (min-width: 1200px) {*/
/*Replaced by foundation large up mq*/
@media screen and (min-width: 64em) {
  #home .banner-text .banner-headline,
  .banner-text .banner-headline {
    font-size: 38px;
  }

  #home .banner-text .banner-strapline,
  .banner-text .banner-strapline {
    font-size: 22px;
  }

  /*The following is to make sure footer top border is shown */
  [data-equalizer="main"] {
    overflow: hidden;
  }
}

/*Styles for screens of 769px wide and above*/
/*@media only screen and (min-width: 769px) {*/
/*Replaced by foundation medium up mq*/
@media screen and (min-width: 40em) {
  footer .last-column {
    text-align: right;
  }

  .small-screen-nav-wrapper {
    display: none;
  }
}
/*ipad portrait styles*/
/*@media only screen and (max-width: 768px) {
  #big-screen-nav {
    display: none;
  }
}*/
/*Styles for screens below 767px wide (Foundation grid changes here)*/
/*@media only screen and (max-width: 767px) {*/
/*Replaced by foundation medium down mq*/
@media screen and (max-width: 63.9375em) {
  footer .address-block {
    padding-top: 20px;
    padding-bottom: 10px;
  }

  footer .no-bullet {
    margin: 20px 0;
  }

  .modules.secondary .wrapper {
    margin-bottom: 20px;
  }

  .small-screen-nav-wrapper {
    display: block;
  }

  #big-screen-nav {
    display: none;
  }

  .banner-text {
    position: static;
  }

  #home .banner-text .banner-headline,
  .banner-text .banner-headline {
    font-size: 1.5em;
  }

  #home .banner-text .banner-strapline,
  .banner-text .banner-strapline {
    font-size: 1.2em;
    margin-bottom: 10px;
  }

  .primary .wrapper:last-child {
    border-bottom: none;
  }

  .primary .sub-wrapper,
  .secondary .sub-wrapper,
  .eq-height {
    height: auto !important;
  }

  .sub-modules.grid-style p {
    max-width: none;
  }

  .cta-link {
    float: none !important;
  }

  .frame {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  aside img {
    float: none;
  }

  .google-maps {
    width: 95%;
  }

  .swiper-container {
    margin-bottom: 20px;
  }

  .side-wrapper {
    float: none;
    width: auto;
    margin-left: 0;
  }

  header.row {
    padding-bottom: 10px;
  }

  footer .row {
    padding: 0;
  }

  footer .last-column {
    padding-top: 0;
  }
  /*Responsive tables http://zurb.com/playground/responsive-tables*/
  table.responsive {
    margin-bottom: 0;
  }
  .pinned {
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    width: 35%;
    overflow: hidden;
    overflow-x: scroll;
    border-right: 1px solid #2D6998;
    border-left: 1px solid #2D6998;
  }
  .pinned table {
    border-right: none;
    border-left: none;
    width: 100%;
    margin-bottom: 0;
  }
  .pinned table th,
  .pinned table td {
    white-space: nowrap;
    border-right: none;
  }
  .pinned td:last-child {
    border-bottom: 0;
  }
  div.table-wrapper {
    position: relative;
    margin-bottom: 20px;
    overflow: hidden;
    border-right: 1px solid #2D6998;
    border-bottom: 1px solid #2D6998;
  }
  div.table-wrapper div.scrollable {
    margin-left: 35%;
  }
  div.table-wrapper div.scrollable {
    overflow: scroll;
    overflow-y: hidden;
  }
  .table-wrapper table td {
    border-top: 1px solid #2D6998;
    border-bottom: none;
    border-bottom: none;
    border-left: none;
  }
  table.responsive td,
  table.responsive th {
    position: relative;
    white-space: nowrap;
    overflow: hidden;
  }
  table.responsive th:first-child,
  table.responsive td:first-child,
  table.responsive td:first-child,
  table.responsive.pinned td {
    display: none;
  }
}
/*Styles for screens below 320px wide*/
/*@media only screen and (max-width: 320px) {*/
/*Replaced by foundation small only mq*/
@media screen and (max-width: 39.9375em) {
  .swiper-container {
    display: none !important;
  }

  .google-maps {
    height: 200px;
  }

  .modules .sub-wrapper div {
    width: 100%;
  }

  .modules .sub-wrapper p {
    margin-bottom: 0;
  }

  .modules .cta-button {
    margin-top:0.5em;
  }

  .modules .sub-wrapper img {
    float: none;
  }
}
/*=================================
End media query styles
===================================*/
