@charset "UTF-8";
/* ==========================================================================
GENERAL
========================================================================== */

body {
    font-size: 15px;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    color: rgba(255,255,255,1);
    background-color: rgba(0,0,0,1);
    height: 100%;
}

p span.intro {
    font-size: 18px !important;
}
h1, h2, h4 {
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    margin-bottom:0.75em;
}
h1 {font-size: 30px;}
h2 {font-size: 32px; color:rgba(200,155,100,1)}
.intro h2 {font-size: 44px;}
h3 {
    font-family: "Fira Sans", sans-serif;
    color: rgba(200,155,100,1);
    font-size: 20px; 
    font-weight: 400; 
    text-transform: uppercase;
}
h3.white {color:#FFFFFF;}
h4 {font-size: 20px;}
.banner h1, 
.banner h2, 
.banner h3, 
.banner h4, 
.banner p {
    margin: 0.5em 0 0.5em 0;
}
.banner h2 {font-size: 30px; color: rgba(200,155,100,1)}
.banner :last-child {margin-bottom:0;}
p {margin-bottom:1.5em;}
a {
    color: #FFFFFF;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition:.5s;
}
a:hover, a:focus, a:active {
    color: rgba(200,155,100,1);
}
.highlight {
    color: rgba(200,155,100,1);
}
#details strong {
    color: rgba(200,155,100,1);
    font-weight: 400;
}
.txt-lt {
    font-weight: 200;
}
.txt-med {
    font-weight: 500;
}
.txt-bld {
    font-weight: 700;
}
.uppercase {
    text-transform: uppercase;
}
ul {
    padding-left: 1rem;
}
ul li {
    padding-left: 1rem;
}


.big-btn {
    text-decoration: none;
    display: block;
    border:1px solid #fff;
    width: 100%;
    padding: 20px;
    margin-bottom: 2rem;
    background: url(/assets/icons/manifestation_icon_1_wo.svg) center right no-repeat;
    opacity: 1;
}
.big-btn:hover {
    opacity: 0.4;
    color: rgba(255,255,255,1);
}

.v-wrap {width:100%;}
.runner {
    background: url(/assets/icons/manifestation_repeat_strip.svg) repeat-x;
    height: 200px;
}

.accordion {
    width: 90%;
}
.accordion-button, 
.accordion-body {
    background-color: rgba(0,0,0,1)!important;
    color: rgba(255,255,255,1)!important;
    font-family: "Playfair Display", serif;
}
.accordion-button {
    border-bottom: 1px solid rgba(255,255,255,1);
    padding: 1rem 0.5rem;
}

.accordion-button::after {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");

}
.accordion-button:focus {
  box-shadow: none;
}
.accordion-body {
    font-family: "Lora", serif;
    font-weight: 400;
    padding: 0.5rem 0;

}
.accordion-body .row {
    border-bottom: 1px solid rgba(255,180,70,1);
    padding: 0.5rem 0;
}
.accordion-body ul {
    text-align: left;
    padding: 0 1em;
    list-style-type: decimal;
    list-style-position: inside;
}
.accordion-body ul li::marker {
    padding-right:1em;
}
.accordion-body ul li {
    border-bottom: 1px solid rgba(255,180,70,1);
    padding: 0.5em 0;
}

.ferrier .accordion-body ul li {
    border-bottom: 1px solid #96c8aa;
    padding: 0.5em 0;
}
.accordion-item {
    border: 0;
}
.shopping .bullet, .recreation .bullet, .eating .bullet {
    margin-right:0.5rem;
    font-size: 150%;
}
.shopping .bullet {
    color:rgba(160,195,168,1);
}
.recreation .bullet {
    color:rgba(234,127,18,1);
}
.eating .bullet {
    color:rgba(255,181,71,1);
}
.eating ul {
    list-style-type: decimal-leading-zero;
    list-style-position: inside;
}
.time {
    background-color: rgba(200,155,100,1);
    color: rgba(0,0,0,1);
    font-family: "Lora", serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    margin: 0 auto 0.5em auto;
    padding-top: 0.35em;
    font-size: 38px;
    border-radius: 50%;
    line-height: 1;
    height: 80px;
    width: 80px;
}
.time p {
    margin: 0;
}
.time p.small {
    font-size: 14px;
}


table {
    width: 90%;
    border-bottom: 1px solid rgba(200,155,100,1);
    margin: 0 0 1.5rem 0;
}
table tr {
}
table tr td {
    padding: 0 0 0.25rem 0;
    width: 25%;
    text-align: right;
}
table tr td:first-child {
    text-align: left;
    width: 40%;
}
table tr:first-child {
    color:rgba(200,155,100,1);
}
table tr:last-child {
    font-weight: 700;
}
.accom-table {

}

img.agent-logo {height: 40px; margin-bottom: 1.5em;}
.development-logo img {}
.mob-border {
    border-bottom: 1px solid #FFF;
}
@media (min-width: 992px) { 
.mob-border {
    border-right: 1px solid #FFF;
}
}
footer {
    padding-bottom: 4rem;
}
footer p {font-size: 80%;}
footer a.kubiak {font-weight: 700; color: rgba(255,255,255,0.4);text-decoration: none;}
footer a.kubiak:hover {color: rgba(255,255,255,1);}

/* ==========================================================================
NAV
========================================================================== */

.anchor {
    scroll-margin-top: 91px;
}
.navbar {
}
@media (max-width: 992px) { 
.navbar-nav {
    width: 100%;
    z-index: 1;
}
.sticky-top {
  position: -webkit-fixed;
  position: fixed;
  top: 0;
  z-index: 1020;
  width: 100%;
}
.navbar-collapse {
    background-color: rgba(0,0,0,0.8);
    padding: 1rem 0;
}
}
@media (min-width: 992px) { 
}
.navbar.unitpages {
    background-color: rgba(0,0,0,0.9);
}
.navbar.homepage {
    background-color: rgba(0,0,0,0);
}
.navbar-nav .nav-link {
    color: rgba(255,255,255,1);
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    padding: 1rem 1rem 1rem 1rem!important;
    align-items: center !important;
    justify-content: center !important;
    display: flex !important;
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover {
    color: rgba(200,155,100,1);
}
.navbar-toggler {
    height: 90px;
    padding: 0 1rem;
    border: none;
}

.navbar-toggler,
.navbar-toggler:active,
.navbar-toggler:focus {
    border: none;
    outline: 0;
    box-shadow: none;
}
.navbar-toggler-icon {
  background-image: none!important;
  background-color: rgba(255,255,255,1);
  height: 3px;
  width: 25px;
  margin: 10px 0;
  position: relative;
  transition: all 0.35s ease-out;
  transform-origin: center;
}

.navbar-toggler-icon::before {
  display: block;
  background-color: rgba(255,255,255,1);
  height: 3px;
  content: "";
  position: relative;
  top: -7px;
  transition: all 0.15s ease-out;/*taken down to hide quicker*/
  transform-origin: center;
}

.navbar-toggler-icon::after {
  display: block;
  background-color: rgba(255,255,255,1);
  height: 3px;
  content: "";
  position: relative;
  top: 4px;
  transition: all 0.35s ease-out;
  transform-origin: center;
}

.navbar-dark .navbar-toggler-icon,
.navbar-dark .navbar-toggler-icon::before,
.navbar-dark .navbar-toggler-icon::after {
  background-color: rgba(255,255,255,1);
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon {
  transform: rotate(45deg);
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::before {
  opacity: 0;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
  transform: rotate(-90deg) translateX(7px) ;
}

/* ==========================================================================
Video
========================================================================== */


.header {
    margin-top: 0;
    position: relative;
    background-color: black;
    height: 100vh;
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
}

.header video {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 129%;
  min-width: 100%;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.header .arrow {
    position: absolute;
    bottom: 10%;
    left:50%;
    margin-left: -51px;
    z-index: 10;
}
.header .arrow img {
    width: 100px;
}

.header .disclaimer {
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 2em;
    z-index: 10;
    font-size: 13px;
}

.mob-header {
    height: 100vh;
    min-width: 100%;
}
.mob-header-img {
    background-image: url(/assets/img/Ferrier_Street_Studios_header_mob.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 100%;
    min-width: 100%;
}

@media (min-width: 992px) { 
.header {
    margin-top: -90px;
    position: relative;
}
.header .arrow {
    position: absolute;
    bottom: 0;
    left:50%;
    margin-left: -51px;
    z-index: 10;
}
}

/* ==========================================================================
Boxes
========================================================================== */

.box-img {
    height: 200px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.box h2 {font-size: 18px;}
.box p {margin-bottom: 0;}
.box-icon {
    width: 100%;
    padding: 2rem;
}
.box-pattern {
    width: 100%;
    padding: 0;
}

/* ==========================================================================
OWL CAROUSEL
========================================================================== */
.owl-carousel {
    position: relative;
    background-color: rgba(255,255,255,1);
}
.owl-dots {
    position: absolute;
    bottom: 10px;
    width: 100%;
    text-align: center;
}
button.owl-dot {
    width: 40px;
    height: 5px;
    margin: 0 3px;
    background-color: rgba(255,255,255,0.4)!important;
}
button.owl-dot.active {
    background-color: rgba(255,255,255,1)!important;
}
.owl-nav {
    width: 100%;
    position: absolute;
    top: 50%;
    height: 100px;
    margin: -50px 0 0 0 !important;
}
button.owl-prev {
    position: absolute;
    left: 2rem;
}
.owl-carousel .owl-nav button.owl-prev span,
.owl-carousel .owl-nav button.owl-next span {
    display: none;
}
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    position: absolute;
    width: 100px;
    height: 100px;
    opacity: 0.6;
    -webkit-transition:opacity 1s;
    -moz-transition:opacity 1s;
    -o-transition:opacity 1s;
    transition:opacity 1s
}
.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover {
    opacity: 1;
    -webkit-transition:opacity 1s;
    -moz-transition:opacity 1s;
    -o-transition:opacity 1s;
    transition:opacity 1s
}
.owl-carousel .owl-nav button.owl-prev {
    left: 0;
    background: url(/assets/icons/prev_arrow.png) right center no-repeat;
    background-size: contain;
}
.owl-carousel .owl-nav button.owl-next {
    right: 0;
    background: url(/assets/icons/next_arrow.png) right center no-repeat;
    background-size: contain;
}

.owl-carousel .owl-nav button.owl-next, 
.owl-carousel .owl-nav button.owl-prev {
    font-size: 300%!important;
}
.loop .carousel-item-img {
    width: 100%;
    height: 300px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.big-carousel .carousel-item-img {
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.smol-carousel .carousel-item-img {
    width: 100%;
    height:500px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* ==========================================================================
AVAILABILITY ITEMS
========================================================================== */
.availability-item {
    position: relative;
}
.availability-item .overlay-link {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.availability-item .overlay-link:hover {
    background-color: rgba(0,0,0, 0.6);
}
.availability-item-img {
    width: 100%;
    height: 300px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.availability-item .overlay-link .overlay-link-icon {
    position: absolute;
    top: 38%;
    left: 50%;
    margin-top: -20px;
    margin-left: -20px;
    width: 40px; 
    opacity: 0.2;
    -webkit-transition:opacity 1s;
    -moz-transition:opacity 1s;
    -o-transition:opacity 1s;
    transition:opacity 1s
}
.availability-item .overlay-link:hover .overlay-link-icon {
    opacity: 1;
}
.availability-item-title {
    font-size: 190%;
}
.availability-item-detail {
    font-size: 110%;
}
.availability-btn.btn-one {
    background: url(/assets/icons/manifestation_icon_1_wo.svg) center right no-repeat;
}
.availability-btn.btn-two {
    background: url(/assets/icons/manifestation_icon_2_wo.svg) center right no-repeat;
}


/* ==========================================================================
LIGHTBOX
========================================================================== */

/*Closed*/
.gallery-item {
    position: relative;
}
.gallery-item .overlay-link {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.gallery-item .overlay-link:hover {
    background-color: rgba(0,0,0, 0.6);
}
.gallery-item .overlay-link .overlay-link-icon {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 40px; 
    opacity: 0.3;
    -webkit-transition:opacity 1s;
    -moz-transition:opacity 1s;
    -o-transition:opacity 1s;
    transition:opacity 1s
}
.gallery-item .overlay-link:hover .overlay-link-icon {
    opacity: 1;
}

/*Open*/
.lb-container {
    position: relative;
}
.lb-outerContainer {
    border-radius: 0;
    background-color: #000;
}
.lightbox .lb-image {
    border: 1px solid #fff;
    border-radius: 0;
}
.lb-dataContainer {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0;
}
.lb-data .lb-close {
    display: block;
    position: absolute;
    top: 1rem;
    right: 1rem;
    width:40px;
    height:40px;
    background:url(/assets/icons/manifestation_icon_close.svg) top right no-repeat;
    text-align:right;
    outline:0;
    filter:alpha(Opacity=70);
    opacity:0.3;
    -webkit-transition:opacity .2s;
    -moz-transition:opacity .2s;
    -o-transition:opacity .2s;
    transition:opacity .2s;
    z-index: 1000;
}
.lb-data .lb-close:hover {
    cursor:pointer;
    filter:alpha(Opacity=100);
    opacity:1
}

/* ==========================================================================
RAIL TAGS
========================================================================== */

ul.rail-icons {
    list-style:none;
    padding: 0;
}
ul.rail-icons li {
    width:15px;
    height:15px;
    display: inline-block;
    padding: 0;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
ul.rail-icons li.train {
    background-image: url(/assets/icons/rail/rail-icons.png);
}
ul.rail-icons li.underground {
    background-image: url(/assets/icons/rail/underground-icons.png);
}
ul.rail-icons li.bakerloo {
    background-image: url(/assets/icons/rail/bakerloo-icons.png);
}
ul.rail-icons li.central {
    background-image: url(/assets/icons/rail/central-icons.png);
}
ul.rail-icons li.circle {
    background-image: url(/assets/icons/rail/circle-icons.png);
}
ul.rail-icons li.district {
    background-image: url(/assets/icons/rail/district-icons.png);
}
ul.rail-icons li.hammersmith {
    background-image: url(/assets/icons/rail/hammersmith-icons.png);
}
ul.rail-icons li.jubilee {
    background-image: url(/assets/icons/rail/jubilee-icons.png);
}
ul.rail-icons li.northern {
    background-image: url(/assets/icons/rail/northern-icons.png);
}
ul.rail-icons li.picadilly {
    background-image: url(/assets/icons/rail/picadilly-icons.png);
}
ul.rail-icons li.victoria {
    background-image: url(/assets/icons/rail/victoria-icons.png);
}
ul.rail-icons li.waterloo {
    background-image: url(/assets/icons/rail/waterloo-icons.png);
}
img.rail-icon {
    max-width: 80px;
}


/* ==========================================================================
FORMS
========================================================================== */

.error{color:#D00;}
.trip{display:none;}
textarea,input,select{width:90%;}

/* ==========================================================================
COOKIE
========================================================================== */

#cookie-bar{background:#FB0;height:24px;line-height:24px;color:#333;text-align:center;padding:10px 4px;opacity:0.9;}
#cookie-bar.fixed{position:fixed;top:0;left:0;width:100%; z-index:9999;}
#cookie-bar p{margin:0;padding:0;}
#cookie-bar a{color:#DDD;display:inline-block;border-radius:3px;text-decoration:none;margin-left:8px;padding:0 6px;}
#cookie-bar .cb-enable{background-color:#333;}
#cookie-bar .cb-enable:hover{color:#FB0;background-color:#222;}
#cookie-bar .cb-disable{background:#333;}
#cookie-bar .cb-disable:hover{background:#666;}
#cookie-bar .cb-policy{background-color:#333;}
#cookie-bar .cb-policy:hover{background-color:#222;color:#FB0;}

/* ==========================================================================
MEDIA QUERIES
========================================================================== */

@media (min-width: 1500px)  { ... }

/* XLarge desktop */
@media (min-width: 1250px)  { 
h1 {font-size: 30px;}
h2 {font-size: 32px;}
h3 {font-size: 20px; font-weight: 400; text-transform: uppercase;}
h4 {font-size: 24px;} 
}
/* Large desktop */
@media (min-width: 992px) { 
.navbar-nav .nav-link {
    height: 90px;
    padding: 1em 1em!important;
}
}


@media (max-width: 992px) { 
.runner {height: 100px;} 
}



/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 992px) { ... }
/* Landscape phone to portrait tablet */
@media (max-width: 768px) { ... }
/* Landscape phones and down */
@media (max-width: 520px) { ... }

/* Print */
@media print {
a[href]:after {
content: none !important;
}
}