/* site.css: reset, generic, fancyBox, Slick and breakpoints combined into one file (2026-11-10) */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input:focus,textarea:focus,select:focus,button:focus,span:focus { outline:none !important;outline-style: none;box-shadow:none; }


html,body { height: 100%; }

@font-face {
    font-family: 'gothambold';
    src: url('../webfonts/gothambold-webfont.woff2') format('woff2'),
         url('../webfonts/gothambold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'gothammedium';
    src: url('../webfonts/gothammedium-webfont.woff2') format('woff2'),
         url('../webfonts/gothammedium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'gothambook';
    src: url('../webfonts/gothambook-webfont.woff2') format('woff2'),
         url('../webfonts/gothambook-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'gothamlight';
    src: url('../webfonts/gothamlight-webfont.woff2') format('woff2'),
         url('../webfonts/gothamlight-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

body { margin: 0;padding: 0;min-height: 100%;font-family: 'gothamlight',arial,tahoma,verdana;font-size: 16px;background: #7a6a5c;color: #fff;overflow-x: hidden; } 

strong { font-family: 'gothambook'; }

a { text-decoration: none; }

.clear:after { content: ".";display: block;height: 0;clear: both;visibility: hidden; }

* { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box; }

.page_width { max-width: 1140px;margin-left: auto;margin-right: auto; }

input, textarea { border-radius: 0; }

h1,h2,h3,h4,h5,h6 { font-family: 'gothamlight'; }



p { font-size: 16px;line-height: 26px;margin-bottom: 24px; }

.mb_small { margin-bottom: 10px; }
.mb_med { margin-bottom: 20px; }
.mb_large { margin-bottom: 30px; }
.mb_vlarge { margin-bottom: 50px; }
.mb_vvlarge { margin-bottom: 100px; }

.tac { text-align: center; }
.un { text-decoration: underline; }

.large { font-size: 14px;line-height: 20px; }

img { max-width: 100%;height: auto; }
.block { display: block; }
.iblock { display: inline-block; }

.relative { position: relative; }


::-webkit-input-placeholder {
   color: #888;opacity: 1;
}

:-moz-placeholder { /* Firefox 18- */
   color: #888;opacity: 1;
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #888;opacity: 1;
}

:-ms-input-placeholder {  
   color: #888;opacity: 1;
}


/* layouts */

.underline { width: 90%;margin-bottom: 20px;height: 2px;background: #7a6a5c; }

.half_left { width: 50%;float: left; }
.half_right { width: 50%;float: right; }

.content_padding_left { padding-right: 6%; }
.content_padding_right { padding-left: 6%; }

.section_1 { border-top: 15px solid #7a6a5c;background: #3f4f58;padding: 150px 0; }

.section_2.is-visible { background-image: url('../img/edinburgh.webp'); }
.section_2 {background-repeat: no-repeat;background-size: cover;background-position: center -190px;padding-top: 60px;min-height: 530px;text-align: center;color: #3d4e57; }

.section_3 { background: #3f4f58;padding: 100px 0; }
.section_3 .underline { background: #929ca1; }
.section_3 .half_left ul { list-style: disc;margin-left: 15px; }
.section_3 .half_left ul li { margin-bottom: 10px;padding-left: 15px; line-height: 24px; }

.section_4 { background: #f1f1f1;padding: 140px 0 90px;color: #3f4f58; }
.section_4 .top_left { float: left;width: 50%; }
.section_4 .top_right { float: right; }
.section_4 .underline { background: #939ca1; }

.large_plans { display: flex;align-items: baseline;flex-wrap: wrap;justify-content: center;padding-top: 20px;margin-bottom: 80px; }
.large_plans div { width: 33.33%;padding: 0 30px 50px;position: relative; }
.large_plans span { display: block;position: absolute;bottom: 0;left: 0;text-align: center;width: 100%;font-size: 16px;text-transform: uppercase; }

.large_plans img { display: block; }


.large_icons { display: flex;justify-content: center;flex-wrap: wrap;text-align: center; }
.large_icons > div { width: 25%;padding: 0 25px 50px; }
.large_icons div img { width: 180px;height: 180px;display: block;margin: 0 auto 18px; }

.section_5.is-visible { background-image: url('../img/edinburgh_skyline.webp'); }
.section_5 {background-repeat: no-repeat;background-size: cover;background-attachment: fixed;height: 400px; }

.section_6 { padding: 140px 0; }
.section_6 .underline { background: #fff; }

.section_6b.is-visible { background-image: url('../img/slider/no_7_alva_street_office_003.webp'); }
.section_6b {background-repeat: no-repeat;background-size: cover;background-attachment: fixed;height: 400px; }

.section_6b { padding: 140px 0; }
.section_6b .underline { background: #fff; }

.map_wrap { position: relative; }
.map_wrap img.map { display: block; }
.map_wrap img.zoom { display: block;z-index: 99;position: absolute;right: 20px;bottom: 20px;width: 45px;height: 45px;transition: all 0.4s ease; }
.map_wrap a:hover img.zoom { width: 75px;height: 75px; }

.area_list { width: 50%;float: left;padding-right: 50px; }
.area_list:last-child { padding-right: 0px; }

.area_list h3 { font-family: 'gothammedium';margin-bottom: 16px; }
.area_list ol { list-style: none;margin-left: 0px; }
.area_list ol li { margin-bottom: 6px; }

ul.transport_list li { padding: 14px 0 14px 54px;position: relative; }
ul.transport_list li img { width: 34px;height: 34px;position: absolute;left: 0;top: 50%;margin-top: -17px; }

.section_7 { padding: 100px 0;background: #3f4f58;color: #fff; }
.section_7 a { color: #fff; }

.section_7 .left { float: left;width: 20%; }
.section_7 .right { float: right;width: 80%;text-align: right; }
.section_7 .right .inner h2 { margin-bottom: 50px; }

ul.footer_logos { display: flex;align-items: center;flex-wrap: wrap;justify-content: flex-end;margin-bottom: 30px; }
ul.footer_logos li { margin-left: 15px; }
ul.footer_logos li:first-child { margin-left: 0px; }
ul.footer_logos li img { display: block;max-height: 115px; }

ul.contacts { display: flex;flex-wrap: wrap;justify-content: flex-end;margin-bottom: 20px; }
ul.contacts li { margin-left: 40px;margin-bottom: 40px; }
ul.contacts li:first-child { margin-left: 0px; }
ul.contacts li p { font-size: 14px;line-height: 20px;margin-bottom: 16px; }
ul.contacts li p:last-child { margin: 0; }


.section_8 { padding: 50px 0;text-align: center; }
.section_8 ul.social { display: flex;align-items: center;justify-content: center;margin-bottom: 30px; }
.section_8 ul.social li { margin: 0 20px; }
.section_8 ul.social li a { color: #fff;font-size: 15px;font-family: 'gothambook';text-transform: uppercase;letter-spacing: 1.5px; }

.section_8 p { font-size: 14px;line-height: 22px; }
.section_8 p:last-child { margin: 0; }



a.book_blue { display: block;font-family: 'gothammedium';white-space: nowrap;font-size: 14px;text-transform: uppercase;letter-spacing: 2px;background: #3f4f58;color: #fff;padding: 18px 32px; }

.offices { padding: 40px 0;position: relative;margin-bottom: 50px; }

.offices .office { padding: 0 5px;font-family: 'gothambook';font-size: 15px; }
.offices .office .inner { background: #fff; }
.offices .office .thumb_wrapper { padding: 10px;position: relative; }
.offices .office .thumb_wrapper .thumb { display: block;padding-top: 100%;background-size: contain;background-repeat: no-repeat;background-position: center; }
.offices .office .details { padding: 15px; }
.offices .office .details .drow { display: flex;align-items: center;border-bottom: 1px dotted #7a6a5c;padding-bottom: 8px;margin-bottom: 8px; }
.offices .office .details .drow .left { width: 33%;font-family: 'gothammedium'; }
.offices .office .details .drow .right { width: 67%; }

a.enquire { display: block;background: #3d4e57;color: #fff;text-align: center;padding: 12px 0;text-transform: uppercase;font-family: 'gothambook';font-size: 14px; }
span.let { display: block;background: #eee;color: #666;text-align: center;padding: 12px 0;text-transform: uppercase;font-family: 'gothambook';font-size: 14px; }


.office_arrow { display: block;width: 30px;height: 60px;position: absolute;top: 50%;z-index: 999;margin-top: -30px;text-align: center;font-size: 26px;line-height: 60px;background: #7a6a5c;color: #fff;transition: all 0.4s ease; }

.office_next { right: -15px; }
.office_prev { left: -15px; }

.offices .slick-dots { margin-top: 4px;display: flex;justify-content: center; }
.offices .slick-dots li { margin: 0 8px; }
.offices .slick-dots li button { width: 9px;height: 9px;border: 0;font-size: 0;outline: none;text-indent: -9999px;background: #7a6a5c;opacity: 0.5;border-radius: 5px; }
.offices .slick-dots li.slick-active button { opacity: 1; }

.offices .slick-disabled { opacity: 0; }


#enquiry_form { width: 700px;max-width: 100%;min-height: 600px;color: #6c5b4c; }
#enquiry_form h3 { font-size: 20px;font-family: 'gothammedium';margin-bottom: 16px; }

.form_row { margin-bottom: 15px; }
.enq_field { padding: 12px;font-family: inherit;font-size: 16px;border: 1px solid #7a6a5c;width: 100%; }
.enq_button { display: block;background: #7a6a5c;color: #fff;font-family: 'gothambook';width: 100%;letter-spacing: 1.5px;font-size: 16px;text-transform: uppercase;border: 0;padding: 18px; }

input.err { background: #900;color: #fff; }


/* headers */

h2 { font-size: 28px;line-height: 1.4;margin-bottom: 20px; }



/* slider */

#home_slider_container { position: relative; }

#home_slider_container #top { position: absolute;left: 0;top: 0;width: 100%;z-index: 999;padding-top: 85px; }

#home_slider_container #top .top_left { float: left;width: 30%; }

#home_slider_container #top .top_right { float: right; }
a.book_bronze { display: block;font-family: 'gothammedium';white-space: nowrap;font-size: 14px;text-transform: uppercase;letter-spacing: 2px;background: #7a6a5c;color: #fff;border: 1px solid #fff;padding: 18px 32px; }

.slider_wrapper,.slick-list,.slick-track,.slick-slide div { height: 100%; }

.slider_wrapper .slide { height: 100%;position: relative;background: #3f4f58; }
.slider_wrapper .slide img { display: block;width: 100%;height: 100%;max-width: none;object-fit: cover; }

.small_slider .slide { position: relative;aspect-ratio: 4 / 3;height: auto;background: #e9e6e2; }
.small_slider .slide img { position: absolute;inset: 0;display: block;width: 100%;height: 100%;object-fit: cover; }
.small_slider .slick-dots { margin-top: 4px;display: flex;justify-content: flex-end; }
.small_slider .slick-dots li { margin-left: 10px; }
.small_slider .slick-dots li button { width: 9px;height: 9px;border: 0;font-size: 0;outline: none;text-indent: -9999px;background: #fff;opacity: 0.6;border-radius: 5px; }
.small_slider .slick-dots li.slick-active button { opacity: 1; }

/* form */



/* navigation */

a#mobile_menu { display: none; }

.close_mobile_menu { display: none;position: absolute;right: 15px;top: 15px;color: #fff;font-size: 40px;text-decoration: none; }

.fw_open { margin-left: 0 !important; }

/* added 2026-11-10: layout stability, lazy images, accessibility */
#home_slider_container { height: 100vh;height: 100svh; }
.slider_wrapper:not(.slick-initialized) .slide:not(:first-child),
.small_slider:not(.slick-initialized) .slide:not(:first-child) { display: none; }
.offices:not(.slick-initialized) { display: flex;overflow: hidden; }
.offices:not(.slick-initialized) .office { flex: 0 0 25%; }
#home_slider_container h1.top_left { margin: 0;font-size: inherit; }
#home_slider_container h1.top_left img { display: block; }
.large_icons h2 { min-height: 2.8em; }
.office_arrow svg { display: block;width: 100%;height: 100%; }
.vh { position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border: 0; }
a:focus-visible, button:focus-visible { outline: 2px solid #fff;outline-offset: 2px; }
body.compensate-for-scrollbar {
    overflow: hidden;
}

.fancybox-active {
    height: auto;
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden;
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992;
}

.fancybox-container * {
    box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.fancybox-bg {
    background: rgb(30, 30, 30);
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71);
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible;
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fancybox-toolbar {
    right: 0;
    top: 0;
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden;
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    /* Using without prefix would break IE11 */
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994;
}

.fancybox-slide::before {
    content: '';
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
    display: block;
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0;
}

.fancybox-slide--image::before {
    display: none;
}

.fancybox-slide--html {
    padding: 6px;
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    -ms-transform-origin: top left;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
    cursor: -webkit-grab;
    cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.fancybox-container [data-selectable='true'] {
    cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
}

.fancybox-spaceball {
    z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.fancybox-slide--video .fancybox-content {
    background: #000;
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff;
}

.fancybox-video,
.fancybox-iframe {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0;
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%;
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

/* Buttons */

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
    color: #ccc;
}

.fancybox-button:hover {
    color: #fff;
}

.fancybox-button:focus {
    outline: none;
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none;
}

/* Fix IE11 */
.fancybox-button div {
    height: 100%;
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
    display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
    display: none;
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -ms-transform-origin: 0;
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998;
}

/* Close button on the top right corner of html content */

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401;
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none;
}

/* Navigation arrows */

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px;
}

.fancybox-navigation .fancybox-button div {
    padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right);
}

/* Caption */

.fancybox-caption {
    background: linear-gradient(to top,
        rgba(0, 0, 0, .85) 0%,
        rgba(0, 0, 0, .3) 50%,
        rgba(0, 0, 0, .15) 65%,
        rgba(0, 0, 0, .075) 75.5%,
        rgba(0, 0, 0, .037) 82.85%,
        rgba(0, 0, 0, .019) 88%,
        rgba(0, 0, 0, 0) 100%);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px 44px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996;
}

@supports (padding: max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
    }
}

.fancybox-caption--separate {
    margin-top: -50px;
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none;
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Loading indicator */

.fancybox-loading {
    animation: fancybox-rotate 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999;
}

@keyframes fancybox-rotate {
    100% {
        transform: rotate(360deg);
    }
}

/* Transition effects */

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1);
}

/* transitionEffect: slide */

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */

.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1;
}

/* transitionEffect: zoom-in-out */

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    -ms-transform: rotate(-360deg);
    transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}

/* transitionEffect: circular */

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px;
    }

    .fancybox-slide--image {
        padding: 6px 0;
    }

    .fancybox-close-small {
        right: -6px;
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px;
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px;
    }

    @supports (padding: max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right));
        }
    }
}
/* Share */

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center;
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px 0;
}

.fancybox-share p {
    margin: 0;
    padding: 0;
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px 5px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.fancybox-share__button:visited,
.fancybox-share__button:link {
    color: #fff;
}

.fancybox-share__button:hover {
    text-decoration: none;
}

.fancybox-share__button--fb {
    background: #3b5998;
}

.fancybox-share__button--fb:hover {
    background: #344e86;
}

.fancybox-share__button--pt {
    background: #bd081d;
}

.fancybox-share__button--pt:hover {
    background: #aa0719;
}

.fancybox-share__button--tw {
    background: #1da1f2;
}

.fancybox-share__button--tw:hover {
    background: #0d95e8;
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px;
}

.fancybox-share__button svg path {
    fill: #fff;
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%;
}
/* Thumbs */

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px 2px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995;
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block;
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px;
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px;
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px;
}

.fancybox-thumbs__list a::before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: '';
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s cubic-bezier(.25, .46, .45, .94);
    z-index: 99991;
}

.fancybox-thumbs__list a:focus::before {
    opacity: .5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
    opacity: 1;
}

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px;
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px;
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px);
    }
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}


@media screen and (max-width: 1600px) {

.section_2 { background-position: center top; }

}

@media screen and (max-width: 1280px) {
.page_width { padding-left: 30px;padding-right: 30px; }

#home_slider_container #top { padding-top: 45px; }

}

@media screen and (max-width: 968px) {
.page_width { padding-left: 20px;padding-right: 20px; }

.clear div:last-child { margin-bottom: 0; }

#home_slider_container #top .top_left { width: 40%; }

.half_left { width: 100%;float: none;margin-bottom: 50px; }
.half_right { width: 100%;float: none;margin-bottom: 50px; }

.content_padding_left { padding-right: 0; }
.content_padding_right { padding-left: 0; }

.section_1 { padding: 80px 0; }

.section_2 { padding-top: 40px;min-height: 730px; }


.section_3 { padding: 70px 0; }

.section_4 { padding: 80px 0 50px; }

.large_icons > div { width: 50%; }

.section_6 { padding: 80px 0; }

.map_wrap { width: 80%;margin: auto; }

.section_7 { padding: 80px 0; }

.office_arrow { width: 25px;height: 80px;margin-top: -40px;font-size: 20px;line-height: 80px; }

.office_next { right: -10px; }
.office_prev { left: -10px; }

#enquiry_form { min-width: 95%; }

}

@media screen and (max-width: 668px) {
html,body { -webkit-text-size-adjust: none; }


.page_width { padding-left: 15px;padding-right: 15px; }

.mb_vvlarge { margin-bottom: 60px; }

#home_slider_container #top { padding-top: 20px;height: 100%; }

#home_slider_container #top .top_left { float: none;width: 90%;margin: auto; }

#home_slider_container #top .top_right { float: none;position: absolute;left: 0;bottom: 20px;width: 100%;padding: 0 15px; }
a.book_bronze { padding: 18px 14px;text-align: center; }

h2 { font-size: 26px; }

.section_1 { padding: 50px 0; }

.section_2 { min-height: 830px; }

.section_3 { padding: 50px 0; }

.section_4 { padding: 50px 0 20px; }

.section_4 .top_left { float: none;width: 100%;margin-bottom: 20px; }
.section_4 .top_right { float: none;text-align: center; }
.large_plans { margin-bottom: 45px; }

.large_plans div { width: 50%;padding: 0 10px 50px; }
.large_plans span { bottom: 20px; }

.large_icons > div { width: 100%;padding: 0 0px 30px; }

.area_list { width: 100%;float: none;padding-right: 0px;margin-bottom: 40px; }
.area_list:last-child { margin-bottom: 0px; }

.map_wrap { width: 100%; }

.section_6 { padding: 50px 0; }

.section_7 { padding: 50px 0 50px 0; }

.section_7 .left { float: none;width: 30%;margin: 0 auto 30px; }
.section_7 .right { float: none;width: 100%;text-align: center; }
.section_7 .right .inner h2 { margin-bottom: 20px;font-size: 22px; }

ul.footer_logos { justify-content: center; }
ul.footer_logos li { margin-left: 10px;margin-right: 10px; }
ul.footer_logos li:first-child { margin-left: 10px; }
ul.footer_logos li img { max-height: 85px; }

ul.contacts { justify-content: center;margin-bottom: 0px; }
ul.contacts li { margin-left: 0px;margin-bottom: 20px;width: 100%;text-align: center; }

}
