﻿@charset "utf-8";
/* CSS Document */


/*
  fonts [imported]
  reset
  supersized
  layout
  teaser
  borders
  rain
  snow
  particles
  curtains
  top shade
  countdown
  menu
  menu mobile
  contact form
  newsletter form
  social icons
  closer
  dividers
  screen loader
  preload
  preload content
  google maps
  center container
  kenburnsy
  YouTube video containment
  HTML5 video containment
  
  hero container
  hero bg
  hero fullscreen FIX
  Owl Carousel v2.2.0 CUSTOM
  home IMG carousel slider
  home IMG carousel slider IMG BACKGROUND
  overlay
*/


/* fonts [imported] */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic,700,700italic,800,800italic);
@import url(https://fonts.googleapis.com/css?family=Oswald:300,400,700);
@import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic);


/* reset */
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, strong, 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;
vertical-align: baseline;
}

html, body {
height: 100%;
}

body {
line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}

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;
}

*:focus {  
outline: none;
}

/* remove dotted outline from links, button and input element */
a:focus, a:active,
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
border: 0;
outline: 0;
}


/* supersized */
img { border: none; }
#supersized-loader { position: absolute; top: 50%; left: 50%; width: 60px; height: 60px; margin: -30px 0 0 -30px; text-indent: -999em; background: none; z-index: -1; }
#supersized { display: block; position: fixed; left: 0; top: 0; overflow: hidden; height: 100%; width: 100%; z-index: -999; }
#supersized img { width: auto; height: auto; position: relative; display: none; outline: none; border: none; }
#supersized.speed img { -ms-interpolation-mode: nearest-neighbor; image-rendering: -moz-crisp-edges; } /* Speed */
#supersized.quality img { -ms-interpolation-mode: bicubic; image-rendering: optimizeQuality; }         /* Quality */
#supersized li { display: block; list-style: none; position: fixed; overflow: hidden; top: 0; left: 0; width: 100%; height: 100%; background: none; z-index: -30; }
#supersized a { width: 100%; height: 100%; display: block; }
#supersized li.prevslide { z-index: -20; }
#supersized li.activeslide { z-index: -10; }
#supersized li.image-loading { background: none; width: 100%; height: 100%; }
#supersized li.image-loading img { visibility: hidden; }
#supersized li.prevslide img, #supersized li.activeslide img { display: inline; }


/* layout */
body {
font-family: 'Open Sans', sans-serif;
font-size: 13px;
line-height: 1.5;
font-style: normal;
font-weight: normal;
text-align: center;
color: #fff;
background: #000;
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
width: 100%;
height: 100%;
}

#intro-top-line {
background: url(../images/intro-top-line.png) no-repeat right;
width: auto;
height: 40px;
}

#intro-top {
font-family: 'Oswald', sans-serif;
font-size: 25px;
line-height: 1;
font-style: normal;
font-weight: 400;
letter-spacing: normal;
text-transform: none;
text-align: left;
color: #fff;
margin: 0 auto;
padding: 7px 0 0 0;
}

.brand-mini,
.brand-sep,
.brand-tagline {
display: inline-block;
vertical-align: middle;
color: #fff;
}

.brand-mini {
font-size: 25px;
font-weight: 400;
letter-spacing: 0.5px;
}

.brand-sep {
font-size: 18px;
padding: 0 6px;
opacity: 0.9;
}

.brand-tagline {
font-size: 15px;
font-weight: 300;
padding-bottom: 2px;
border-bottom: 1px solid rgba(255,255,255,0.45);
}

#intro-bottom-line {
background: url(../images/intro-bottom-line.png) no-repeat left;
width: auto;
height: 40px;
margin: 5px 0 0 0;
}


/* teaser */
#teaser {
font-family: 'Oswald', sans-serif;
font-size: 25px;
line-height: 1;
font-style: normal;
font-weight: 400;
letter-spacing: normal;
text-transform: none;
text-align: right;
margin: -13px 0 0 0;
}

#teaser-text {
position: relative;
height: 80px;
margin: 0;
padding: 0;
overflow: hidden;
}

.teaser-text-animation {
display: none;
text-align: right;
clear: both;
}

.teaser-text-animation.active {
display: inline-table;
}

.teaser-text-animation:before {
content: "";
display: inline-block;
height: 100%;
vertical-align: middle;
}

.teaser-text-animation h3 {
position: relative;
font-family: 'Oswald', sans-serif;
font-size: 25px;
font-weight: 400;
font-style: normal;
text-transform: uppercase;
}

.teaser-text-animation h3:before {
content: "";
clear: both;
}

.teaser-text-animation span {
display: block;
margin: 0 10px 0 0;
padding: 0;
float: left;
}

.teaser-text-animation .teaser-normal {
color: #fff;
}

#intro-title {
font-family: 'Oswald', sans-serif;
font-size: 160px;
line-height: 160px;
font-style: normal;
font-weight: 400;
letter-spacing: 2px;
text-transform: none;
text-align: center;
margin: 29px auto 27px auto;
padding: 0;
text-shadow: 1px 1px 2px #000;
}

#intro-subtitle {
font-family: 'Oswald', sans-serif;
font-size: 14px;
font-style: normal;
font-weight: 400;
color: #fff;
background: #000;
width: 175px;
height: 25px;
padding: 3px 0 0 0;
margin: -120px auto 0 auto;
line-height: 22px;
text-align: center;
border: 1px solid #fff;
}

.home-intro-copy {
max-width: 760px;
margin: 18px auto 10px auto;
padding: 0 14px;
font-family: 'Open Sans', sans-serif;
font-size: 14px;
line-height: 1.6;
color: #fff;
text-align: center;
text-shadow: 1px 1px 2px #000;
}

a {
text-decoration: none;
outline: none;
}

a:hover {
color: #fff;
text-decoration: none;
}

p a {
text-decoration: none;
outline: none;
-webkit-transition: all 0.5s linear;
   -moz-transition: all 0.5s linear;
    -ms-transition: all 0.5s linear;
     -o-transition: all 0.5s linear;
        transition: all 0.5s linear;
}

p a:hover {
color: #fff;
text-decoration: none;
-webkit-transition: all 0.5s linear;
   -moz-transition: all 0.5s linear;
    -ms-transition: all 0.5s linear;
     -o-transition: all 0.5s linear;
        transition: all 0.5s linear;
}

::-moz-selection { background: #555; color: #fff;      /* Firefox */ }
     ::selection { background: #555; color: #fff;      /* Safari */  }


.upper-page {
min-height: 100%;
margin: 0;
padding: 0;
background: none;
height: 100vh;
overflow: hidden;
}

.upper-content {
margin: 0 auto;
padding: 0;
}

.lower-page {
min-height: 100%;
margin: 0;
padding: 0;
}

.lower-content {
margin: 0 auto;
padding: 138px 0 38px 0;
color: #fff;
}

.lower-content p {
margin: 0 auto;
padding: 10px;
color: #fff;
text-align: center;
}

.center {
margin: 0 auto;
position: relative;
z-index: 2;
}

#about, #services, #portfolio, #contact, #privacy, #cookie, #terms {
display: none;
}

.about-intro, .services-intro, .contact-intro {
position: relative;
width: auto;
margin: 0;
padding: 0 0 50px 0;
}

.info {
font-family: 'Roboto', sans-serif;
font-size: 15px;
font-weight: 500;
font-style: normal;
text-transform: uppercase;
padding: 15px 0 15px 0;
line-height: 1;
}

.awesome {
font-size: 30px;
}

.about-column-full, .services-column-full {
padding: 30px 0 30px 0;
}

.about-column, .services-column {
padding: 0 0 30px 0;
}

.contact-column {
padding: 30px 0 30px 0;
}

h1 {
font-family: 'Oswald', sans-serif;
font-size: 70px;
font-style: normal;
font-weight: 400;
letter-spacing: normal;
text-transform: none;
text-align: center;
color: #fff;
margin: 0;
padding: 0;
line-height: 1;
position: relative;
z-index: 2;
}

h2 {
font-family: 'Oswald', sans-serif;
font-size: 35px;
font-style: normal;
font-weight: 400;
letter-spacing: normal;
text-transform: none;
text-align: center;
color: #fff;
margin: 0;
padding: 20px 0 10px 0;
line-height: 1;
}

h4 {
font-family: 'Oswald', sans-serif;
font-size: 13px;
font-weight: 400;
font-style: normal;
text-transform: uppercase;
text-align: center;
color: #fff;
margin: 0 auto;
padding: 5px 0 0 0;
line-height: 1.5;
}


/* borders */
.borders {
position: fixed;
width: 100%;
height: 100%;
overflow: hidden;
left: 0;
top: 0;
border: 15px solid rgba(0,0,0,0.5);
z-index: 0;
}

.borders, .borders:after, .borders:before {
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
   -moz-box-sizing: border-box; /* Firefox, other Gecko */
        box-sizing: border-box; /* Opera/IE 8+ */
}


/* rain */
#rain {
position: fixed;
height: 100%;
width: 100%;
overflow: hidden;
background: url(../images/rain.gif) repeat top left;
        opacity: 0.4;
   -moz-opacity: 0.4;
-webkit-opacity: 0.4;
filter: alpha(opacity=40);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
z-index: 0;
}


/* snow */
#snow {
position: fixed;
width: 100%;
height: 100%;
overflow: hidden;
left: 0;
top: 0;
z-index: 1;
}


/* particles */
#particles-js {
position: fixed;
width: 100%;
height: 100%;
overflow: hidden;
left: 0;
top: 0;
z-index: 1;
}


/* curtains */
#curtains {
position: fixed;
height: 100%;
width: 100%;
background: url(../images/curtains.png) repeat top left;
z-index: -1;
}

#curtains-video {
position: fixed;
height: 100%;
width: 100%;
background: url(../images/curtains.png) repeat top left;
z-index: 0;
}


/* top shade */
#top-shade {
position: fixed;
width: 100%;
height: 100%;
overflow: hidden;
left: 0;
top: 0;

/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjY1Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top,  rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.65)), color-stop(50%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-8 */


z-index: 0;
display: none;
visibility: hidden;
}


/* countdown */
#countdown-wrapper {
position: fixed;
left: 26px;
bottom: 21px;
z-index: 1000;
}

#countdown {
margin: 0 auto;
padding: 0;
}

#countdown li {
display: inline-block;
width: 100px;
}

#countdown span {
font-family: 'Oswald', sans-serif;
font-size: 15px;
font-style: normal;
font-weight: 400;
text-transform: uppercase;
margin-left: 42px;
}

#countdown input {
font-family: 'Oswald', sans-serif!important;
font-weight: 400!important;
font-size: 30px!important;
}

#countdown li div {
display: block!important;
}


/* menu */
.menu {
position: fixed;
width: auto;
top: 22%;
left: 24px;
margin: 0;
padding: 0;
z-index: 1000;
}

.mainNav {
width: 140px;
clear: both;
list-style: none;
text-align: left;
}

ul.mainNav li a {
font-family: 'Oswald', sans-serif;
font-size: 16px;
font-style: normal;
font-weight: 400;
text-transform: uppercase;
color: #fff;
display: block;
margin-bottom: 6px;
padding: 2px 0 2px 12px;
letter-spacing: 0.8px;
list-style: none;
outline: none;
border-left: 2px solid transparent;
transition: color .25s ease, border-color .25s ease, padding-left .25s ease;
}

ul.mainNav li a:hover {
padding-left: 12px;
border-left: 2px solid #FFD700;
color: #FFD700;
}

ul.mainNav li a.active {
padding-left: 12px;
border-left: 2px solid #FFD700;
color: #FFD700;
}

.navNumber {
font-size: 30px;
padding: 0;
}

.navTitle {
letter-spacing: 1px;
color: #fff;
padding: 0 0 0 10px;
}

a:link, a:visited, a:active {
text-decoration: none;
outline: none;
}

li.curr {
text-indent: 0;
}


/* menu mobile */
.menu-mobile {
display: none;
visibility: hidden;
}

.menu-icon {
position: relative;
display: inline-block;
width: 50px;
height: 21px;
border-top: 3px solid #fff;
border-bottom: 3px solid #fff;
}

.menu-icon:before {
position: absolute;
content: "";
top: 9px;
left: 0;
width: 100%;
border-top: 3px solid #fff;
}

.menu-mobile a.menu-mobile-trigger {
width: 50px;
height: 21px;
margin: 0;
padding: 0;
}

.menu-mobile a.menu-mobile-trigger:hover {
cursor: pointer;
background-position: 50px 0;
}

.menu-mobile a {
color: #000;
font-weight: normal;
text-decoration: none;
}

.menu-mobile a.active {
background: none;
}

.menu-mobile ul, li {
margin: 0;
padding: 0;
}

.menu-mobile .lifting {
margin: 4px 0 0 0;
height: 20px;
}

.menu-mobile .lifting-first {
margin: 13px 0 0 0;
height: 20px;
}

.menu-mobile li {
position: relative;
margin: 7px 0 0 0;
padding: 0 0 10px 0;
background: none;
float: right;
text-transform: uppercase;
height: 20px;
}

.menu-mobile li a {
padding: 0 0 9px 7px;
text-decoration: none;
float: right;
text-transform: uppercase;
height: 20px;
-webkit-transition: all 0.4s ease-in-out;
   -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
     -o-transition: all 0.4s ease-in-out;
        transition: all 0.4s ease-in-out;
}

.menu-mobile li ul {
display: none;
right: 0;
position: absolute;
top: 100%;
background: none;
}

.menu-mobile li:hover ul {
display: block;
width: auto;
}

.menu-mobile li ul a {
white-space: nowrap;
background: none;
}

.menu-mobile li ul a:hover {
background: none;
-webkit-transition: all 0.4s ease-in-out;
   -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
     -o-transition: all 0.4s ease-in-out;
        transition: all 0.4s ease-in-out;
}


/* contact form */
#contact form {
width: 100%;
margin: 30px auto 40px auto;
}

form {
margin: 0 auto;
padding: 0;
display: block;
}

input {
position: relative;
width: 100%;
height: 40px;
border: 1px solid #fff;
line-height: 30px;
padding: 5px 5px;
background: none;
margin: 5px;
-webkit-transition: all 0.3s;
   -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
	 -o-transition: all 0.3s;
        transition: all 0.3s;
font-family: 'Open Sans', sans-serif;
font-size: 13px;
line-height: 1.5;
font-style: normal;
font-weight: normal;
text-align: center;
color: #fff;
}

#form input {
width: 90%;
}

#form textarea {
width: 90%;
}

textarea {
position: relative;
width: 100%;
height: 100px;
border: 1px solid #fff;
line-height: 30px;
padding: 5px 5px;
background: none;
margin: 5px;
-webkit-transition: all 0.3s;
   -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
	 -o-transition: all 0.3s;
        transition: all 0.3s;
font-family: 'Open Sans', sans-serif;
font-size: 13px;
line-height: 1.5;
font-style: normal;
font-weight: normal;
text-align: center;
color: #fff;
} 

input:hover,
textarea:hover{
border-color: rgba(255,255,255,0.5);
}

#form input:focus,
#form textarea:focus {
-webkit-animation: glow 900ms ease-out infinite alternate;
   -moz-animation: glow 900ms ease-out infinite alternate;
    -ms-animation: glow 900ms ease-out infinite alternate;
     -o-animation: glow 900ms ease-out infinite alternate;
        animation: glow 900ms ease-out infinite alternate;
}

.submit {
position: relative;
width: 45%;
border: 1px solid #fff;
padding: 5px 35px;
background: none;
font-family: 'Oswald', sans-serif;
font-size: 12px;
font-weight: 400;
font-style: normal;
text-transform: uppercase;
text-align: center;
line-height: 30px;
color: #fff;
text-shadow: 1px 1px 2px #000;
margin: 5px 5px 0 5px;
cursor: pointer;
outline: none;
-webkit-transition: all 0.3s;
   -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
	 -o-transition: all 0.3s;
        transition: all 0.3s;
}

.submit:hover {
color: #fff;
}

.submit:hover:after,
.submit:active:after {
height: 100%;
}

.submit:after {
position: absolute;
width: 100%;
height: 0;
top: 0;
left: 0;
content: '';
-webkit-transition: all 0.3s;
   -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
	 -o-transition: all 0.3s;
        transition: all 0.3s;
z-index: -1;
}

.success {
font-family: 'Oswald', sans-serif;
font-size: 13px;
font-weight: 400;
font-style: normal;
text-transform: uppercase;
text-align: center;
margin: 0 auto;
padding: 30px 0 30px 0;
line-height: 1;
}

#form .error {
font-size: 10px;
text-transform: uppercase;
text-align: center;
display: block;
margin: 0;
padding: 0;
}


@-webkit-keyframes glow {
    0% {
		box-shadow: 0 0 5px rgba(255,255,255,0.2), inset 0 0 5px rgba(255,255,255,0.1)
		}	
    100% {
		box-shadow: 0 0 20px rgba(255,255,255,0.6), inset 0 0 10px rgba(255,255,255,0.4)
		}
}
@-moz-keyframes glow {
    0% {
		box-shadow: 0 0 5px rgba(255,255,255,0.2), inset 0 0 5px rgba(255,255,255,0.1)
    }	
    100% {
		box-shadow: 0 0 20px rgba(255,255,255,0.6), inset 0 0 10px rgba(255,255,255,0.4)
    }
}
@-o-keyframes glow {
    0% {
		box-shadow: 0 0 5px rgba(255,255,255,0.2), inset 0 0 5px rgba(255,255,255,0.1)
    }	
    100% {
		box-shadow: 0 0 20px rgba(255,255,255,0.6), inset 0 0 10px rgba(255,255,255,0.4)
    }
}
@-ms-keyframes glow {
    0% {
		box-shadow: 0 0 5px rgba(255,255,255,0.2), inset 0 0 5px rgba(255,255,255,0.1)
    }	
    100% {
		box-shadow: 0 0 20px rgba(255,255,255,0.6), inset 0 0 10px rgba(255,255,255,0.4)
    }
}
@keyframes glow {
    0% {
		box-shadow: 0 0 5px rgba(255,255,255,0.2), inset 0 0 5px rgba(255,255,255,0.1)
    }	
    100% {
		box-shadow: 0 0 20px rgba(255,255,255,0.6), inset 0 0 10px rgba(255,255,255,0.4)
    }
}

::-webkit-input-placeholder {
font-style: normal;
color: #fff;
}

::-moz-placeholder {
font-style: normal;
color: #fff;
}

:-ms-input-placeholder {
font-style: normal;
color: #fff;
}

input:-moz-placeholder {
font-style: normal;
color: #fff;
}


/* newsletter form */
#subscribe-form {
position: fixed;
bottom: 58px;
right: 15px;
margin: 0;
padding: 0;
z-index: 1000;
}

#subscribe-wrapper {
position: relative;
margin: 10px auto;
background: none;
width: 255px;
height: 55px;
}

#newsletter {
width: auto;
height: 50px;
padding: 2px 0 0 0;
}

.newsletter {
position: relative;
clear: both;
width: auto;
border: none;
background: none;
margin: 0;
padding: 0;
overflow: hidden;
}

#subscribe .mail {
display: none;
visibility: hidden;
}

#subscribe input#subscribeemail {
width: 225px;
height: 28px;
padding: 0;
border-top: none;
border-left: none;
border-right: none;
border-bottom: 1px solid #fff;
margin: 0;
}

#subscribe input {
color: #fff;
font-size: 13px;
text-align: center;
background: none;
}

#subscribe input:focus, #subscribe textarea:focus {
color: #fff;
background: none;
}

#subscribe input#submit {
font-family: 'Oswald', sans-serif;
font-size: 12px;
font-weight: 400;
font-style: normal;
text-transform: uppercase;
text-align: center;
position: relative;
width: 225px;
height: 30px;
line-height: 1;
margin: 10px auto;
padding: 0;
color: #fff;
text-shadow: 1px 1px 2px #000;
cursor: pointer;
}

.subscribesuccess {
font-family: 'Oswald', sans-serif;
font-size: 13px;
font-weight: 400;
font-style: normal;
text-transform: uppercase;
text-align: center;
margin: 0 auto;
padding: 27px 0 0 0;
line-height: 1;
}

#subscribe .subscribeerror {
font-size: 10px;
text-transform: uppercase;
text-align: center;
color: #fff;
display: block;
margin: 0;
padding: 0;
}


/* social icons */
.social-icons-wrapper {
position: fixed;
top: 28px;
right: 26px;
z-index: 1000;
}

.social-icons-wrapper ul {
margin: 0 auto;
padding: 0;
list-style-type: none;
}

.social-icons-wrapper ul li {
display: inline;
margin: 0 auto;
padding: 0;
}

ul.social-icons {
font-size: 15px;
margin: 0;
padding: 0;
}

ul.social-icons a {
padding: 0 5px 0 0;
color: #fff;
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-webkit-transition: all 0.5s linear;
   -moz-transition: all 0.5s linear;
    -ms-transition: all 0.5s linear;
     -o-transition: all 0.5s linear;
        transition: all 0.5s linear;
}

ul.social-icons a:hover {
padding: 0 5px 0 0;
color: #fff;
        opacity: 0.3;
   -moz-opacity: 0.3;
-webkit-opacity: 0.3;
filter: alpha(opacity=30);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
-webkit-transition: all 0.5s linear;
   -moz-transition: all 0.5s linear;
    -ms-transition: all 0.5s linear;
     -o-transition: all 0.5s linear;
        transition: all 0.5s linear;
}


/* closer */
.fire-closer {
position: absolute;
right: 30px;
top: 30px;
width: 25px;
height: 25px;
margin: 0 auto;
-webkit-transition: all 0.5s ease-in-out;
   -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
     -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
z-index: 1000;
}

.fire-closer:hover {
  -webkit-transform: rotate(180deg);
     -moz-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
       -o-transform: rotate(180deg);
          transform: rotate(180deg);
}


/* dividers */
.divider-left-top {
position: absolute;
left: 5px;
top: 0;
width: 10px;
height: 10px;
margin: 0;
padding: 0;
background: url(../images/left-top.png) no-repeat;
}

.divider-right-top {
position: absolute;
right: 5px;
top: 0;
width: 10px;
height: 10px;
margin: 0;
padding: 0;
background: url(../images/right-top.png) no-repeat;
}

.divider-left-bottom {
position: absolute;
left: 5px;
bottom: 0;
width: 10px;
height: 10px;
margin: 0;
padding: 0;
background: url(../images/left-bottom.png) no-repeat;
}

.divider-right-bottom {
position: absolute;
right: 5px;
bottom: 0;
width: 10px;
height: 10px;
margin: 0;
padding: 0;
background: url(../images/right-bottom.png) no-repeat;
}


/* screen loader */
.screen-loader {
position: fixed;
width: 100%;
height: 100%;
overflow: hidden;
left: 0;
top: 0;
background: #000;
z-index: 10000;
display: none;
}


/* preload */
#preload {
position: fixed;
width: 100%;
height: 100%;
overflow: hidden;
left: 0;
top: 0;
background: #000;
display: none;
z-index: 10000;
}

#preload-status {
position: absolute;
width: 25px;
height: 25px;
margin: auto;
padding: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;
display: block;
background: #000 url(../images/preload.gif) no-repeat center center;
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
	
	
/* preload content */
.preload-content {
position: fixed;
width: auto;
height: auto;
margin: 0;
padding: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: #000;
        opacity: 0.6;
   -moz-opacity: 0.6;
-webkit-opacity: 0.6;
filter: alpha(opacity=60);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
}

.preload-content-rain {
position: fixed;
width: auto;
height: auto;
margin: 0;
padding: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: #000;
        opacity: 0.35;
   -moz-opacity: 0.35;
-webkit-opacity: 0.35;
filter: alpha(opacity=35);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=35)";
}


/* google maps */
#map-wrapper {
position: fixed;
width: 100%;
height: 100%;
overflow: hidden;
left: 0;
top: 0;
z-index: -2;
}

#map {
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
left: 0;
top: 0;
z-index: -2;
}


/* center container */
.center-container-home {
position: absolute;
display: table;
height: 100vh;
width: 100%;
left: 0;
top: 0;
background: none;
}

.center-container {
position: absolute;
display: table;
height: 100%;
width: 100%;
left: 0;
top: 0;
background: rgba(0,0,0,0.6);
}

.center-block {
display: table-cell;
vertical-align: middle;
}


/* kenburnsy */
.kenburnsy {
position: relative;
width: 100%;
overflow: hidden;
}

.kenburnsy.fullscreen {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
}

.kenburnsy img {
display: none;
}

.kenburnsy .slide {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-position: center center;
-webkit-background-size: cover;
        background-size: cover;
background-repeat: no-repeat;
-webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
        transform: translateZ(0);
-webkit-transform-origin: center;
    -ms-transform-origin: center;
        transform-origin: center;
}

#kenburnsy-bg {
overflow: hidden;
}


/* HTML5 video containment */
#video-bg {
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
overflow: hidden;
z-index: -2;
background: radial-gradient(circle at 20% 20%, rgba(255,215,0,0.12), rgba(0,0,0,0.92) 55%), linear-gradient(135deg, #0c0c0c 0%, #000 100%);
}

#video-bg video {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transition: opacity 800ms ease;
will-change: opacity;
}

body.video-ready #video-bg video {
opacity: 1;
}


/* hero container */ 
.hero-fullscreen {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
overflow: hidden;
z-index: 0;
}

.hero-fullscreen-thumbnail-slider {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
overflow: hidden;
}


/* hero bg */
.hero-bg {
position: fixed;
width: 100%;
height: 100%;
background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover;
   -moz-background-size: cover;
    -ms-background-size: cover;
     -o-background-size: cover;
        background-size: cover;
}


/* hero fullscreen FIX */ 
.hero-fullscreen-FIX {
width: 100%;
height: 100%;
}


/* Owl Carousel v2.2.1 CUSTOM */
.owl-buttons {
position: static;
}

.owl-prev,
.owl-next {
position: absolute;
display: block;
bottom: 0;
width: 56px;
height: 56px;
line-height: 56px;
font-size: 14px;
color: #000;
text-align: center;
-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
   -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
     -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
        transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
cursor: pointer;
}

.owl-prev {
left: -45px;
}

.owl-next {
right: -45px;
}

.owl-prev:before,
.owl-next:before {
content: "";
display: block;
width: 66%;
height: 66%;
position: absolute;
background: none;
border: none;
-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
   -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
     -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
        transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-webkit-border-radius: 3px;
   -moz-border-radius: 3px;
        border-radius: 3px;
}

.owl-prev:before {
left: 45px;
top: 9px;
}

.owl-next:before {
right: 45px;
top: 9px;
}

.owl-prev .owl-custom,
.owl-next .owl-custom {
position: relative;
}

.owl-prev .owl-custom {
position: relative;
left: 34px;
}

.owl-next .owl-custom {
position: relative;
right: 34px;
}

.owl-prev:hover,
.owl-next:hover {
-webkit-transition: 0 none;
   -moz-transition: 0 none;
	-ms-transition: 0 none;
     -o-transition: 0 none;
        transition: 0 none;
}

.owl-prev:hover,
.owl-next:hover,
.owl-prev:hover:before,
.owl-next:hover:before,
.owl-prev:active:before,
.owl-next:active:before,
.owl-carousel:hover .owl-prev,
.owl-carousel:hover .owl-next {
        opacity: 0.5;
   -moz-opacity: 0.5;
-webkit-opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}

.owl-carousel:hover .owl-prev {
left: -35px;
}

.owl-carousel:hover .owl-next {
right: -35px;
}

#home-page-img-carousel .owl-prev,
#home-page-img-carousel .owl-next {
position: absolute;
display: block;
top: 50%;
margin-top: -29px;
width: 56px;
height: 56px;
line-height: 56px;
font-size: 14px;
color: #000;
text-align: center;
-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
   -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
     -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
        transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
        opacity: 0;
   -moz-opacity: 0;
-webkit-opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

#home-page-img-carousel.owl-prev {
left: -50px;
}

#home-page-img-carousel.owl-next {
right: -50px;
}

#home-page-img-carousel .owl-prev:before,
#home-page-img-carousel .owl-next:before {
content: "";
display: block;
width: 66%;
height: 66%;
position: absolute;
background: rgba(255, 255, 255, 1);
-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
   -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
    -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
     -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
        transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
-webkit-border-radius: 3px;
   -moz-border-radius: 3px;
        border-radius: 3px;
}

#home-page-img-carousel.owl-prev:before {
left: 45px;
top: 9px;
}

#home-page-img-carousel.owl-next:before {
right: 45px;
top: 9px;
}

#home-page-img-carousel.owl-prev .owl-custom,
#home-page-img-carousel.owl-next .owl-custom {
position: relative;
}

#home-page-img-carousel.owl-prev .owl-custom {
position: relative;
left: 34px;
}

#home-page-img-carousel.owl-next .owl-custom {
position: relative;
right: 34px;
}

#home-page-img-carousel.owl-prev:hover,
#home-page-img-carousel.owl-next:hover {
-webkit-transition: 0 none;
   -moz-transition: 0 none;
	-ms-transition: 0 none;
     -o-transition: 0 none;
        transition: 0 none;
}

#home-page-img-carousel .owl-prev:hover,
#home-page-img-carousel .owl-next:hover,
#home-page-img-carousel .owl-prev:hover:before,
#home-page-img-carousel .owl-next:hover:before,
#home-page-img-carousel .owl-prev:active:before,
#home-page-img-carousel .owl-next:active:before,
#home-page-img-carousel.owl-carousel:hover .owl-prev,
#home-page-img-carousel.owl-carousel:hover .owl-next {
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

#home-page-img-carousel.owl-carousel:hover .owl-prev {
left: -35px;
}

#home-page-img-carousel.owl-carousel:hover .owl-next {
right: -35px;
}


/* home IMG carousel slider */
.home-page-img-wrapper {
position: relative;
width: 100%;
height: 100%;
}

#home-page-img .home-page-img-item {
padding: 0;
        opacity: 0.25;
   -moz-opacity: 0.25;
-webkit-opacity: 0.25;
filter: alpha(opacity=25);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
-webkit-transform: scale3d(0.8, 0.8, 1);
   -moz-transform: scale3d(0.8, 0.8, 1);
    -ms-transform: scale3d(0.8, 0.8, 1);
     -o-transform: scale3d(0.8, 0.8, 1);
        transform: scale3d(0.8, 0.8, 1);			
-webkit-transition: all .3s ease-in-out;
   -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out;
}

#home-page-img .owl-item.active.center .home-page-img-item {
        opacity: 1;
   -moz-opacity: 1;
-webkit-opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-webkit-transform: scale3d(1.0, 1.0, 1);
   -moz-transform: scale3d(1.0, 1.0, 1);
    -ms-transform: scale3d(1.0, 1.0, 1);
     -o-transform: scale3d(1.0, 1.0, 1);
        transform: scale3d(1.0, 1.0, 1);
}

.home-page-img-item-1,
.home-page-img-item-2,
.home-page-img-item-3,
.home-page-img-item-4 {
position: relative;
width: 100%;
height: 100vh;
background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover;
   -moz-background-size: cover;
    -ms-background-size: cover;
     -o-background-size: cover;
        background-size: cover;
}


/* home IMG carousel slider IMG BACKGROUND */
.home-page-img-item-1 {		
background-image: url(../img/background/home-page-img-item-1.jpg);
}

.home-page-img-item-2 {		
background-image: url(../img/background/home-page-img-item-2.jpg);
}

.home-page-img-item-3 {	
background-image: url(../img/background/home-page-img-item-3.jpg);
}

.home-page-img-item-4 {		
background-image: url(../img/background/home-page-img-item-4.jpg);
}


/* overlay */
.overlay:before {
content: "";
position: fixed;
display: block;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 1;
}

.overlay-top-bottom-dark-60:before {		
background: rgba(0, 0, 0, .60);
-webkit-pointer-events: none;
   -moz-pointer-events: none;
        pointer-events: none;
}

.overlay-top-bottom-light-60:before {	
background: rgba(255, 255, 255, .60);
-webkit-pointer-events: none;
   -moz-pointer-events: none;
        pointer-events: none;
}

/* HOLD4ROM refinement overrides */
:root {
--h4r-primary: #FFD700;
--h4r-accent: #FFC107;
--h4r-hover: #FFE082;
}

#intro-title {
font-size: 132px;
line-height: 132px;
text-shadow: 0 2px 10px rgba(0,0,0,.5);
}

#intro-top,
#intro-subtitle,
.home-intro-copy,
.teaser-text-animation h3,
.info,
h1,
h2 {
text-shadow: 0 2px 10px rgba(0,0,0,.5);
}

#intro-top-line,
#intro-bottom-line,
.divider-left-top,
.divider-right-top,
.divider-left-bottom,
.divider-right-bottom {
filter: sepia(1) saturate(6) hue-rotate(355deg) brightness(1.2);
}

a, p a,
.navTitle,
.teaser-highlight,
.info,
h1,
h2 {
color: var(--h4r-primary);
}

a:hover, p a:hover {
color: var(--h4r-hover);
}

ul.mainNav li a:hover,
ul.mainNav li a.active {
border-left-color: var(--h4r-primary);
}

#video-bg:after {
content: "";
position: absolute;
inset: 0;
background: rgba(0,0,0,0.45);
pointer-events: none;
}

#countdown-wrapper {
position: relative;
left: auto;
bottom: auto;
width: 100%;
padding-top: 52px;
margin: 0 auto;
}

#competency-rotator {
position: fixed;
right: 60px;
bottom: 45px;
width: 100%;
max-width: 360px;
height: 72px;
z-index: 1100;
overflow: hidden;
}

.rotator-card {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: flex-start;
padding: 16px 18px 16px 28px;
border: none;
background: rgba(0,0,0,0.55);
backdrop-filter: blur(6px);
color: #fff;
font-family: 'Oswald', sans-serif;
font-size: 20px;
letter-spacing: .5px;
text-transform: uppercase;
opacity: 0;
transform: translateX(16px);
transition: opacity .45s ease, transform .45s ease;
text-shadow: 0 2px 10px rgba(0,0,0,.5);
}

.rotator-card:before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 24px;
height: 24px;
border-top: 2px solid #FFD700;
border-left: 2px solid #FFD700;
}

.rotator-card:after {
content: "";
position: absolute;
right: 0;
bottom: 0;
width: 24px;
height: 24px;
border-right: 2px solid #FFD700;
border-bottom: 2px solid #FFD700;
}

.rotator-card.active {
opacity: 1;
transform: translateX(0);
}

#legal-links a {
color: var(--h4r-primary);
border: none;
text-shadow: 0 2px 10px rgba(0,0,0,.5);
position: relative;
}

#legal-links a:hover {
color: var(--h4r-hover);
background: rgba(255, 215, 0, 0.2);
}

#legal-links a:before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 24px;
height: 24px;
border-top: 2px solid #FFD700;
border-left: 2px solid #FFD700;
}

#legal-links a:after {
content: "";
position: absolute;
right: 0;
bottom: 0;
width: 24px;
height: 24px;
border-right: 2px solid #FFD700;
border-bottom: 2px solid #FFD700;
}

.cookie-actions button {
color: var(--h4r-primary);
border: none;
position: relative;
}

.cookie-actions button:hover {
color: var(--h4r-hover);
}

.cookie-actions button:before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 24px;
height: 24px;
border-top: 2px solid #FFD700;
border-left: 2px solid #FFD700;
}

.cookie-actions button:after {
content: "";
position: absolute;
right: 0;
bottom: 0;
width: 24px;
height: 24px;
border-right: 2px solid #FFD700;
border-bottom: 2px solid #FFD700;
}

/* services premium section */
#services {
overflow-y: auto;
}

#portfolio {
overflow-y: auto;
}

#services .center-container {
position: relative;
display: block;
height: auto;
min-height: 100vh;
padding: 60px 0 70px 0;
}

#portfolio .center-container {
position: relative;
display: block;
height: auto;
min-height: 100vh;
padding: 60px 0 70px 0;
}

#services .center-block {
display: block;
}

#portfolio .center-block {
display: block;
}

.services-subtitle {
max-width: 780px;
margin: 16px auto 0 auto;
padding: 0 14px;
font-size: 16px;
line-height: 1.6;
color: #fff;
text-shadow: 0 2px 10px rgba(0,0,0,.5);
}

.compliance-block {
padding: 26px 22px;
background: rgba(0,0,0,0.45);
position: relative;
}

.compliance-block:before,
.compliance-block:after,
.service-card:before,
.service-card:after,
.services-cta:before,
.services-cta:after {
content: "";
position: absolute;
width: 24px;
height: 24px;
pointer-events: none;
}

.compliance-block:before,
.service-card:before,
.services-cta:before {
left: 0;
top: 0;
border-top: 2px solid #FFD700;
border-left: 2px solid #FFD700;
}

.compliance-block:after,
.service-card:after,
.services-cta:after {
right: 0;
bottom: 0;
border-right: 2px solid #FFD700;
border-bottom: 2px solid #FFD700;
}

.compliance-badges {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 14px;
margin-top: 18px;
}

.compliance-badges span {
padding: 8px 12px;
background: rgba(0,0,0,0.55);
color: #fff;
font-size: 13px;
text-transform: uppercase;
letter-spacing: .6px;
position: relative;
}

.service-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 22px;
margin-top: 22px;
}

.service-card {
position: relative;
padding: 18px 16px;
background: rgba(0,0,0,0.5);
color: #fff;
font-family: 'Oswald', sans-serif;
font-size: 17px;
line-height: 1.35;
letter-spacing: .4px;
text-transform: uppercase;
text-shadow: 0 2px 10px rgba(0,0,0,.5);
transition: transform .25s ease, background .25s ease, color .25s ease;
}

.service-card:hover {
transform: translateY(-3px);
background: rgba(0,0,0,0.62);
color: #FFE082;
}

.services-cta {
position: relative;
margin-top: 30px;
padding: 28px 22px;
background: rgba(0,0,0,0.52);
}

.services-cta h2 {
margin: 0 0 18px 0;
font-size: 30px;
line-height: 1.2;
}

.services-cta .submit {
display: inline-block;
width: auto;
border: none;
padding: 12px 20px;
color: #FFD700;
position: relative;
background: rgba(0,0,0,0.4);
}

.services-cta .submit:before,
.services-cta .submit:after {
content: "";
position: absolute;
width: 24px;
height: 24px;
}

.services-cta .submit:before {
left: 0;
top: 0;
border-top: 2px solid #FFD700;
border-left: 2px solid #FFD700;
}

.services-cta .submit:after {
right: 0;
bottom: 0;
border-right: 2px solid #FFD700;
border-bottom: 2px solid #FFD700;
}

.services-cta .submit:hover {
color: #FFE082;
}

/* portfolio carousel */
.portfolio-shell {
max-width: 900px;
margin: 10px auto 0 auto;
padding: 0 12px;
}

.portfolio-carousel {
position: relative;
background: rgba(0,0,0,0.5);
height: min(70vh, 560px);
min-height: 320px;
overflow: hidden;
}

.portfolio-carousel:before,
.portfolio-carousel:after {
content: "";
position: absolute;
width: 24px;
height: 24px;
z-index: 5;
pointer-events: none;
}

.portfolio-carousel:before {
left: 0;
top: 0;
border-top: 2px solid #FFD700;
border-left: 2px solid #FFD700;
}

.portfolio-carousel:after {
right: 0;
bottom: 0;
border-right: 2px solid #FFD700;
border-bottom: 2px solid #FFD700;
}

.portfolio-slide {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity .55s ease;
}

.portfolio-slide.active {
opacity: 1;
z-index: 1;
}

.portfolio-slide img {
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
display: block;
}

.portfolio-caption {
position: absolute;
left: 22px;
bottom: 58px;
z-index: 3;
padding: 8px 12px;
background: rgba(0,0,0,0.55);
color: #fff;
font-family: 'Oswald', sans-serif;
font-size: 18px;
letter-spacing: .5px;
text-transform: uppercase;
text-shadow: 0 2px 10px rgba(0,0,0,.5);
display: none;
}

.portfolio-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 4;
width: 42px;
height: 42px;
border: none;
background: rgba(0,0,0,0.45);
color: #FFD700;
font-size: 24px;
cursor: pointer;
line-height: 42px;
text-align: center;
}

.portfolio-arrow.prev { left: 14px; }
.portfolio-arrow.next { right: 14px; }

.portfolio-arrow:hover {
color: #FFE082;
}

.portfolio-dots {
position: absolute;
left: 50%;
bottom: 18px;
transform: translateX(-50%);
z-index: 4;
display: flex;
gap: 8px;
}

.portfolio-dot {
width: 10px;
height: 10px;
border-radius: 50%;
border: 1px solid #FFD700;
background: transparent;
cursor: pointer;
padding: 0;
}

.portfolio-dot.active {
background: #FFD700;
}

#legal-links {
position: fixed;
left: 20px;
bottom: 20px;
z-index: 1200;
display: flex;
gap: 12px;
font-family: 'Oswald', sans-serif;
font-size: 12px;
text-transform: uppercase;
}

#legal-links a {
color: #fff;
border: 1px solid #fff;
padding: 6px 10px;
background: rgba(0,0,0,0.45);
}

#legal-links a:hover {
background: rgba(255,255,255,0.2);
}

#cookie-banner {
position: fixed;
right: 20px;
bottom: 20px;
max-width: 420px;
padding: 14px;
background: rgba(0,0,0,0.9);
border: 1px solid #fff;
z-index: 1300;
text-align: left;
}

#cookie-banner p {
margin: 0 0 10px 0;
padding: 0;
font-size: 13px;
line-height: 1.4;
}

.cookie-actions {
display: flex;
gap: 8px;
}

.cookie-actions button {
border: 1px solid #fff;
background: transparent;
color: #fff;
padding: 6px 10px;
cursor: pointer;
font-family: 'Oswald', sans-serif;
text-transform: uppercase;
font-size: 12px;
}
