/* ==========================================================================
   #Site Global Sizes
   ========================================================================== */
.no-squish {
  flex: none;
}

/* --Hover Mixin.--*/
/* -- Cross browser opacity.--*/
/* -- Animation.--*/
/* -- Hide Elements.--*/
.m-hide {
  display: none;
  visibility: hidden;
  opacity: 0;
}
@media (min-width: 46.25em) {
  .m-hide {
    display: block;
    visibility: visible;
    opacity: 1;
  }
}

.m-t-hide {
  display: none;
  visibility: hidden;
  opacity: 0;
}
@media (min-width: 61.25em) {
  .m-t-hide {
    display: block;
    visibility: visible;
    opacity: 1;
  }
}

.t-hide {
  display: block;
  visibility: visible;
  opacity: 1;
}
@media (min-width: 46.25em) {
  .t-hide {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
}

.d-hide {
  display: block;
  visibility: visible;
  opacity: 1;
}
@media (min-width: 61.25em) {
  .d-hide {
    display: none;
    visibility: hidden;
    opacity: 0;
  }
}

.hide {
  display: none;
}

/* -- Fill Elements.--*/
.f-width {
  width: 100%;
}

.f-height {
  height: 100%;
}

.absolute-full {
  position: absolute;
}

/* -- Background Image --*/
.back-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* -- Centre Content --*/
/* === Flexbox Center === */
/* -- Centre Text --*/
.has-text-c {
  text-align: center;
}

.pos-rel {
  position: relative;
}

.follow-icons,
.no-list > * {
  list-style: none;
}

/* -- Absolute Center --*/
/* ==========================================================================
   #Site Global Colours
   ========================================================================== */
/*#99999b*/
/*$brand-grey-white:       	#ffffff!default;
$brand-grey-light:       	#a0a0a0!default;*/
/*Architecture*/
.colour1, li.lead.architecture a, li.architecture a:hover, .architecture span.tag {
  color: #2E67B1;
}

.architecture.top-bar, .architecture .royalSlider img {
  border-top-color: #2E67B1;
}

/*Travel*/
.colour2, li.lead.travel a, li.travel a:hover, .travel span.tag {
  color: #349946;
}

.travel.top-bar, .travel .royalSlider img, .work-area-travel .royalSlider img {
  border-top-color: #349946;
}

/*Portraits*/
.colour3, li.lead.portraits a, li.portraits a:hover, .portraits span.tag {
  color: #cb2026;
}

.portraits.top-bar, .portraits .royalSlider img {
  border-top-color: #cb2026;
}

/*Film*/
.colour4, li.lead.film a, li.film a:hover, .film span.tag {
  color: #f7931d;
}

.film.top-bar {
  border-top-color: #f7931d;
}

/*about*/
.colour5, body.page-about li.current-menu-item a, li#menu-item-172 a:hover {
  color: #F8D712;
}

.top-bar.about-bar {
  border-top-color: #F8D712;
}

/*Clients*/
.colour6, body.page-clients li.current-menu-item a, li#menu-item-171 a:hover {
  color: #ab4c9c;
}

.top-bar.clients-bar {
  border-top-color: #ab4c9c;
}

/*Contact*/
.colour7, body.page-contact li.current-menu-item a, li#menu-item-170 a:hover {
  color: #38BFC3;
}

.top-bar.contact-bar {
  border-top-color: #38BFC3;
}

.shop_link.top-bar,
.newsletter.top-bar,
.syn-page.top-bar {
  border-top-color: #a0a0a0;
}

/*--------------------------------------------------------------
# Clearing
--------------------------------------------------------------*/
.clear::after {
  display: block;
  content: "";
  clear: both;
}

/*--------------------------------------------------------------
# Animation Control
--------------------------------------------------------------*/
a, li,
a[href^=mailto] {
  -webkit-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
@-moz-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
@-ms-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
@-o-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px);
  }
  60% {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}
.arrow-down svg {
  -webkit-animation: bounce 3s infinite;
  -moz-animation: bounce 3s infinite;
  -ms-animation: bounce 3s infinite;
  -o-animation: bounce 3s infinite;
  animation: bounce 3s infinite;
}

/*
.site-header {
	 @include menu-animation;
	    animation-duration: 0.5s;
	    animation-fill-mode: both;
	    will-change: transform, opacity;

		&.floating-head-fixed_scrolled,
	  	&.header-up {
	    animation-name: slideDown;
	  }

	  &.header-down {
	    animation-name: slideUp;
	  }
}*/
@-webkit-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-moz-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-ms-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-o-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@-moz-keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@-ms-keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@-o-keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes slideUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
/* Lazy Loading
   ===========================================================*/
/* fade image in after load */
.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  -webkit-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -moz-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -ms-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -o-transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 450ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

@-webkit-keyframes fadein {
  to {
    opacity: 1;
  }
}
@-moz-keyframes fadein {
  to {
    opacity: 1;
  }
}
@-ms-keyframes fadein {
  to {
    opacity: 1;
  }
}
@-o-keyframes fadein {
  to {
    opacity: 1;
  }
}
@keyframes fadein {
  to {
    opacity: 1;
  }
}
.swiper-slide-active .hero-slider__desc,
.element-fadein {
  opacity: 0;
  -webkit-animation: fadein 450ms .5s ease forwards;
  -moz-animation: fadein 450ms .5s ease forwards;
  -ms-animation: fadein 450ms .5s ease forwards;
  -o-animation: fadein 450ms .5s ease forwards;
  animation: fadein 450ms .5s ease forwards;
}

/* ==========================================================================
   #Site Grid Sizes
   ========================================================================== */
/*Level Elements*/
.g-wrap {
  display: grid;
  grid-template-rows: auto;
  grid-gap: 1.25rem;
}
@media (min-width: 46.25em) {
  .g-wrap {
    grid-gap: 2.5rem;
  }
}

.equal-spread {
  justify-content: space-between;
}

@media (min-width: 46.25em) {
  .g-12-default {
    grid-template-columns: repeat(12, 1fr);
  }
}

.g-6-12-default {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 46.25em) {
  .g-6-12-default {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 61.25em) {
  .g-6-12-default {
    grid-template-columns: repeat(12, 1fr);
  }
}

.g-4-default {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 46.25em) {
  .g-4-default {
    grid-template-columns: repeat(4, 1fr);
  }
}

.g-5-default {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 46.25em) {
  .g-5-default {
    grid-template-columns: repeat(5, 1fr);
  }
}

.g-6-default {
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 46.25em) {
  .g-6-default {
    grid-template-columns: repeat(6, 1fr);
  }
}

.logos-row__grid.g-5-default {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 46.25em) {
  .logos-row__grid.g-5-default {
    grid-template-columns: repeat(5, 1fr);
  }
}

.site-header .g-4-default {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 46.25em) {
  .site-header .g-4-default {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 46.25em) {
  .entertainer-cols .g-4-default {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 61.25em) {
  .entertainer-cols .g-4-default {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 46.25em) {
  .g-2-default {
    grid-template-columns: repeat(2, 1fr);
  }
}

.g-2-default .site-row__title-sub,
.g-2-default .site-row__title {
  text-align: center;
}
@media (min-width: 46.25em) {
  .g-2-default .site-row__title-sub,
  .g-2-default .site-row__title {
    grid-column: 1/-1;
  }
}

@media (min-width: 46.25em) {
  .span-1 {
    grid-column: span 1/auto;
  }
}

@media (min-width: 46.25em) {
  .span-2 {
    grid-column: span 2/auto;
  }
}

@media (min-width: 46.25em) {
  .span-3 {
    grid-column: span 3/auto;
  }
}

@media (min-width: 46.25em) {
  .span-4 {
    grid-column: span 4/auto;
  }
}

@media (min-width: 46.25em) {
  .span-5 {
    grid-column: span 5/auto;
  }
}

@media (min-width: 46.25em) {
  .span-6 {
    grid-column: span 6/auto;
  }
}

@media (min-width: 46.25em) {
  .span-7 {
    grid-column: span 7/auto;
  }
}

@media (min-width: 46.25em) {
  .span-8 {
    grid-column: span 8/auto;
  }
}

@media (min-width: 46.25em) {
  .span-10 {
    grid-column: span 10/auto;
  }
}

/**
 * This shall stop the z-index chaos
 */
/* BLOCK: featured-text-colour-block --------------------------------- */
.featured-text-colour-block {
  min-height: 31.25rem;
  position: relative;
}

.featured-text-colour-block .square-hero,
.featured-text-colour-block .section-sub__title,
.featured-text-colour-block .section-title {
  color: #002147;
}

.off-dark-blue-pale.featured-text-colour-block .square-hero,
.off-dark-blue-pale.featured-text-colour-block .body-copy,
.off-dark-blue-pale.featured-text-colour-block .section-sub__title,
.off-dark-blue-pale.featured-text-colour-block .section-title {
  color: white;
}

.featured-text-colour-block .section-title {
  font-size: 72px;
  font-size: 4.5rem;
  line-height: 1;
  margin-bottom: 0;
}

.featured-text-colour-block .section-sub__title {
  font-size: 15px;
  font-size: 0.9375rem;
}

.featured-text-colour-block .square-hero {
  font-weight: 800;
}

.featured-text-colour-block .off-dark-blue-pale.square-hero {
  background-color: #b21f33;
}

.featured-text-colour-block .off-dark-blue-pale {
  color: white;
}

.featured-text-colour-block .off-dark-blue-pale.square-hero {
  background-color: #3b6479;
}

.featured-text-colour-block .off-green-pale.square-hero {
  background-color: #b21f33;
}

.featured-text-colour-block .off-yellow-pale.square-hero {
  background-color: #afc377;
}

.featured-text-colour-block > .g-wrap {
  grid-gap: 0;
}

.featured-text-colour-block .row-content {
  align-items: flex-start;
}

@media (min-width: 46.25em) {
  .featured-text-colour-block.content-left .row-content {
    grid-column: span 12;
  }
}
@media (min-width: 61.25em) {
  .featured-text-colour-block.content-left .row-content {
    grid-column: span 5;
  }
}

@media (min-width: 46.25em) {
  .featured-text-colour-block.content-right .row-content {
    grid-column: span 12;
  }
}
@media (min-width: 61.25em) {
  .featured-text-colour-block.content-right .row-content {
    order: 2;
    grid-column: 8/13;
  }
}

.featured-row__image__bleed {
  position: absolute;
  height: 100%;
  width: 50%;
  top: 0;
  background-size: cover;
  background-position: center;
  background-blend-mode: multiply;
}

.featured-text-colour-block.content-left .featured-row__image__bleed {
  right: 0;
}

.featured-text-colour-block.content-right .featured-row__image__bleed {
  left: 0;
}

.featured-row__image__bleed > img {
  object-fit: cover;
  height: 100%;
}
