:root {
  --nav-color-main: #006747;
  --nav-color-second: #002f6c;
  --main-color: #002f6c;
  --main-color: #14345e;
  --main-color-darker: #132a48;
  --second-color: #006747;
  --mid-grey-color: #5e6671;
  --pale-color: #eff1f2;
  --body-color: #ebecea;
  --olive-white: #e0e3dc;
  --accent-green: #60bbf2;
  --accent-blue: #60bbf2;
  --font-color: #384964;
  --reversed-font-color: #cbdeff;
  --grey-text-color: #79869b;
  --light-text-color: #b0b9bd;
  --light-grey: #c9d3d7;
  --white-color: #fafafa;
  --max-width: 1200px;
  --max-width-blog: 800px;
  --main-font: "Montserrat", sans-serif;
}
img.lazy {
  opacity: 0;
  transition: all 2s;
}
img.lazy.in-viewport {
  opacity: 1;
}
.lazy-content {
  opacity: 1;
  transition: all 2s;
}
.lazy-content.outside-viewport {
  opacity: 0;
}
/* Adder Socials Widget */
.csMGxI {
  transition: opacity 0.3s ease;
}
.csMGxI.hide-at-bottom {
  opacity: 0;
  pointer-events: none;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: var(--main-font);
  background: var(--body-color);
  padding-top: 105px;
  -webkit-text-size-adjust: 100%;
  font-size: 14px;
  font-optical-sizing: auto;
  color: var(--font-color);
}
body.video-intro {
  padding-top: 0;
}
body.no-scroll {
  overflow: hidden;
}
.section-padding {
  padding: 45px 0;
}
@media screen and (min-width: 920px) {
  .section-padding {
    padding: 90px 0;
  }
}
.container-narrow {
  max-width: 800px;
}
.container-fluid {
  max-width: calc(1320px + 8em);
  padding: 0 4em;
}
@media screen and (max-width: 1050px) {
  .container-fluid {
    padding: 0 3em;
  }
}
@media screen and (max-width: 768px) {
  .container-fluid {
    padding: 0 2em;
  }
}
@media screen and (max-width: 500px) {
  .container-fluid {
    padding: 0 1em;
  }
  .two-text-columns .gx-5 {
    padding: 0;
    margin: 0;
  }
  .row > * {
    padding-left: 0;
    padding-right: 0;
  }
}
a {
  text-decoration: none;
  color: var(--accent-green);
  cursor: pointer;
}
.dark-bg a {
  color: #fff;
}
a:hover {
  color: var(--accent-blue);
}
a.big-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
/* ALL TITLES */
div.title {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.5em;
}
div.title .info {
  max-width: 640px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
div.title .info p,
div.title .info h3 {
  margin: 0;
  color: var(--main-color);
}
div.title .info p {
  font-weight: 500;
  font-size: 1.125em;
}
@media screen and (max-width: 992px) {
  div.title {
    flex-direction: column;
    gap: 15px;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--main-color);
  font-weight: 700;
  text-transform: uppercase;
}
/*.tartan-title {
	background-image: url('/application/themes/aurora/assets/tartan-pattern.png');
	background-repeat: repeat;
	background-size: 50px;
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	filter: brightness(1.15);
	padding: 0 0 0.5em 0;
	margin-bottom: -0.5em!important;
}*/
span.accent-green {
  color: var(--accent-green);
}
span.accent-blue {
  color: var(--accent-blue);
}
.blue-bg {
  background: var(--main-color);
}
.dark-blue-bg {
  background: var(--main-color-darker);
}
.mid-grey-bg {
  background: var(--mid-grey-color);
}
.pale-bg {
  background: var(--olive-white);
}
.dark-bg h1,
.dark-bg h2,
.dark-bg h3,
.dark-bg h4 {
  color: #fff;
}
.blue-bg p {
  color: var(--reversed-font-color);
}
.dark-blue-bg p {
  color: #c0cde1;
}
.mid-grey-bg p {
  color: #f4f4f4;
}
.light-bg p {
  color: var(--font-color);
}
p {
  line-height: 1.75em;
}
p small {
  font-weight: 500;
}
.max-width {
  max-width: var(--max-width);
  margin: 0 auto;
}
b,
strong {
  font-weight: 600;
}
.btn {
  display: flex;
  gap: 10px;
  align-items: center;
  width: fit-content;
  font-weight: 600;
  padding: 0.5em 1em;
}
.btn-primary {
  background: var(--main-color);
  border: none;
  padding: 0.5em 1.5em;
  font-size: 1.125em;
}
.btn-primary.green {
  background: var(--second-color);
}
.btn-primary:hover {
  background: var(--accent-green);
}
.btn-primary.green:hover {
  background: var(--main-color);
}
.btn-primary.accent-green {
  background: var(--accent-green);
}
.btn-primary.accent-blue {
  background: var(--accent-blue);
}
.btn-primary.tartan {
  background: url(/application/themes/aurora/assets/tartan-pattern.png);
  background-size: 128px;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25);
}
.btn-primary.tartan:hover {
  box-shadow: 0 0 0 3px #ffffff;
}
.btn-outline-primary {
  color: var(--main-color);
  border-color: var(--main-color);
  box-shadow: 0 0 0 4px transparent;
}
.btn-outline-primary.accent-green {
  color: var(--accent-green);
  border-color: var(--accent-green);
}
.btn-outline-primary.accent-blue {
  color: var(--accent-blue);
  border-color: var(--accent-blue);
}
.btn-outline-primary.pink {
  color: pink;
  border-color: pink;
}
.btn-outline-primary:hover {
  border-color: var(--main-color);
  color: var(--main-color);
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 0 4px rgba(20, 52, 94, 0.11);
}
.btn-outline-primary.accent-green:hover {
  background: transparent;
  color: var(--accent-green);
  border-color: var(--accent-green);
  box-shadow: 0 0 0 4px rgba(160, 200, 52, 0.27);
}
.btn-lg {
  font-size: 1.25rem;
}
.dark-bg .btn-outline-primary:hover {
  background: transparent;
  border-color: #fff;
  color: #fff;
}
/* HEADER */
header#main-header.nav-up {
  transform: translateY(-100%);
}
/* Top Header */
header#main-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 800;
  transition: all 0.3s;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}
/*header#main-header:before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:6px;
	background:url(../assets/tartan-pattern.png);
	background-size:50px;
	filter:brightness(1.15);
}*/
header#main-header.transparent-bg.page-top {
  box-shadow: none;
}
/* Bottom Header */
header#main-header .bottom-header {
  padding: 0 5%;
  position: relative;
  height: auto;
  transition: all 0.3s;
  background: #fff;
}
header#main-header.transparent-bg.page-top .bottom-header {
  background: transparent;
}
header#main-header .bottom-header .wrapper {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  position: relative;
  max-width: 1300px;
}
header#main-header.nav-up div.logo a {
  padding: 7px 0 0;
}
header#main-header div.logo {
  width: 170px;
  display: flex;
  align-items: center;
  padding: 10px 0;
  position: relative;
  transition: all 0.3s;
  transform-origin: center top;
}
@media screen and (min-width: 900px) {
  /* Scale the homepage logo up if the screen's wide enough */
  header#main-header.transparent-bg.page-top.nav-down div.logo {
    margin-top: 10px;
    transform: scale(1.15);
  }
}
header#main-header div.logo a {
  display: block;
  height: auto;
  width: 100%;
  transition: all 0.3s;
}
header#main-header div.logo svg {
  transition: all 0.3s;
}
header#main-header div.logo svg #subtext .st0 {
  fill: var(--second-color);
}
header#main-header div.logo svg #main-text .st1 {
  fill: var(--main-color);
}
header#main-header div.logo:hover svg #main-text .st1 {
  fill: var(--second-color);
}
header#main-header div.logo svg #icon .st1 {
  fill: var(--main-color);
}
header#main-header div.logo svg #icon .st2 {
  fill: var(--second-color);
}
header#main-header.transparent-bg.page-top div.logo svg #subtext .st0,
header#main-header.transparent-bg.page-top div.logo svg #main-text .st1,
header#main-header.transparent-bg.page-top div.logo svg #icon .st1,
header#main-header.transparent-bg.page-top div.logo svg #icon .st2 {
  fill: #fff;
}
header#main-header div.logo a img {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  transition: all 0.3s;
}
/* MOVE NAV UP WHEN ON TRANSPARENT BG */
header#main-header.transparent-bg.page-top nav.desktop-nav.thumbs {
  bottom: 30px;
}
/* PAGE SHARING */
div.page-sharing {
  display: flex;
  overflow: hidden;
  justify-content: flex-end;
  width: 100%;
}
div.page-sharing div.list-socials {
  transform: translateX(140%);
  transition: all 0.7s;
}
div.page-sharing.viewing div.list-socials {
  transform: translateX(0);
  opacity: 1;
  transition: all 0.7s;
}
div.page-sharing a.socials-item,
div.page-sharing div.list-sharing-icon {
  font-size: 18px;
  width: 36px;
  height: 36px;
  line-height: 36px;
}
/* BLOG LIST SHARING */
div.list-sharing-icon {
  color: var(--main-color);
}
a.socials-item {
  color: var(--font-color);
}
a.socials-item:hover {
  color: var(--main-color);
}
/* BLOG CONTENT */
body.blog-post {
  overflow: scroll;
}
body.blog-post section.title-block {
  padding: 45px 5% 0 5%;
  margin: 45px 0;
  text-align: center;
}
body.blog-post section.title-block .max-width {
  max-width: var(--max-width-blog);
  margin: 0 auto;
}
section.blog-content {
  padding: 0 5%;
  margin: 45px 0;
}
section.blog-content ul {
  list-style: none;
  margin: 20px 0;
}
section.blog-content ul li,
.cke_wysiwyg_div ul li {
  color: var(--font-color);
  padding-left: 30px;
  position: relative;
  line-height: 1.2em;
  margin: 10px 0;
}
section.blog-content ul li:before,
.cke_wysiwyg_div ul li:before {
  content: '\f061';
  font-family: 'Font Awesome 5 Pro';
  position: absolute;
  top: 0;
  left: 0;
}
section.blog-content .max-width {
  max-width: var(--max-width-blog);
  margin: 0 auto;
}
section.blog-content img,
.std-form .cke_inner img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 30px 0;
}
/* BLOG PAGE SHARING */
section.page-sharing div.page-sharing {
  display: flex;
  overflow: hidden;
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
}
section.page-sharing div.page-sharing div.list-socials {
  transform: translateX(0);
  display: flex;
}
section.page-sharing div.page-sharing.viewing div.list-socials {
  transform: translateX(0);
  opacity: 1;
  transition: all 0.7s;
}
section.page-sharing div.page-sharing a.socials-item {
  font-size: 18px;
  width: 36px;
  height: 36px;
  line-height: 36px;
  display: block;
  text-align: center;
}
section.page-sharing div.page-sharing a.socials-item svg {
  width: 16px;
}
/* AUTHOR */
section.title-block p.author {
  display: flex;
  align-items: center;
  justify-content: center;
}
section.title-block p.author img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  margin-right: 10px;
}
/* FOOTER */
footer#footer {
  padding: 45px 0;
}
footer#footer h6 {
  color: #fff;
  margin-top: 0;
}
footer#footer img.mr-logo {
  width: 120px;
  margin: 20px 0;
}
footer#footer p {
  line-height: 1.375rem;
}
footer#footer p.small:last-of-type {
  margin-bottom: 0;
}
footer#footer p.footnote {
  font-size: 0.875em;
}
footer#footer .brands {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
footer#footer .brands img {
  height: 30px;
  width: auto;
}
footer#footer .brands img.hspc-logo {
  height: 45px;
}
footer#footer .brands img.zoopla-logo {
  height: 25px;
}
@media screen and (min-width: 1200px) {
  footer#footer .footer-footnotes {
    margin-top: 45px;
  }
}
@media screen and (max-width: 1200px) {
  footer#footer .brands {
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin: 30px 0;
  }
  footer#footer .col-lg-3 {
    width: 33.333%;
  }
}
@media screen and (max-width: 960px) {
  footer#footer .row {
    flex-direction: column;
  }
  footer#footer .col-lg-3 {
    width: 100%;
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  footer#footer p.footnote {
    text-align: center;
  }
}
@media screen and (max-width: 500px) {
  footer#footer .brands img {
    height: 25px;
    width: auto;
  }
  footer#footer .brands img.hspc-logo {
    height: 38px;
  }
  footer#footer .brands img.zoopla-logo {
    height: 20px;
  }
}
.img-link {
  display: block;
}
/* FLICKETY */
.flickity-button:focus,
.flickity-button:focus-visible {
  box-shadow: none;
  outline: none;
}
/* FLICKITY NAV SIDES */
.flickety-nav-sides .flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  align-items: center;
  justify-content: center;
  display: flex;
  color: var(--main-color);
  transform: translateY(-50%);
}
.flickety-nav-sides .flickity-prev-next-button .flickity-button-icon {
  position: relative;
  padding: 0;
  width: 20px;
  height: 20px;
  left: initial;
  top: initial;
}
@media screen and (max-width: 640px) {
  .flickety-nav-sides .flickity-prev-next-button {
    width: 36px;
    height: 36px;
  }
}
/* FLICKITY NAV BOTTOM */
.flickety-nav-bottom .flickity-button {
  background: var(--accent-green);
  transition: all 0.3s;
}
.flickety-nav-bottom .flickity-button:hover {
  background: var(--main-color);
}
.flickety-nav-bottom .flickity-prev-next-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 36px;
}
.flickety-nav-bottom .flickity-prev-next-button .flickity-button-icon {
  fill: #fff;
  position: static;
  left: initial;
  top: initial;
  width: 16px;
  height: 16px;
}
.flickety-nav-bottom .flickity-prev-next-button.previous {
  left: 50%;
  transform: translate(calc(-100%), calc(100% + 10px));
  bottom: 0;
  top: initial;
  border-radius: 5px 0 0 5px;
}
.flickety-nav-bottom .flickity-prev-next-button.next {
  left: initial;
  right: 50%;
  transform: translate(calc(100% + 1px), calc(100% + 10px));
  bottom: 0;
  top: initial;
  border-radius: 0 5px 5px 0;
}
/* CONTACT FORM */
::-webkit-input-placeholder {
  color: var(--font-color);
}
.form-block div.input input,
.form-block div.input textarea {
  padding: 14px 14px 14px 40px;
  border: none;
  transition: all 0.3s;
  color: var(--font-color);
  -webkit-appearance: none;
  display: block;
  width: 100%;
}
.form-block div.input textarea {
  padding: 14px;
}
.form-block div.input {
  position: relative;
}
.form-block div.input:after {
  display: block;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--accent-blue);
  font-family: 'Font Awesome 5 Pro';
  font-size: 1.25em;
  transition: all 0.3s;
  font-weight: 300;
}
div.input.first-name:after,
div.input.last-name:after,
div.input.name:after {
  content: '\f007';
}
div.input.email:after,
div.input.email-address:after {
  content: '\f2b6';
}
div.input.phone-number:after {
  content: '\f095';
}
div.input.address:after {
  content: '\f3c5';
}
div.input.search:after {
  content: '\f002';
}
div.input.number-of-bedrooms:after {
  content: '\f8f7';
}
div.input.towncity:after {
  content: '\f64f';
}
div.input.street-name--number:after {
  content: '\f21d';
}
div.input.postcode:after {
  content: '\f813';
}
div.input select {
  padding: 14px;
  background-color: var(--accent-blue);
}
div.input.message:after {
  top: 10px !important;
  transform: none !important;
  content: '\f303';
}
div.input input:focus {
  box-shadow: 0 0 0 2px var(--accent-blue);
}
/* GENERIC FORM ELEMENTS */
.form-select {
  color: #fff;
  background-color: var(--mid-grey-color);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  padding: .5rem 2.25rem .5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.form-select:focus {
  border-color: transparent;
  outline: 0;
  box-shadow: 0 0 0 2px var(--accent-green);
}
.form-control:focus {
  border-color: var(--accent-green);
  box-shadow: 0 0 0 .25rem #a0c83442;
}
label {
  display: inline-block;
  font-weight: 600;
  font-size: 0.875em;
  padding-bottom: 5px;
}
legend {
  font-weight: 600;
  font-size: 1.375em;
  margin-bottom: 1em;
}
/* VALUATION FORM */
#valuation-form {
  position: relative;
}
.form-block {
  padding: 20px;
}
.ccm-dashboard-express-form {
  display: flex;
  gap: 5%;
  align-items: flex-start;
}
.ccm-block-express-form {
  max-width: 1300px;
  margin: 0 auto;
  padding: 2em;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 12px;
}
@media screen and (max-width: 576px) {
  .ccm-block-express-form {
    padding: 1em;
  }
}
.ccm-dashboard-express-form > fieldset {
  width: 47.5%;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
}
.ccm-block-express-form div.email-address-wrapper,
.ccm-block-express-form div.phone-number-wrapper {
  width: calc(100% - 10px);
}
.ccm-block-express-form div.area-wrapper,
.ccm-block-express-form div.first-name-wrapper,
.ccm-block-express-form div.last-name-wrapper,
.ccm-block-express-form div.property-type-wrapper,
.ccm-block-express-form div.number-of-bedrooms-wrapper,
.ccm-block-express-form div.street-name--number-wrapper,
.ccm-block-express-form div.towncity-wrapper {
  width: calc(50% - 10px);
}
.ccm-block-express-form div.postcode-wrapper {
  width: 145px;
}
.ccm-block-express-form div.your-message-wrapper {
  width: 100%;
}
/* modal */
@media screen and (min-width: 576px) {
  .modal-dialog {
    padding: 1em;
  }
  .modal {
    --bs-modal-padding: 0.5rem;
  }
}
#valuationModal .modal-content,
#estimateModal .modal-content {
  background: var(--olive-white);
  padding: 0;
}
#valuationModal .modal-xl,
#estimateModal .modal-xl {
  max-width: 1300px;
}
#valuationModal .form-block,
#estimateModal .form-block {
  padding: 0;
}
#valuationModal .modal-header,
#estimateModal .modal-header {
  align-items: flex-start;
  padding-bottom: 0;
}
#valuationModal .modal-header p,
#estimateModal .modal-header p {
  margin-bottom: 0;
  line-height: 1.5rem;
  font-weight: 500;
  margin-top: 0.25em;
  max-width: 640px;
}
@media screen and (max-width: 1023px) {
  .ccm-block-express-form div.area-wrapper,
  .ccm-block-express-form div.first-name-wrapper,
  .ccm-block-express-form div.last-name-wrapper,
  .ccm-block-express-form div.property-type-wrapper,
  .ccm-block-express-form div.phone-number-wrapper,
  .ccm-block-express-form div.number-of-bedrooms-wrapper,
  .ccm-block-express-form div.street-name--number-wrapper,
  .ccm-block-express-form div.towncity-wrapper,
  .ccm-block-express-form div.email-address-wrapper {
    width: calc(100% - 10px);
  }
}
@media screen and (max-width: 760px) {
  .ccm-dashboard-express-form {
    flex-direction: column;
    gap: 15px;
  }
  .ccm-dashboard-express-form > fieldset {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .ccm-block-express-form div.area-wrapper,
  .ccm-block-express-form div.first-name-wrapper,
  .ccm-block-express-form div.last-name-wrapper,
  .ccm-block-express-form div.property-type-wrapper,
  .ccm-block-express-form div.phone-number-wrapper,
  .ccm-block-express-form div.number-of-bedrooms-wrapper,
  .ccm-block-express-form div.street-name--number-wrapper,
  .ccm-block-express-form div.towncity-wrapper,
  .ccm-block-express-form div.email-address-wrapper {
    width: 100%;
  }
}
