/*
Theme Name: BrookBarn Boarding
Author: Robert Holden
Author URI: https://iamrobert.co.uk
Version: 0.0.1
*/
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700;800&display=swap");
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* Remove default padding */
ul[class],
ol[class] {
  padding: 0; }

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
  font-weight: normal; }

/* Set core body defaults */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.4; }

/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
  list-style: none; }

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto; }

/* Make images easier to work with */
img {
  max-width: 100%; }

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em; }

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit; }

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    -o-transition-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important; } }

button,
a {
  -webkit-transition: ease 0.35s;
  -o-transition: ease 0.35s;
  transition: ease 0.35s; }

div,
section,
main {
  position: relative; }

h1,
h2,
h3,
h4,
h5 {
  color: #dd3a66; }

.flex, .flex-row, .flex-row-align, .panels, .service-feature, .service-item h3, header .container, .flex-row-centre, header .links, section.info .title .separator, section.featured .overlay .buttons, .flex-col, .flex-col-centre, .service-grid .service > i, section.featured .overlay, section.info .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flex-row, .flex-row-align, .panels, .service-feature, .service-item h3, header .container, .flex-row-centre, header .links, section.info .title .separator, section.featured .overlay .buttons {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start; }

.flex-col, .flex-col-centre, .service-grid .service > i, section.featured .overlay, section.info .title {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.flex-shrink-1 {
  -ms-flex-negative: 1;
  flex-shrink: 1; }

.flex-shrink-0 {
  -ms-flex-negative: 0;
  flex-shrink: 0; }

.flex-grow-1, .flex-spacer {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1; }

.flex-grow-0 {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0; }

.flex-just, .flex-centre, .flex-row-centre, header .links, section.info .title .separator, .flex-col-centre, .service-grid .service > i, section.featured .overlay, section.info .title {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.flex-align, .flex-centre, .flex-row-align, .panels, .service-feature, .service-item h3, header .container, .flex-row-centre, header .links, section.info .title .separator, .flex-col-centre, .service-grid .service > i, section.featured .overlay, section.info .title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.mt-a {
  margin-top: auto !important; }

.mr-a {
  margin-right: auto !important; }

.mb-a {
  margin-bottom: auto !important; }

.ml-a {
  margin-left: auto !important; }

.mt {
  margin-top: 15px !important; }

.mr {
  margin-right: 15px !important; }

.mb, .panels .panel p:not(:last-child) {
  margin-bottom: 15px !important; }

.ml {
  margin-left: 15px !important; }

.my {
  margin-top: 15px !important;
  margin-bottom: 15px !important; }

.mx {
  margin-right: 15px !important;
  margin-left: 15px !important; }

.my-a {
  margin-top: auto !important;
  margin-bottom: auto !important; }

.mx-a {
  margin-right: auto !important;
  margin-left: auto !important; }

.m-0 {
  margin: 0 !important; }

.p {
  padding: 15px !important; }

.py {
  padding-top: 15px !important;
  padding-bottom: 15px !important; }

.px, .container {
  padding-right: 15px !important;
  padding-left: 15px !important; }

.ta-l {
  text-align: left !important; }

.ta-c {
  text-align: center !important; }

.ta-r {
  text-align: right !important; }

.btn, .btn-alt {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  background-color: #dd3a66;
  color: #fff;
  border-color: #dd3a66;
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  border-radius: 35px;
  padding: 14px 48px; }
  .btn:hover, .btn-alt:hover {
    cursor: pointer;
    background-color: #fff;
    color: #dd3a66; }
    .btn:hover:not(.no-border), .btn-alt:hover:not(.no-border) {
      border-color: #dd3a66; }
    .btn:hover.no-border, .btn-alt:hover.no-border {
      border-color: #fff; }

.btn-alt {
  background-color: transparent;
  border-color: #fff; }
  .btn-alt:hover {
    background-color: #dd3a66;
    color: #fff; }

.container {
  width: 100%;
  max-width: 1200px;
  margin: auto; }

main {
  min-height: calc(100vh - 175px); }

.panels {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .panels .panel {
    width: 45%;
    -ms-flex-negative: 0;
    flex-shrink: 0; }
    .panels .panel:first-child {
      margin-right: auto; }
    .panels .panel p {
      font-size: 1.1em; }
  @media only screen and (max-width: 782px) {
    .panels {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      .panels .panel {
        width: 100%; }
        .panels .panel:first-child {
          margin-bottom: 50px; } }

.reviews {
  width: 100%; }
  .reviews .review-content {
    max-width: 768px;
    margin: auto;
    background: #f5f5f5;
    padding: 25px; }
    .reviews .review-content > i {
      display: block;
      width: 50px;
      font-size: 48px;
      opacity: 0.5;
      margin: auto; }
    .reviews .review-content p {
      margin-top: 15px; }
    .reviews .review-content .author {
      font-weight: 500;
      color: #dd3a66; }
    .reviews .review-content:not(:last-child) {
      margin-bottom: 25px; }

.service-feature > i {
  display: inline-block;
  width: 50px;
  font-size: 28px;
  color: #dd3a66;
  -ms-flex-negative: 0;
  flex-shrink: 0; }

.service-feature h3 {
  font-weight: 500;
  margin-bottom: 5px;
  color: #dd3a66; }

.service-feature:not(:last-child) {
  margin-bottom: 40px; }

.service-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto auto auto auto;
  grid-template-columns: auto auto auto auto;
  grid-gap: 15px; }
  @media only screen and (max-width: 975px) {
    .service-grid {
      -ms-grid-columns: auto auto;
      grid-template-columns: auto auto; } }
  @media only screen and (max-width: 500px) {
    .service-grid {
      -ms-grid-columns: auto;
      grid-template-columns: auto; } }
  .service-grid .service {
    top: 0;
    background: #fff;
    text-align: center;
    padding: 25px 15px;
    -webkit-transition: ease 0.35s;
    -o-transition: ease 0.35s;
    transition: ease 0.35s; }
    .service-grid .service h4,
    .service-grid .service > i,
    .service-grid .service p {
      -webkit-transition: ease 0.35s;
      -o-transition: ease 0.35s;
      transition: ease 0.35s; }
    .service-grid .service > i {
      width: 65px;
      height: 65px;
      margin: auto;
      font-size: 34px;
      background: #dd3a66;
      color: #fff;
      border-radius: 50%; }
    .service-grid .service h4 {
      margin: 20px 0;
      font-weight: 500;
      font-size: 16px; }
    .service-grid .service p {
      display: inline-block;
      border-radius: 34px;
      padding: 5px 10px;
      color: #555;
      border: 1.25px solid #555;
      font-size: 12px; }
    .service-grid .service:hover {
      top: -5px;
      background: #dd3a66;
      color: #fff;
      cursor: pointer; }
      .service-grid .service:hover > i {
        background: #fff;
        color: #dd3a66; }
      .service-grid .service:hover h4 {
        color: #fff; }
      .service-grid .service:hover p {
        color: #dd3a66;
        border-color: #fff;
        background-color: #fff; }

.service-item {
  background: #fff;
  padding: 25px;
  margin-bottom: 25px; }
  .service-item h3 {
    font-size: 22px;
    color: #dd3a66;
    margin-bottom: 15px; }
    .service-item h3 i {
      font-size: 28px;
      margin-right: 15px; }
    .service-item h3 + .feature {
      margin-top: 0; }
  .service-item img {
    max-height: 300px; }
  .service-item .feature {
    display: inline-block;
    border-left: 2px solid #dd3a66;
    margin-top: 20px;
    margin-right: 15px;
    padding: 10px 15px;
    background: #f5f5f5;
    max-width: 500px;
    min-width: 150px; }
    .service-item .feature h4 {
      font-weight: 400; }
  .service-item a.feature:hover {
    background: #dd3a66;
    color: #fff; }

.buttons {
  text-align: center;
  margin-top: 50px; }
  .buttons .btn:last-child, .buttons .btn-alt:last-child {
    margin-right: 0 !important; }

header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  background: #dd3a66;
  color: #fff;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  z-index: 99; }
  header a {
    color: #fff; }
  header .container {
    height: 55px; }
  header h1 {
    position: relative;
    font-size: 22px;
    font-weight: 400; }
  header .links {
    height: 100%;
    margin-left: auto;
    -webkit-transition: ease 0.35s;
    -o-transition: ease 0.35s;
    transition: ease 0.35s; }
    header .links .link {
      position: relative;
      text-align: center;
      margin-top: -5px;
      margin-left: 25px; }
      header .links .link:hover:after, header .links .link.active:after {
        content: '';
        width: 5px;
        height: 5px;
        background-color: #fff;
        border-radius: 50%;
        position: absolute;
        left: 50%;
        bottom: -8px;
        margin-left: -2px; }
  header .menu-toggle {
    display: none;
    position: relative;
    right: 0;
    outline: none;
    border: none;
    padding: 0;
    margin: 0 0 0 auto;
    background: transparent;
    cursor: pointer; }
    header .menu-toggle:hover, header .menu-toggle:focus, header .menu-toggle:active {
      opacity: 0.75; }
    header .menu-toggle div {
      width: 35px;
      height: 5px;
      background-color: #fff;
      margin: 6px 0;
      -webkit-transition: ease 0.35s;
      -o-transition: ease 0.35s;
      transition: ease 0.35s; }
    header .menu-toggle.opened {
      right: 300px;
      z-index: 2; }
      header .menu-toggle.opened + .links {
        -webkit-box-shadow: 0 0 100px black;
        box-shadow: 0 0 100px black;
        right: 0; }
      header .menu-toggle.opened .bar1 {
        -webkit-transform: rotate(-45deg) translate(-8px, 6px);
        -ms-transform: rotate(-45deg) translate(-8px, 6px);
        transform: rotate(-45deg) translate(-8px, 6px); }
      header .menu-toggle.opened .bar2 {
        opacity: 0; }
      header .menu-toggle.opened .bar3 {
        -webkit-transform: rotate(45deg) translate(-8px, -8px);
        -ms-transform: rotate(45deg) translate(-8px, -8px);
        transform: rotate(45deg) translate(-8px, -8px); }
  @media only screen and (max-width: 782px) {
    header .menu-toggle {
      display: block; }
    header .links {
      position: fixed;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 300px;
      right: -300px;
      top: 0;
      height: 100vh;
      background: #dd3a66;
      font-size: 16px;
      overflow: auto; }
      header .links .link {
        margin: 0;
        padding: 4vh 15px; }
        header .links .link:after {
          bottom: calc(-8px + 4vh) !important; } }

footer {
  background: #dd3a66;
  color: #fff; }
  footer .container {
    padding-top: 50px;
    padding-bottom: 25px;
    text-align: center; }
    footer .container a {
      color: #fff; }

section {
  width: 100%; }
  section .container {
    padding-top: 50px;
    padding-bottom: 50px; }
  section.featured {
    height: calc(100vh - 55px);
    max-height: 600px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    overflow: hidden; }
    section.featured video {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%);
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto; }
    section.featured .overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.25);
      color: #fff;
      line-height: 1.2; }
      section.featured .overlay > div {
        max-width: 475px;
        padding: 0 25px; }
      section.featured .overlay h2 {
        font-size: 20px;
        text-shadow: 0 1px;
        font-weight: 500; }
      section.featured .overlay p {
        margin-top: 25px;
        font-size: 48px;
        font-weight: 500; }
      section.featured .overlay .buttons {
        margin-top: 50px; }
        section.featured .overlay .buttons .btn:not(:last-child), section.featured .overlay .buttons .btn-alt:not(:last-child) {
          margin-right: 15px; }
      @media only screen and (max-width: 600px) {
        section.featured .overlay {
          text-align: center; }
          section.featured .overlay .buttons {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column; }
            section.featured .overlay .buttons .btn, section.featured .overlay .buttons .btn-alt {
              margin-right: auto !important;
              margin-left: auto; }
              section.featured .overlay .buttons .btn:not(:last-child), section.featured .overlay .buttons .btn-alt:not(:last-child) {
                margin-bottom: 25px; } }
  section.info .title {
    margin-bottom: 50px; }
    section.info .title h2 {
      font-size: 42px;
      margin-bottom: 15px;
      font-weight: 400;
      color: #dd3a66; }
    section.info .title .separator {
      font-size: 20px; }
      section.info .title .separator i {
        margin: auto 10px; }
      section.info .title .separator span {
        display: block;
        width: 40px;
        height: 2px;
        background: #111;
        border-radius: 5px;
        overflow: hidden; }
  section.light {
    background: #f5f5f5; }

.section-separator {
  background: url("images/logo_x_pattern.png") repeat;
  height: 45px; }

body {
  height: 100%;
  width: 100%;
  background-color: #fff;
  font-family: "Work Sans", cursive;
  font-size: 14px; }

a {
  color: #dd3a66;
  text-decoration: none; }
