.typo-white {
  color: #ffffff; }

.typo-black {
  color: #212121; }

.typo-gray, .opera-nav-footer ul li a, .lang-switcher li a, .copyrights {
  color: #888888; }

.typo-center, .mobile-menu-container, .btn-white, .btn-send, .filters .filter-button {
  text-align: center; }

.typo-left {
  text-align: left; }

.typo-right, .copyrights, .pr-content {
  text-align: right; }

.typo-bold, .b-tabs li.ui-state-active, .filters .filter-button.is-checked {
  font-weight: 700; }

.typo-disabled {
  color: #9e9e9e; }

.typo-uppercase, .lang-switcher {
  text-transform: uppercase; }

.typo-xxs {
  font-size: 10px; }

.typo-xs, .opera-nav-footer ul li a, .copyrights {
  font-size: 12px; }

.typo-s {
  font-size: 14px; }

.typo-m {
  font-size: 16px; }

.typo-l {
  font-size: 18px; }

.typo-xl {
  font-size: 24px; }

.typo-xxl {
  font-size: 30px; }

.typo-pre-line {
  white-space: pre-line; }

.cols-3-3 .col p {
  margin: 0; }
.cols-3-3 .col.col-gap {
  padding-right: 50px; }
.cols-3-3 .col.col-1-3 {
  flex: 1;
  order: 1; }
.cols-3-3 .col.col-2-3 {
  flex: 2;
  order: 2; }

.cols-2 .col {
  width: 50%;
  -webkit-box-flex: 1 260px;
  -moz-box-flex: 1 260px;
  -webkit-flex: 1 260px;
  -ms-flex: 1 260px;
  flex: 1 260px;
  margin: 0 20px 20px 0; }
  .cols-2 .col:first-child.cols-margin {
    margin: 0 50px 0 0;
    padding-top: 15px; }

.cols-3 .col {
  flex: 1 0; }
  .cols-3 .col:nth-child(1) {
    order: 1; }
  .cols-3 .col:nth-child(2) {
    order: 2; }
  .cols-3 .col:nth-child(3) {
    order: 3; }
  .cols-3 .col.colsgap {
    padding: 0 50px; }

.cols-4 {
  height: 100%; }
  .cols-4.rsp-grid:after {
    content: '';
    display: block;
    clear: both; }
  .cols-4 .col {
    float: left;
    width: 23.5%;
    margin-bottom: 2%; }

textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="email"] {
  -webkit-appearance: none;
  border-radius: 0;
  font-size: 14px; }

.contact-form-item, .contact-form-message {
  width: 100%;
  height: 60px;
  outline: 0;
  background: #ffffff;
  border: 1px solid #212121; }

.contact-form-message {
  height: 150px; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  
*:focus {
  outline: none;
  box-shadow:none;}

html, body {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  vertical-align: middle;
  color: #212121;
  margin: 0; }

input, textarea, select, a, button {
  font-family: "Roboto", sans-serif;
  font-size: 14px; }

a {
  text-decoration: none;
  color: inherit;
  outline: none; }
  a:hover {
    text-decoration: none; }

p {
  font-size: 14px;
  line-height: 18px; }

ul {
  list-style: none;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  margin: auto; }

.white-area {
  background: #ffffff; }

#wrapper {
  position: relative;
  background-color: #ffffff;
  padding: 0 50px; }

#header {
  height: 100px; }

.opera-nav ul {
  margin: 0; }
  .opera-nav ul li {
    margin-right: 45px; }
    .opera-nav ul li a {
      color: #212121;
      text-decoration: none; }

.opera-nav-footer ul {
  margin: 0; }
  .opera-nav-footer ul li {
    margin-right: 45px; }
    .opera-nav-footer ul li a {
      text-decoration: none; }

.lang-switcher {
  margin: 0; }
  .lang-switcher li a {
    text-decoration: none; }

.pr-info-bar {
  height: 100px; }

.pr-info-box {
  padding-bottom: 65px; }

.pr-more {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .pr-more div {
    -webkit-box-flex: 1 0 100%;
    -moz-box-flex: 1 0 100%;
    -webkit-flex: 1 0 100%;
    -ms-flex: 1 0 100%;
    flex: 1 0 100%; }
    .pr-more div i {
      margin: 0 auto; }

.pr-pag {
  height: 55px; }

.social-items a {
  margin-right: 20px; }

#footer {
  height: 100px; }

.mobile-menu-container {
  -webkit-box-flex: 1 0 100%;
  -moz-box-flex: 1 0 100%;
  -webkit-flex: 1 0 100%;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%; }

.b-tabs {
  margin: 0; }
  .b-tabs li {
    outline: none; }

.i-caret-black, .i-menu {
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center; }

.i-caret-black i {
  width: 8px;
  height: 14px; }

.i-caret-black i {
  background: url("../images/icons/small-arrow.svg") no-repeat; }
  .i-caret-black i.caret-left {
    -moz-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }
  .i-caret-black i.caret-top {
    -moz-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg); }
  .i-caret-black i.caret-bottom {
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
  .i-caret-black i.disabled {
    background: url("../images/icons/small-arrow-gray.svg") no-repeat;  }

.i-menu i {
  width: 23px;
  height: 22px; }

.i-menu i {
  mask: url("../images/icons/menu-mobile.svg") no-repeat;
  -webkit-mask: url("../images/icons/menu-mobile.svg") no-repeat;
  background-color: #212121; }
  .i-menu i.is-active {
    mask: url("../images/icons/menu-mobile-close.svg") no-repeat;
    -webkit-mask: url("../images/icons/menu-mobile-close.svg") no-repeat; }

.btn-white, .btn-send, .filters .filter-button {
  display: inline-block;
  background: #ffffff;
  text-decoration: none;
  cursor: pointer;
  padding: 15px 0;
  border: none;
  outline: 0; }

.btn-white {
  border: 1px solid #212121; }

.btn-send {
  height: 60px;
  -webkit-margin-before: -4px;
  border: 1px solid #212121; }
  .btn-send:hover {
    background: #212121;
    color: #ffffff; }

.pag-prev {
  padding-left: 15px; }

.pag-next {
  padding-right: 15px; }

#front-gallery {
  margin: 0 auto; }

.responsive-image {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block; }

.cell img {
  margin: 0 auto; }
.cell .overlay {
  background-color: rgba(255, 255, 255, 0.6);
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  overflow: hidden;
  padding: 2.3em;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  -ms-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out; }
  .cell .overlay:hover {
    opacity: 1; }
  .cell .overlay .gallery-pr-wrapper {
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    width: 100%; }
    .cell .overlay .gallery-pr-wrapper .gallery-pr-container {
      -webkit-transform: translate3d(0, -50%, 0);
      transform: translate3d(0, -50%, 0);
      line-height: 1.4em;
      margin: auto;
      position: relative;
      text-align: center;
      top: 50%;
      width: 100%; }

.grid-level-1 .cell {
  width: calc(50% - 15px); }
  .grid-level-1 .cell:nth-child(odd) {
    margin-right: 15px; }
  .grid-level-1 .cell:nth-child(even) {
    margin-left: 15px; }

.grid-level-2 .cell {
  width: calc(33.3333% - 20px); }
  .grid-level-2 .cell:nth-child(even) {
    margin: 0 30px; }

.grid-level-3 .cell {
  width: calc(25% - 22.5px); }
  .grid-level-3 .cell:nth-child(2) {
    margin: 0 15px 0 30px; }
  .grid-level-3 .cell:nth-child(3) {
    margin: 0 30px 0 15px; }

.filters .filter-button {
  margin-right: 30px;
  margin-bottom: 10px; }

.gutter-sizer {
  width: 1.999%; }

.opera-slider {
  height: calc(100vh - 200px);
  overflow: hidden; }

.rev_slider_wrapper {
  height: 100% !important; }

.fullwidthbanner-container .fullwidthabanner {
  height: 100% !important; }

.tp-leftarrow {
  top: 0 !important;
  left: 0 !important;
  transform: initial !important;
  width: 50% !important;
  height: 100% !important;
  background: transparent !important;
  cursor: url(/wp-content/themes/opera/images/icons/arrow-left.svg), auto !important; 
  touch-action: pan-y;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .tp-leftarrow:hover {
    background: transparent !important; }
  .tp-leftarrow:before {
    display: none !important; }

.tp-rightarrow {
  top: 0 !important;
  right: 0 !important;
  left: initial !important;
  transform: initial !important;
  width: 50% !important;
  height: 100% !important;
  background: transparent !important;
  cursor: url(/wp-content/themes/opera/images/icons/arrow-right.svg), auto !important; 
  touch-action: pan-y;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .tp-rightarrow:hover {
    background: transparent !important; }
  .tp-rightarrow:before {
    display: none !important; }

#slider-nav {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  -moz-transition: opacity 0.5s ease-in-out;
  -ms-transition: opacity 0.5s ease-in-out;
  -o-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out; }

#eu-cookie-bar {
  display: none;
  direction: ltr;
  color: #ffffff;
  min-height: 38px;
  position: fixed;
  right: 0;
  bottom: 35px;
  z-index: 99999;
  padding: 3px 20px 2px;
  background-color: #212121;
  text-align: center;
  font-size: 12px; }

#eu-cookie-bar a {
  color: #ffffff;
  text-decoration: underline; }

button#euCookieAcceptWP {
  margin: 0 10px;
  line-height: 38px;
  background: transparent;
  border: none;
  color: #ffffff;
  padding: 2px 12px;
  border-radius: 3px;
  cursor: pointer;
  font-size: 12px;
  font-weight: bold; }

/*!
 * b_globals.scss by Beezna Group
 * Version - 0.0.1
 *
 * Copyright (c) 2017 Nickos Moustakas
 */
.cols-2, .b-center, .b-flex, .pr-more, .b-flex-vertical-align, #header, .pr-info-bar, .pr-pag, #footer, .b-flex-wrap, .cols-3-3, .grid {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }

.b-overflow {
  overflow: hidden;
  margin: 0; }

.b-container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.b-clear, .opera-nav-footer ul {
  content: "";
  display: table;
  clear: both; }

.b-hidden {
  display: none; }

.b-relative, .cols-3-3 .col, .cols-2, .cols-3 .col, .pr-pag, .cell {
  position: relative; }

.b-absolute, .b-absolute-l, .b-absolute-r {
  position: absolute; }

.b-absolute-l {
  left: 0; }

.b-absolute-r {
  right: 0; }

.b-center {
  justify-content: center;
  align-items: center; }

.b-img-center {
  margin: 0 auto; }

.b-bottom {
  position: absolute;
  bottom: 0; }

.b-push-bottom {
  margin-top: auto; }

.b-flex-item {
  -webkit-box-flex: 1 2;
  -moz-box-flex: 1 2;
  -webkit-flex: 1 2;
  -ms-flex: 1 2;
  flex: 1 2; }

.b-flex-vertical-align, #header, .pr-info-bar, .pr-pag, #footer {
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center; }

.b-flex-wrap, .cols-3-3, .grid {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.b-flex-row, .grid {
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row; }

.b-w-100, .btn-send {
  width: 100%; }

.b-height {
  height: 100vh; }

.b-h-100, .i-caret-black, .i-menu {
  height: 100%; }

.b-marg-lr-xxs {
  margin: 0 5px; }

.b-marg-r-xs {
  margin-right: 10px; }

.b-marg-r-l, .b-tabs li {
  margin-right: 50px; }

.b-marg-top-xs {
  margin-top: 10px; }

.b-marg-top-m, .grid {
  margin-top: 30px; }

.b-marg-top-l {
  margin-top: 50px; }

.b-marg-bot-xxs {
  margin-bottom: 5px; }

.b-marg-bot-xs {
  margin-bottom: 10px; }

.b-marg-bot-s {
  margin-bottom: 20px; }

.b-marg-bot-m, .contact-form-item, .contact-form-message {
  margin-bottom: 30px; }

.b-marg-bot-l {
  margin-bottom: 50px; }

.b-pad-lr-xs {
  padding: 0 10px; }

.b-pad-lr-s {
  padding: 0 20px; }

.b-pad-lr-m {
  padding: 0 30px; }

.b-pad-lr-l {
  padding: 0 50px; }

.b-pad-u-l {
  padding: 50px 0 0; }

.b-pad-ud-xxs {
  padding: 5px 0; }

.b-pad-ud-xs {
  padding: 10px 0; }

.b-pad-ud-m, .b-tabs li {
  padding: 30px 0; }

.b-pad-ud-l {
  padding: 50px 0; }

.b-pad-ud-xl {
  padding: 100px 0; }

.b-pad-xs, .contact-form-item, .contact-form-message {
  padding: 10px; }

.b-float-l, .opera-nav, .opera-nav ul li, .opera-nav-footer ul li, .lang-switcher, .b-tabs li {
  float: left; }

.b-float-r {
  float: right; }

.b-border-top {
  border-top: 1px solid #212121; }

.b-pointer:hover, .pr-more:hover, .slide-prev:hover, .slide-next:hover {
  cursor: pointer; }
  
.b-no-select {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }  
  
.b-no-outline {
  outline: none;
  -webkit-tap-highlight-color: transparent; }  

.b-link {
  text-decoration: underline;
  font-style: italic; }

.b-filter-grid:after {
  content: '';
  display: block;
  clear: both; }

/* MOBILE  550px*/
@media screen and (max-width: 550px) {
  #wrapper {
    padding: 0 20px; }

  .m-hide {
    display: none; }
    
  .logo {
      width: 125px; }    

  .pr-pag {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100%; }
    .pr-pag .col:nth-child(1) {
      order: 2;
      position: absolute;
      left: 0;
      top: 50px; }
    .pr-pag .col:nth-child(2) {
      order: 1;
      -webkit-box-flex: 2 0 100%;
      -moz-box-flex: 2 0 100%;
      -webkit-flex: 2 0 100%;
      -ms-flex: 2 0 100%;
      flex: 2 0 100%;
      border-bottom: 1px solid #212121;
      padding-bottom: 20px;
      margin-bottom: 20px; }
    .pr-pag .col:nth-child(3) {
      order: 3;
      position: absolute;
      right: 0;
      top: 50px; }
    .pr-pag + .cols-3 {
      padding-top: 20px; }
      .pr-pag + .cols-3 .col:nth-child(1) {
        border-top: 1px solid #212121; }

  .b-tabs li {
    width: 50%;
    margin-right: 0;
    text-align: center; } 
  .opera-slider {
    height: calc(100vh - 200px - 34px); }}
    
@media (max-width: 740px) and (orientation: landscape) {
  html, body {
    overflow: hidden;
    position: relative;
    height: 100vh;
    -webkit-overflow-scrolling: auto;}
  .opera-slider {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999999;
    width: 100%;
    height: 100vh;
    background: #ffffff;}}
/* MOBILE AND TABLET ... - 768px*/
@media screen and (max-width: 768px) {
  body.is-active {
    overflow: auto;
    overflow-y: hidden;
    height: 100vh;
    position: fixed; }
    body.is-active #mobile-menu {
      display: flex;
      align-items: center;
      position: absolute;
      background: #ffffff;
      width: 100%;
      height: calc(100vh - 100px);
      left: 0;
      top: 100px;
      z-index: 100; }

  .opera-nav {
    float: none;
    content: "";
    display: table;
    clear: both;
    margin: 0 auto; }
    .opera-nav ul li {
      margin: 0;
      width: 100%;
      padding: 15px 0; }
      .opera-nav ul li a {
        font-weight: 700; }

  .lang-switcher {
    float: none;
    margin-top: 45px; }

  .tm-hide {
    display: none; }

  .td-show {
    display: none; }

  .cols-3 {
    flex-wrap: wrap; }
    .cols-3:not(.pr-pag):not(.b-flex):not(.pr-more):not(.pr-info-bar) .col {
      -webkit-box-flex: 2 0 100%;
      -moz-box-flex: 2 0 100%;
      -webkit-flex: 2 0 100%;
      -ms-flex: 2 0 100%;
      flex: 2 0 100%; }

  .cols-3-3 .col {
    -webkit-box-flex: 1 0 100% !important;
    -moz-box-flex: 1 0 100% !important;
    -webkit-flex: 1 0 100% !important;
    -ms-flex: 1 0 100% !important;
    flex: 1 0 100% !important; }
    .cols-3-3 .col.col-gap {
      margin-bottom: 30px; }

  .contact-form {
    margin-top: 50px; }
    
  .pr-content {
    text-align: left; }}
@media screen and (max-width: 800px) {
  .contact-form .cols-2 {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .contact-form .cols-2 .col {
      flex: 1 100%;
      margin: 0; }

  .rsp-grid .col {
    width: 100% !important;
    margin-bottom: 30px !important; }

  .gutter-sizer {
    width: 0% !important; }

  .footer-items {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100%; }
    .footer-items .col {
      flex: 2 0 100%; }
      .footer-items .col:nth-child(1) {
        order: 2; }
      .footer-items .col:nth-child(2) {
        order: 1;
        -webkit-box-flex: 2 0 100%;
        -moz-box-flex: 2 0 100%;
        -webkit-flex: 2 0 100%;
        -ms-flex: 2 0 100%;
        flex: 2 0 100%;
        padding: 0; }
        .footer-items .col:nth-child(2).top-active {
          margin: 30px 0; }
        .footer-items .col:nth-child(2):not(.top-active) {
          margin-top: 30px; }
      .footer-items .col:nth-child(3) {
        order: 3;
        margin-bottom: 20px; }

  .opera-nav-footer {
    margin-top: 30px;
    margin-bottom: 30px; }
    .opera-nav-footer ul {
      margin: 0 auto;
      content: "";
      display: table;
      clear: both; }

  .copyrights {
    text-align: center; }
    
  .tp-leftarrow, .tp-rightarrow {
    display: none !important; }}
@media screen and (max-width: 1024px) {
  .opera-nav-footer ul li {
    margin-right: 25px; }
    .opera-nav-footer ul li:last-child {
      margin-right: 0; }

  .rsp-grid .col {
    width: 48%;
    margin-bottom: 4%; }
    .rsp-grid .col .cell .overlay {
      background: transparent; }
      .rsp-grid .col .cell .overlay .gallery-pr-wrapper {
        display: none; }
    .rsp-grid .col .cell .gallery-pr-title {
      display: block; }

  .gutter-sizer {
    width: 4%; } }
/* TABLET AND DESKTOP 769px - ...*/
@media screen and (min-width: 769px) {
  .m-menu {
    display: none; }

  .td-hide {
    display: none; } }
/* TABLET ... - 1280px */
@media screen and (max-width: 1279px) {
  .ut-hide {
    display: none; }

  .cols-3.pr-info-bar {
    text-align: left;
    margin-bottom: 30px; }
    
  .project-title h1 {
      font-weight: 500;
      font-size: 21px; }
      
  .gallery-pr-title h4 {
      font-size: 21px; }      

  .grid .cell {
    flex: 1 0 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    width: auto !important; }
    .grid .cell:not(:nth-child(1)) {
      margin-top: 30px; }
    .grid .cell .overlay {
      background: transparent; }
      .grid .cell .overlay .gallery-pr-wrapper {
        display: none; }
    .grid .cell .gallery-pr-title {
      display: block; }}
/* 769px - 1280px*/
@media (min-width: 769px) and (max-width: 1280px) {
  .td-show {
    display: block; } }
/* DESKTOP 1281px - ...*/
@media screen and (min-width: 1281px) {
  .td-show {
    display: none; }

  .t-show {
    display: none; }

  .m-show {
    display: none; } }
