/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #585857;
  font-size: 16px;
  line-height: 1;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #007ebd;
  color: #aee2fa;
  text-shadow: none;
}

::selection {
  background: #007ebd;
  color: #aee2fa;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   The Peterhead Trail
   ========================================================================== */

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  color: #181818;
  background-color: #fff;
}

a {
  text-decoration: none;
  color: #4192c9;
}

img {
  display: block;
  max-width: 100%;
}

ul {
  list-style: none;
}

body, input, textarea {
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

em {
  font-style: normal;
}

strong {
  font-weight: bold;
}

ul, li, p, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

ul {
  list-style: none;
}

.pure-form input[type="text"],
.pure-form input[type="password"],
.pure-form input[type="email"],
.pure-form input[type="url"],
.pure-form input[type="date"],
.pure-form input[type="month"],
.pure-form input[type="time"],
.pure-form input[type="datetime"],
.pure-form input[type="datetime-local"],
.pure-form input[type="week"],
.pure-form input[type="number"],
.pure-form input[type="search"],
.pure-form input[type="tel"],
.pure-form input[type="color"],
.pure-form select,
.pure-form textarea {
  padding: 0 1.25rem;
  font-size: 1.125rem;
  height: 3.5rem;
  display: block;
  -webkit-box-shadow: none;
          box-shadow: none;
  width: 100%;
  vertical-align: middle;
  background-color: transparent;
  border: 0;
  background-color: transparent;
  margin-bottom: 20px;
  border-radius: 0;
  color: #fff
}

.pure-form textarea {
  padding: 14px;
}

.pure-form label {
  font-size: 1rem;
  display: block;
  margin-bottom: 12px;
  text-align: left;
}

.pure-form label.required:after {
  content: ' *';
  color: firebrick;
}

.pure-form .notifications {
  margin-bottom: 20px;
  font-size: 18px;
}

.pure-form .error-message {
  color: #F5A800;
}

.pure-form .success-message {
  color: #94c11f;
}

.pure-form .recaptcha {
  margin-bottom: 20px;
}

::-webkit-input-placeholder {
  color: #767676;
}

::-moz-placeholder {
  color: #767676;
}

:-ms-input-placeholder {
  color: #767676;
}

:-moz-placeholder {
  color: #767676;
}

.container {
  max-width: 1160px; /* 1080px */
  padding: 0 40px;
  margin: 0 auto;
}

.container:before,
.container:after {
  content: "";
  display: table;
  clear: both;
}

.slick-slide > div > div {
  display: block !important;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.75rem 0;
}

.header__branding img {
  width: 140px;
  height: auto;
}

.openNav,
.closeNav {
  display: none;
}

.openNav img,
.closeNav img {
  width: 32px;
  height: auto;
}

.closeNav img {
  width: 32px;
}

.showMobile {
  display: none;
}

header nav ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

header nav ul li {
  display: block;
  font-weight: 500;
}

header nav ul li a {
  display: block;
}

header nav.header__nav__primary ul li {
  font-size: 1.125rem;
  margin-right: 3rem;
}

header nav.header__nav__primary ul li:last-of-type {
  margin-right: 0;
}

header nav.header__nav__primary ul li a {
  color: #181818;
  padding: 9px 0;
  background-color: transparent;
  transition: all 0.25s;
}

header nav.header__nav__primary ul li:first-of-type a {
  background-color: #4192c9;
  color: #fff;
  padding: 9px 12px;
}

header nav.header__nav__primary ul li a:hover {
  color: #4192c9;
  text-decoration: underline;
}

header nav.header__nav__primary ul li:first-of-type a:hover {
  color: #fff;
}

header nav.header__nav__secondary {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 2rem;
}

header nav.header__nav__secondary ul {
  margin-right: 2rem;
}

header nav.header__nav__secondary ul li {
  font-size: 0.875rem;
  margin-right: 1.5rem;
  text-transform: uppercase;
}

header nav.header__nav__secondary ul li:last-of-type {
  margin-right: 0;
}

header nav.header__nav__secondary ul li a {
  transition: all 0.25s;
}

header nav.header__nav__secondary ul li a:hover {
  text-decoration: underline;
}

.social {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.social a {
  display: block;
  margin-right: 1rem;
}

.social a:last-of-type {
  margin-right: 0;
}

.social a svg,
.social a img {
  display: block;
  width: 20px;
  height: 20px;
  transition: all 0.25s;
}

.social a svg {
  fill: #9b9b9b;
}

.social a svg:hover {
  fill: #4192c9;
}

#panels {
  background-repeat: no-repeat, no-repeat;
  background-image: url(/img/bg-1.png), linear-gradient(to right, #4192c9 0, #4192c9 22%, #82b8a3 100%);
  background-size: cover, auto auto;
  margin-top: 4rem;
  position: relative;
}

#panels h1 {
  margin: 3.75rem 0 5.25rem;
  text-align: center;
  font-size: 2.375rem;
  font-weight: 300;
  color: #fff;
}

.panels {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#panels .panels {
  margin-top: -4rem;
}

.panels__column:first-of-type {
  width: calc(57.77777777777777% - 6px); /* 618px */
}

.panels__column:last-of-type {
  width: calc(42.22222222222222% - 6px); /* 450px */
}

.panel__text {
  background-color: #fff;
  padding: 1.25rem 1.5rem;
  position: relative;
  color: #181818;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.panel--feature .panel__text {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 2rem 2.5rem;
}

.panel__text h2 {
  font-size: 2.625rem;
  line-height: 1.125;
  margin-bottom: 1.25rem;
  font-weight: 300;
}

.panel__text h3 {
  font-size: 1.625rem;
  line-height: 1;
  font-weight: 300;
}

.panel__text p {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.75;
  color: #767676;
}

.panel__text .plus {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}

.panel__text .plus svg .cls-1 {
  fill: #4192c9;
}

.panel__text .plus svg .cls-2 {
  fill: #fff;
}

.panels__column:last-of-type .panel {
  margin-bottom: 12px;
}

.panels__column:last-of-type .panel:last-of-type {
  margin-bottom: 0;
}

a.panel__text,
a.panel__text h3,
a.panel__text svg {
  transition: all 0.25s;
}

a.panel__text:hover {
  background-color: #4192c9;
}

a.panel__text:hover h3 {
  color: #fff;
}

a.panel__text svg {
  fill: #4192c9;
}

a.panel__text:hover svg {
  fill: #fff;
}

#panels .scroll,
#blades .scroll {
  position: absolute;
  bottom: -28px;
  left: 50%;
  margin-left: -28px;
}

#panels .scroll .cls-1,
#blades .scroll .cls-1 {
  fill: #fff;
}

#panels .scroll .cls-2,
#blades .scroll .cls-2 {
  fill: #4192c9;
}

#thePeterheadTrail {
  max-width: 1500px;
  margin: 0 auto;
  padding: 4.5rem 0 6.25rem;
  background-position: left 80px top 40px, left bottom, right bottom 80px, right 100px top 140px;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-image: url(/img/bird.svg), url(/img/lighthouse.svg), url(/img/compass.svg), url(/img/lifebuoy.svg);
}

#thePeterheadTrail h2 {
  font-size: 2.375rem;
  line-height: 1.5;
  font-weight: 300;
  text-align: center;
  margin-bottom: 3rem;
}

.thePeterheadTrail {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.thePeterheadTrail__column {
  width: 50%;
  position: relative;
}

.thePeterheadTrail__column:first-of-type {
  width: 43.51851851851852%; /* 470px */
}

.thePeterheadTrail__column:last-of-type {
  margin-bottom: -16rem;
}

.gallerySlider {
  padding-bottom: 6px;
}

.controlButton {
  background: transparent;
  display: block;
  padding: 0;
  border: 0;
  position: absolute;
  bottom: 0;
  right: 0;
}

.gallery .controlButton {
  bottom: -12px;
}

.controlButton svg {
  fill: #fff;
}

.controlButton--prev {
  right: 34px;
}

.gallerySlider__block__image {
  position: relative;
  margin-bottom: 1rem;
}

.gallerySlider__block__image svg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 84px;
  height: 84px;
  margin-left: -42px;
  margin-top: -42px;
  fill: #fff;
}

.gallerySlider__block__caption {
  font-size: 1.125rem;
  color: #fff;
}

a.more {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #4192c9;
  font-size: 1.375rem;
}

a.more span {
  display: block;
  margin-right: 1rem;
}

a.more--reverse span {
  margin-right: 0;
}

a.more svg {
  fill: #4192c9;
}

a.more--reverse svg {
  margin-right: 1rem;
}

#followUs {
  background-repeat: no-repeat, no-repeat;
  background-image: url(/img/bg-1.png), linear-gradient(to right, #82b8a3 0, #4192c9 78%, #4192c9 100%);
  background-size: cover, auto auto;
}

.followUs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#followUs .followUs {
  height: 220px;
}

.followUs h3 {
  color: #fff;
  font-weight: 300;
  font-size: 2rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.followUs h3::after {
  content: ' ';
  width: 92px;
  height: 1px;
  display: block;
  background-color: #fff;
  margin: 0 2rem;
}

.followUs .social a svg {
  fill: #fff;
  width: 28px;
  height: 28px;
}

.followUs .social a svg:hover {
  fill: #fff;
}

#whatsOn {
  padding: 6.25rem 0;
}

.whatsOn {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.whatsOn__heading {
  width: calc(28.14814814814815% - 12px);
  margin-right: 16px;
}

.whatsOn__heading h2 {
  font-size: 3.125rem;
  font-weight: 300;
  margin-bottom: 3rem;
}

.whatsOn__event {
  width: calc(21.48148148148148% - 12px);
  margin-right: 16px;
}

.whatsOn__event--primary {
  width: calc(28.888888888888886% - 12px);
  margin-right: 16px;
}

.whatsOn__event:last-of-type {
  margin-right: 0;
}

.whatsOn__event__image {
  margin-bottom: 1rem;
  position: relative;
}

.whatsOn__event__image span.dateTime {
  position: absolute;
  display: block;
  color: #fff;
  top: 0;
  right: 0;
  background-color: #4192c9;
  text-align: center;
  padding: 0.5rem;
  line-height: 1;
}

.whatsOn__event__image span.dateTime span {
  display: block;
  font-weight: 300;
  text-transform: uppercase;
}

.whatsOn__event__image span.dateTime span:first-of-type {
  font-size: 1.125rem;
}

.whatsOn__event__image span.dateTime span:last-of-type {
  font-size: 1.75rem;
}

.whatsOn__event h3 {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
}

.whatsOn__event h3 a {
  color: #181818;
  transition: 0.25s;
}

.whatsOn__event h3 a:hover {
  color: #4192c9;
  text-decoration: underline;
}

#latest {
  padding: 5rem 0 6.25rem;
  background-position: auto auto, auto auto;
  background-repeat: no-repeat, no-repeat;
  background-image: url(/img/bg-1.png), linear-gradient(to right, #4192c9 0, #4192c9 22%, #82b8a3 100%);
  background-size: cover, auto auto;
}

.latest__heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem;
}

.latest__heading h2 {
  font-size: 3.125rem;
  color: #fff;
  font-weight: 300;
}

.latest__heading a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #fff;
  font-size: 1.375rem;
}

.latest__heading a span {
  display: block;
  margin-right: 1rem;
}

.latest__heading a svg {
  fill: #fff;
}

.grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  grid-gap: 16px;
}

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

.grid__item__text {
  position: relative;
  background-color: #fff;
  padding: 1.5rem;
  min-height: 200px;
}

.grid__item__text .plus {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}

.grid__item__text .plus svg .cls-1 {
  fill: #4192c9;
}

.grid__item__text .plus svg .cls-2 {
  fill: #fff;
}

.grid__item__text h4 {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 0.75rem;
  color: #9b9b9b;
}

.grid--whatToDo .grid__item__text h4 {
  color: #181818;
}

.grid--whatToDo .grid__item__text h4 em {
  color: #4192c9;
}

.grid__item__text h3 {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.5;
}

.grid--whatToDo .grid__item__text h3 {
  margin-bottom: 1rem;
  min-height: 77px;
}

.grid__item__text h3 a {
  color: #181818;
  transition: all 0.25s;
}

.grid__item__text h3 a:hover {
  color: #4192c9;
  text-decoration: underline;
}

.body h1,
.body h2 {
  font-size: 2.375rem;
  font-weight: 300;
  line-height: 1.25;
  margin-bottom: 1.5rem;
}

.body h3 {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1.25rem;
}

.body h4 {
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}

.body h4 a {
  font-weight: 700;
}

.body p {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
  margin-bottom: 1.75rem;
}

.body p a {
  text-decoration: underline;
}

.body ul {
  margin: 0 0 1.75rem 40px;
  list-style-type: disc;
}

.body ul li,
.body ol li {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
  margin-bottom: 4px;
}

.body ul li:last-of-type,
.body ol li:last-of-type {
  margin-bottom: 0;
}

.body ul li a,
.body ol li a {
  text-decoration: underline;
}

.banner {
  height: 248px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-position: auto auto, auto auto;
  background-repeat: no-repeat, no-repeat;
  background-image: url(/img/bg-1.png), linear-gradient(to right, #4192c9 0, #4192c9 22%, #82b8a3 100%);
  background-size: cover, auto auto;
}

.banner h1,
.banner h2 {
  font-size: 2.375rem;
  font-weight: 300;
  color: #fff;
  text-transform: uppercase;
}

.breadcrumb {
  background-color: #efefef;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  padding: 0.875rem 0;
  word-spacing: 0.25rem;
  color: #9b9b9b;
  margin-bottom: 4rem;
}

.breadcrumb a,
.breadcrumb span {
  word-spacing: normal;
}

.breadcrumb a {
  color: #9b9b9b;
  transition: all 0.25s;
}

.breadcrumb a:hover {
  color: #4192c9;
}

.breadcrumb span {
  color: #4192c9;
}

.post__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-bottom: 4rem;
  margin-bottom: 4rem;
  text-align: center;
  border-bottom: 1px solid #e7e7e7;
}

.post__heading h3 {
  font-weight: 500;
  color: #4192c9;
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
}

.post__heading h1 {
  font-size: 2.375rem;
  line-height: 1.25;
  font-weight: 300;
  max-width: 720px;
  margin: 0 auto 2rem;
}

.post__main {
  max-width: 800px;
  margin: 0 auto 4rem;
}

.post__gallery {
  margin-bottom: 4rem;
}

.gallery__item img {
  margin-bottom: 1rem;
}

.gallery__item__caption {
  font-size: 1.125rem;
  color: #4192c9;
}

.blocks__block .text {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 4rem;
  text-align: center;
}

#blog,
#whatToDo,
#whereToStay {
  background-repeat: no-repeat, no-repeat;
  background-image: url(/img/bg-1.png), linear-gradient(to right, #4192c9 0, #4192c9 22%, #82b8a3 100%);
  background-size: cover, auto auto;
  margin-top: 240px;
  position: relative;
  padding-bottom: 6.25rem;
}

#blog .grid,
#whatToDo .grid,
#whereToStay .grid {
  margin-top: -200px;
}

#blog .grid__item__text,
#whatToDo .grid__item__text,
#whereToStay .grid__item__text {
  background-color: #efefef;
}

.whatToDo__columns {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4rem;
}

.whatToDo__columns__column:first-of-type {
  width: 42.592592592592595%; /* 460px */
}

.whatToDo__columns__column:last-of-type {
  width: 50%; /* 540px */
}

.whatToDo__columns__column:first-of-type .body h2 {
  margin-bottom: 3rem;
}

.contactBlocks {
  margin-bottom: 1rem;
}

.contactBlocks li {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 500;
  color: #767676;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0.75rem;
}

.contactBlocks li:last-of-type {
  margin-bottom: 0;
}

.contactBlocks li span:first-of-type {
  width: 56px;
  height: 56px;
  background-color: #4192c9;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contactBlocks li span:last-of-type {
  background-color: #efefef;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #767676;
  height: 56px;
  padding: 0 1.25rem;
  flex-grow: 1;
}

.contactBlocks li span a {
  color: #767676;
}

.contactBlocks li span svg {
  fill: #fff;
}

#gallery {
  background-repeat: no-repeat, no-repeat;
  background-image: url(/img/bg-1.png), linear-gradient(to right, #4192c9 0, #4192c9 22%, #82b8a3 100%);
  background-size: cover, auto auto;
  margin-top: 340px;
  position: relative;
  padding-bottom: 4rem;
}

#gallery .gallery {
  position: relative;
  margin-top: -300px;
}

#gallery .gallery__item__caption {
  color: #fff;
}

.prices {
  padding: 2rem;
  border: 1px solid #e7e7e7;
  margin-bottom: 2rem;
}

.prices h3 {
  font-size: 1.125rem;
  line-height: 1.375;
  font-weight: bold;
  color: #1e2055;
  margin-bottom: 1rem;
}

.prices li {
  font-size: 1.125rem;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}

.prices li:last-of-type {
  margin-bottom: 0;
}

.prices li strong {
  color: #4192c9;
}

.textColumns {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4rem;
}

.textColumns__column:first-of-type {
  width: 26.851851851851855%; /* 290px */
}

.textColumns__column:last-of-type {
  width: 69.44444444444444%; /* 750px */
}

hr.separator {
  border-top: 1px solid #e7e7e7;
  margin: 0 0 4rem;
}

.logos {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 20px;
}

.logos__logo {
  border: 1px solid #e7e7e7;
  padding: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.logos__logo a {
  display: block;
  width: 100%;
}

.logos__logo a img {
  width: 100%;
  height: auto;
}

.graphicsWrapper {
  max-width: 1500px;
  margin: 0 auto;
  background-position: left 80px top 40px, left 40px bottom, right 40px top, right 100px bottom 180px;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-image: url(/img/bird.svg), url(/img/lighthouse.svg), url(/img/compass.svg), url(/img/lifebuoy.svg);
}

.startTheTrail {
  text-align: center;
  padding-bottom: 340px;
}

#thePeterheadTrailMap {
  background-repeat: no-repeat, no-repeat;
  background-image: url(/img/bg-1.png), linear-gradient(to right, #4192c9 0, #4192c9 22%, #82b8a3 100%);
  background-size: cover, auto auto;
  position: relative;
  padding-bottom: 6.25rem;
}

#thePeterheadTrailMap .theMap {
  margin: -300px 0 4rem;
}

#thePeterheadTrailMap .followUs {
  justify-content: center;
}

#blades {
  background-position: auto auto, auto auto;
  background-repeat: no-repeat, no-repeat;
  background-image: url(/img/bg-1.png), linear-gradient(to right, #4192c9 0, #4192c9 22%, #82b8a3 100%);
  background-size: cover, auto auto;
  margin-top: 4rem;
  position: relative;
}

#blades h2 {
  margin: 3.75rem 0 5.25rem;
  text-align: center;
  font-size: 2.375rem;
  font-weight: 300;
  color: #fff;
}

.blades {
  margin-top: -4rem;
  position: relative;
}

.blades__nav {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 48px;
  z-index: 9000;
}

.blades__nav ul {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.blades__nav ul li {
  display: block;
  margin-right: 1rem;
}

.blades__nav ul li:last-of-type {
  margin-right: 0;
}

.blades__nav ul li a {
  display: block;
  border: 1px solid transparent;
  padding: 4px;
  border-radius: 11px;
}

.blades__nav ul li a span {
  display: block;
  font-size: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  width: 12px;
  height: 12px;
  background-color: #dbdbdb;
  border-radius: 6px;
  transition: all 0.25s;
}

.blades__nav ul li.here a {
  border-color: #4192c9;
}

.blades__nav ul li.here a span,
.blades__nav ul li a:hover span {
  background-color: #4192c9;
}

.blades__text {
  background-color: #fff;
  min-height: 320px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.blades__text__control {
  width: 25.925925925925924%; /* 280px */
  height: 320px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.blades__text__control p {
  font-size: 1rem;
  line-height: 1.5;
  color: #767676;
  font-weight: 300;
  max-width: 200px;
  margin: 0 auto;
}

.blades__text__control p strong {
  text-transform: uppercase;
  color: #4192c9;
  font-weight: 700;
  font-size: 0.875rem;
}

.blades__text__control a {
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -28px;
  transition: all 0.25s;
}

.blades__text__control--prev a {
  left: -28px;
}

.blades__text__control--prev a:hover {
  left: -36px;
}

.blades__text__control--next a {
  right: -28px;
}

.blades__text__control--next a:hover {
  right: -36px;
}

.blades__text__control a svg {
  width: 56px;
  height: 56px;
}

.blades__text__control a .cls-1,
.blades__text__control a .cls-1 {
  fill: #fff;
}

.blades__text__control a .cls-2,
.blades__text__control a .cls-2 {
  fill: #4192c9;
}

.blades__text__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 48.148148148148145%; /* 520px */
  text-align: center;
}

.blades__text h4,
.body.heading h4 {
  background-color: #4192c9;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  padding: 8px 0;
  width: 180px;
  text-align: center;
  margin: -16px 0 2rem;
}

.heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 4rem 0 1rem;
  text-align: center;
}

.body.heading h4 {
  margin-top: 0;
}

.blades__text h5 {
  font-size: 1.125rem;
  font-weight: 300;
  color: #767676;
  margin-bottom: 1.5rem;
}

.blades__text h5 strong {
  color: #4192c9;
}

.map-button {
  background-color: #4192c9;
  color: #fff;
  display: block;
  font-weight: 500;
  padding: 6px 12px;
  font-size: 0.875rem;
  border-radius: 13px;
}

.columns__block {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #e7e7e7;
  margin-bottom: 4rem;
  padding-bottom: 4rem;
}

.columns__block:last-of-type {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.columns__block__column {
  width: 48.148148148148145%; /* 520px */
}

.images__image {
  margin-bottom: 1.5rem;
}

.images__image:last-of-type {
  margin-bottom: 0;
}

.images__image img {
  width: 100%;
  max-width: 450px;
  margin-bottom: 0.75rem;
}

.images__image__caption {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #4192c9;
}












footer {
  padding: 5rem 0;
}

.footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 5rem;
}

.footer__column:last-of-type {
  min-width: 540px;
}

.footer__column h3 {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 1rem;
  color: #9b9b9b;
}

.footer__column li,
.footer__column p {
  font-size: 1rem;
  line-height: 1.75;
}

.footer__column li a {
  color: #181818;
  transition: all 0.25s;
}

.footer__column li a:hover {
  color: #4192c9;
  text-decoration: underline;
}

.footer__column p {
  margin-bottom: 1.5rem;
  word-spacing: 1rem;
}

.footer__column p a {
  color: #181818;
  word-spacing: normal;
}

.footer__column p a[href^="mailto:"] {
  color: #4192c9;
}

.footer__column p a:hover {
  text-decoration: underline;
}

.newsletter {
  margin-bottom: 2rem;
}

.newsletter label {
  font-size: 1rem;
  display: block;
  margin-bottom: 0.75rem;
}

.newsletter label strong {
  color: #4192c9;
}

.newsletter__row {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.newsletter__row input[type=email] {
  background-color: #e7e7e7;
  height: 48px;
  padding: 0 16px;
  color: #181818;
  font-size: 1rem;
  border: 1px solid #e7e7e7;
  margin: 0 8px 0 0;
}

.newsletter__row input[type=email]:focus {
  outline: none;
  border: 1px solid #4192c9;
  background-color: #fff;
}

.newsletter__row button {
  height: 48px;
  background-color: #4192c9;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  display: block;
  text-align: center;
  border: 0;
  padding: 0 16px;
  vertical-align: middle;
  line-height: normal;
}

.bottom {
  border-top: 1px solid #e7e7e7;
  padding-top: 2.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.bottom__copyright {
  width: 50%;
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 500;
  color: #9b9b9b;
}

.bottom__legal {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: 50%;
}

.bottom__legal ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.bottom__legal ul li {
  display: block;
  margin-right: 1.75rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 500;
}

.bottom__legal ul li:last-of-type {
  margin-right: 0;
}

.bottom__legal ul li a {
  color: #9b9b9b;
  transition: all 0.25s;
}

.bottom__legal ul li a:hover {
  color: #4192c9;
  text-decoration: underline;
}

.footerEmail span:last-of-type {
  display: none;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers:
 */

.hidden {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *  `contenteditable` attribute is included anywhere else in the document.
 *  Otherwise it causes space to appear at the top and bottom of elements
 *  that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *  `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
     (-webkit-min-device-pixel-ratio: 1.25),
     (-o-min-device-pixel-ratio: 5/4),
     (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster:
                   http://www.sanbeiji.com/archives/953 */
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
