/* ==========================================================================
   #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
 */
/*@import "base/slick"; */
/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.sr-only:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #185571;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/*--------------------------------------------------------------
# Button Control inc Links
--------------------------------------------------------------*/
/*a:not([target="_blank"]),a:not(.download-btn){
	text-decoration: none;
	@include menu-animation;
	border-bottom: 1px solid transparent;

	@include hocus() {
		  outline: none;
		  color: $site-orange;
		  border-color: #efc20a;
		}

}*/
.main-navigation .menu-item a,
button.frm_button_submit[type=submit],
.submit-wrap input[type=button],
.main-btn {
  vertical-align: middle;
  font: inherit;
  text-align: center;
  margin: 0;
  cursor: pointer;
  padding: 15px 20px;
  -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);
  text-decoration: none;
  border: none;
  background-color: transparent;
  -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);
}
.main-navigation .menu-item a:hover, .main-navigation .menu-item a:focus,
button.frm_button_submit[type=submit]:hover,
button.frm_button_submit[type=submit]:focus,
.submit-wrap input[type=button]:hover,
.submit-wrap input[type=button]:focus,
.main-btn:hover,
.main-btn:focus {
  text-decoration: none;
}
.main-navigation .menu-item a:focus,
button.frm_button_submit[type=submit]:focus,
.submit-wrap input[type=button]:focus,
.main-btn:focus {
  outline: 2px solid inherit;
}

.site-header__mobile-button.lines-nav {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  /*  width: 96px;*/
  height: 25px;
  border-radius: none;
  border: none;
  cursor: pointer;
  position: relative;
  -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);
  border-radius: 0;
  text-align: center;
  z-index: 1030;
  background-color: transparent;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media (min-width: 46.25em) {
  .site-header__mobile-button.lines-nav {
    display: none;
    visibility: hidden;
  }
}

.site-header__mobile-button.lines-nav:focus {
  outline: none;
}

.site-header__mobile-button.lines-nav span.button-lines {
  display: block;
  position: relative;
  height: 2px;
  width: 34px;
  /*background-color: $hero-green;*/
  background-color: red;
  -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);
}

.login-btn.lines-nav span.button-lines {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.site-header__mobile-button.lines-nav:hover span.button-lines,
.site-header__mobile-button.lines-nav:hover span.button-lines::before,
.site-header__mobile-button.lines-nav:hover span.button-lines::after {
  background: green;
  /*@include vendor(transition,  background 0.3s);*/
}

.site-header__mobile-button.lines-nav span.button-lines::before,
.site-header__mobile-button.lines-nav span.button-lines::after {
  position: absolute;
  display: block;
  left: 0;
  width: 34px;
  height: 2px;
  /*background-color: $hero-green;*/
  background-color: red;
  content: "";
  -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);
}

.site-header__mobile-button.lines-nav span.button-lines::before {
  top: -11px;
}

.site-header__mobile-button.lines-nav span.button-lines::after {
  bottom: -11px;
}

.site-header__mobile-button.lines-nav span.button-lines::before,
.site-header__mobile-button.lines-nav span.button-lines::after {
  -webkit-transition-duration: 0.3s, 0.3s;
  -moz-transition-duration: 0.3s, 0.3s;
  -ms-transition-duration: 0.3s, 0.3s;
  -o-transition-duration: 0.3s, 0.3s;
  transition-duration: 0.3s, 0.3s;
  -webkit-transition-delay: 0.3s, 0s;
  -moz-transition-delay: 0.3s, 0s;
  -ms-transition-delay: 0.3s, 0s;
  -o-transition-delay: 0.3s, 0s;
  transition-delay: 0.3s, 0s;
}

.site-header__mobile-button.lines-nav span.button-lines::before {
  -webkit-transition-property: top, -webkit-transform;
  transition-property: top, transform;
}

.site-header__mobile-button.lines-nav span.button-lines::after {
  -webkit-transition-property: bottom, -webkit-transform;
  transition-property: bottom, transform;
}

.site-header__mobile-button.lines-nav.is-active span.button-lines {
  background: none;
}

.site-header__mobile-button.lines-nav.is-active span.button-lines::before {
  top: 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.login-btn.lines-nav span.button-lines::after,
.site-header__mobile-button.lines-nav.is-active span.button-lines::after {
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.site-header__mobile-button.lines-nav.is-active span.button-lines::before,
.site-header__mobile-button.lines-nav.is-active span.button-lines::after {
  background-color: white;
  -webkit-transition-delay: 0s, 0.3s;
  -moz-transition-delay: 0s, 0.3s;
  -ms-transition-delay: 0s, 0.3s;
  -o-transition-delay: 0s, 0.3s;
  transition-delay: 0s, 0.3s;
}

/*--------------------------------------------------------------
# Images
--------------------------------------------------------------*/
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 * 4. Rezise height for responsive images.
 */
img {
  max-width: 100%; /* [1] */
  font-style: italic; /* [2] */
  vertical-align: middle; /* [3] */
  height: auto; /* [3] */
}

.media img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

svg {
  fill: currentColor;
}

.main-btn svg {
  pointer-events: none;
}

.filled-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* SVG Sizing
   ========================================================================== */
.inline-text-icon {
  display: inline-block;
}

/* Hide SVG Region
   ========================================================================== */
.svg-region {
  display: none;
}

.icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.svg-icon {
  width: 1em;
  height: 1em;
  position: relative;
  top: 0;
}

html, body {
  height: 100%;
}

html {
  height: -webkit-fill-available;
}

body.is-active {
  overflow: hidden;
}

body {
  min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
}

h1,
h2,
h3,
h4,
p,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

.site-m-i,
.alignwide {
  max-width: 1600px;
  margin: 0 auto;
  width: calc(100% - 1.5625rem * 2);
}
@media (min-width: 46.25em) {
  .site-m-i,
  .alignwide {
    width: calc(100% - 3.125rem * 2);
  }
}

.entry-content > .alignwide {
  width: 100%;
}

@media (max-width: 46.24em) {
  .site-m-i.m-full {
    max-width: 100%;
  }
}

@media (max-width: 46.24em) {
  .site-m-i.m-pull {
    padding-left: 0;
    padding-right: 0;
  }
}

.card-link a[href]::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.alignfull {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: 100vw;
}

.flex-c {
  display: flex;
}

.home .body-content {
  padding-top: 0;
}

.body-content {
  padding-top: 4.375rem;
}

.site-row {
  margin-bottom: 3.75rem;
}

.f-bleed::after,
.f-bleed::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  width: 50vw;
  background-color: inherit;
}

.content-left.f-bleed::before {
  left: 0;
}

.content-right.f-bleed::before,
.content-left.f-bleed::after {
  display: none;
}

.content-right.f-bleed::after {
  right: 0;
}

.row-content > .body-copy strong {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.625rem;
}
@media (min-width: 46.25em) {
  .row-content > .body-copy strong {
    font-size: 21px;
    font-size: 1.3125rem;
    line-height: 1.9375rem;
  }
}

.body-copy {
  font-weight: 400;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 0.9375rem;
}
@media (min-width: 46.25em) {
  .body-copy {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.625rem;
  }
}

.body-copy > p {
  margin: 1.25rem 0;
}

.entry-content p, .entry-content ul:not(.schedule-builder__content) > li {
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.5625rem;
}
@media (min-width: 46.25em) {
  .entry-content p, .entry-content ul:not(.schedule-builder__content) > li {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.75rem;
  }
}

.entry-content p, .entry-content ul {
  margin-bottom: 1.25rem;
}

.entry-content ul:not(.no-list) {
  margin-left: 0.9375rem;
}

.entry-content p a {
  color: #ea088b;
}

.entry-content h2:not(.section-title) {
  margin-bottom: 1.875rem;
}

.body-copy-lite {
  font-weight: 400;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 0.9375rem;
}
@media (min-width: 46.25em) {
  .body-copy-lite {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.4375rem;
  }
}

.section-sub__title {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 12px;
  font-size: 0.75rem;
  display: block;
}
@media (min-width: 46.25em) {
  .section-sub__title {
    font-size: 18px;
    font-size: 1.125rem;
  }
}

h2,
.section-title {
  font-weight: 800;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5rem;
  margin: 0;
  display: block;
  color: #002147;
  margin-bottom: 1.875rem;
}
@media (min-width: 46.25em) {
  h2,
  .section-title {
    font-size: 40px;
    font-size: 2.5rem;
    line-height: 3rem;
  }
}

.row-content {
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
}
.site-header__inner {
  padding-top: 1.875rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 46.25em) {
  .site-header__inner {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 61.25em) {
  .site-header__inner {
    grid-template-columns: repeat(12, 1fr);
  }
}

.site-header__inner > .uni-logo {
  grid-column: 1/-1;
  color: #002147;
}
@media (min-width: 46.25em) {
  .site-header__inner > .uni-logo {
    grid-column: 1/4;
  }
}
@media (min-width: 61.25em) {
  .site-header__inner > .uni-logo {
    grid-column: span 3/auto;
  }
}

.home .site-header {
  background-color: #f5f5eb;
  padding-bottom: 1.875rem;
}

.home .site-header__inner {
  background-color: transparent;
  position: relative;
}
.site-logo__naming {
  grid-row: 2;
  grid-column: 1/3;
}
@media (min-width: 46.25em) {
  .site-logo__naming {
    grid-column: 1/-1;
  }
}
@media (min-width: 61.25em) {
  .site-logo__naming {
    grid-row: auto;
    grid-column: span 5/auto;
  }
}

.site-logo__naming > h1 a {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  color: #002147;
  display: block;
  text-transform: none;
}

.site-logo__first-wrap,
.hero-intro.section-title span:first-child {
  background-color: #28B5B5;
  box-shadow: 0.1875rem 0 0px 0px #28B5B5, -0.1875rem 0 0px 0px #28B5B5;
}

.site-logo__second-wrap,
.site-footer__upper .text-block__behind span,
.hero-intro.section-title span:last-child {
  background-color: #8FD9A8;
  box-shadow: 0.1875rem 0 0px 0px #8FD9A8, -0.1875rem 0 0px 0px #8FD9A8;
}

.main-navigation {
  grid-column: 1/-1;
  align-items: center;
  justify-content: flex-start;
}
@media (min-width: 46.25em) {
  .main-navigation {
    grid-column: 4/-1;
  }
}
@media (min-width: 61.25em) {
  .main-navigation {
    grid-column: 1/-1;
    grid-row: 2;
  }
}

.main-navigation li {
  display: inline-block;
}

.main-navigation li:not(:last-child) {
  margin-right: 0.625rem;
}
@media (min-width: 46.25em) {
  .main-navigation li:not(:last-child) {
    margin-right: 1.5625rem;
  }
}

.main-navigation .menu-item a {
  font-weight: 800;
  font-size: 14px;
  font-size: 0.875rem;
  background-color: #002147;
  color: white;
  padding: 0.625rem;
}
@media (min-width: 46.25em) {
  .main-navigation .menu-item a {
    padding: 0.9375rem 1.25rem;
  }
}
.main-navigation .menu-item a:hover, .main-navigation .menu-item a:focus {
  background-color: rgba(0, 33, 71, 0.8);
}
.main-navigation .menu-item a:focus {
  outline: 2px solid inherit;
}

.main-navigation li:first-child.menu-item a {
  background-color: #28b5b5;
  color: #002147;
}
.main-navigation li:first-child.menu-item a:hover, .main-navigation li:first-child.menu-item a:focus {
  background-color: rgba(40, 181, 181, 0.8);
}
.main-navigation li:first-child.menu-item a:focus {
  outline: 2px solid inherit;
}

.main-navigation li:last-child.menu-item a {
  background-color: #8fd9a8;
  color: #002147;
}
.main-navigation li:last-child.menu-item a:hover, .main-navigation li:last-child.menu-item a:focus {
  background-color: rgba(143, 217, 168, 0.8);
}
.main-navigation li:last-child.menu-item a:focus {
  outline: 2px solid inherit;
}

.site-footer {
  background-color: #002147;
}

.site-footer__upper {
  flex-direction: column;
}
@media (min-width: 46.25em) {
  .site-footer__upper {
    display: grid;
    align-items: flex-start;
  }
}

.site-footer__upper,
.site-footer__lower {
  padding-top: 1.25rem;
  padding-bottom: 1.875rem;
}

@media (min-width: 46.25em) {
  .site-footer__upper {
    padding-top: 3.75rem;
  }
}

@media (min-width: 46.25em) {
  .site-footer__lower {
    padding-bottom: 2.5rem;
  }
}

/*-------------------------------------------*\
    Footer Upper Logos
\*-------------------------------------------*/
.text-block__behind {
  font-weight: 800;
  font-size: 21px;
  font-size: 1.3125rem;
  color: #002147;
  margin: 1.25rem 0;
}

.site-footer__upper .learning-logo,
.site-footer__upper .uni-logo {
  max-width: 12.5rem;
}
.site-footer__upper .learning-logo svg,
.site-footer__upper .uni-logo svg {
  flex-grow: 1;
}

.site-footer__upper .learning-logo {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
}

.site-footer__upper .learning-logo {
  margin-top: 1.25rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 46.25em) {
  .site-footer__upper .learning-logo {
    margin-top: 1.875rem;
    margin-bottom: 3.75rem;
  }
}

.site-footer__upper a {
  color: white;
  text-decoration: none;
}
.site-footer__upper a:hover, .site-footer__upper a:focus {
  color: #ea088b;
}
.site-footer__upper a:focus {
  outline: 2px solid inherit;
}

.site-footer__upper .follow-icons li:not(:last-child) {
  margin-right: 1.25rem;
}

.site-footer__upper .follow-icons a {
  font-size: 30px;
  font-size: 1.875rem;
}

.site-footer__upper {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 46.25em) {
  .site-footer__upper {
    grid-template-columns: repeat(12, 1fr);
    grid-auto-flow: row;
    grid-template-areas: "footer-brand footer-brand footer-brand footer-brand . . footer-site-nav footer-site-nav footer-site-nav footer-uni footer-uni footer-uni";
  }
}
@media (min-width: 61.25em) {
  .site-footer__upper {
    grid-template-areas: "footer-brand footer-brand footer-brand footer-site-nav-1 footer-site-nav-1 footer-site-nav-1  footer-site-nav-2 footer-site-nav-2 footer-site-nav-2 footer-uni footer-uni footer-uni";
  }
}

.footer-logos__social {
  align-items: center;
  display: flex;
  flex-direction: column;
  grid-column: 1/-1;
}
@media (min-width: 46.25em) {
  .footer-logos__social {
    align-items: flex-start;
    grid-area: footer-brand;
  }
}

@media (min-width: 46.25em) {
  .site-footer__upper .footer-site__links:nth-of-type(1) {
    grid-area: footer-site-nav-1;
  }
}

@media (min-width: 46.25em) {
  .site-footer__upper .footer-site__links:nth-of-type(2) {
    grid-area: footer-site-nav-2;
  }
}

@media (min-width: 46.25em) {
  .footer-uni__links {
    grid-area: footer-uni;
  }
}

/*-------------------------------------------*\
   Footer Mobile Drop Down Lists
\*-------------------------------------------*/
.footer-dropdown-button {
  grid-column: 1/-1;
  background-color: transparent;
  margin-bottom: 1.25rem;
  font-weight: 700;
  border: none;
}
@media (min-width: 46.25em) {
  .footer-dropdown-button {
    display: none;
  }
}

.footer-dropdown-button,
.site-footer__upper .footer-dropdown-list {
  font-size: 14px;
  font-size: 0.875rem;
  grid-column: 1/-1;
}
@media (min-width: 46.25em) {
  .footer-dropdown-button,
  .site-footer__upper .footer-dropdown-list {
    grid-column: initial;
  }
}

.toggle-btn span,
.footer-dropdown-button span {
  margin-left: 0.625rem;
  -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);
}

.toggle-btn.is-open span,
.footer-dropdown-button.is-open span {
  transform: scaleY(-1);
}

.footer-dropdown-list a {
  color: white;
}
.footer-dropdown-list a:hover, .footer-dropdown-list a:focus {
  text-decoration: underline;
}
.footer-dropdown-list a:focus {
  outline: 2px solid inherit;
}

@media (max-width: 46.24em) {
  .footer-dropdown-list {
    position: relative;
    top: 100%;
    left: 0;
    z-index: 1;
    display: none;
    width: max-content;
    overflow: auto;
    padding: 0;
    margin: 0;
    transform: translateY(-1em);
    transform-origin: center top;
    perspective: 62.5rem;
    list-style: none;
    visibility: hidden;
    opacity: 0;
    transition: 0.25s ease-in;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
  }
}

.footer-dropdown-list.is-open {
  display: flex;
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
  transition-timing-function: ease-out;
}

/*-------------------------------------------*\
    Footer Lower
\*-------------------------------------------*/
.copyright {
  flex-direction: column;
  align-items: center;
  font-weight: 400;
  font-size: 12px;
  font-size: 0.75rem;
  color: white;
}
@media (min-width: 46.25em) {
  .copyright {
    flex-direction: row;
  }
}

.copyright__lincoln {
  font-weight: 700;
}
@media (min-width: 46.25em) {
  .copyright__lincoln {
    padding-right: 0.625rem;
    margin-right: 0.625rem;
    border-right: 1px solid white;
  }
}

.site-footer__lower {
  border-top: 1px solid white;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 46.25em) {
  .site-footer__lower {
    flex-direction: row;
    justify-content: space-between;
  }
}

.site-footer__upper .footer-dropdown-list {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 46.25em) {
  .site-footer__upper .footer-dropdown-list {
    text-align: left;
    margin: 0;
  }
}

.footer-dropdown-list p {
  font-weight: 700;
  display: none;
  color: white;
}
@media (min-width: 46.25em) {
  .footer-dropdown-list p {
    margin-bottom: 0.625rem;
    display: block;
  }
}

@media (max-width: 46.24em) {
  .site-footer__upper .footer-dropdown-list li {
    margin-bottom: 0.625rem;
  }
}

.accessibility-icon__btn {
  font-size: 25px;
  font-size: 1.5625rem;
  margin: 1.25rem auto 0;
  color: white;
}
@media (min-width: 46.25em) {
  .accessibility-icon__btn {
    margin: 0;
  }
}
.accessibility-icon__btn:hover, .accessibility-icon__btn:focus {
  color: white;
}
.accessibility-icon__btn:focus {
  outline: 2px solid inherit;
}

/* Home Page --------------------------------- */
/*@import "site/header";
@import "site/footer";*/
/*@import "components/buttons";
@import "components/navigation";
@import "components/mobile-panel";
@import "components/forms";
@import "components/swiper";*/
/*@import "site/header-slider";*/
/*@import "site/header";
@import "site/page";
";

@import "site/news";*/
/*@import "site/home";
@import "site/products";
@import "site/about";
@import "site/journal";
@import "site/page-nav";*/
/*@import "site/services";
@import "site/team";
@import "site/about";
@import "site/testimonials";*!/*/
