/*
Theme Name: DODO Theme
Theme URI: https://dodo.nl/
Author: DODO Internet
Author URI: https://dodo.nl/
Description: Theme from DODO Internet and Studioviv. This theme only works in combination with the plugin Advanced Custom Field PRO. And can be intregrated with WooCommerce and Contact Form 7.
Version: 6.2
License: GNU General Public License v2 or later
License URI: ONLY for DODO and Studioviv
Text Domain: dodo_theme
*/

@font-face {
    font-family: 'Montserrat';
    src: url('inc/Montserrat/Montserrat-VariableFont_wght.ttf');
}

@font-face {
    font-family: 'Roboto Slab';
    src: url('inc/Roboto_Slab/RobotoSlab-VariableFont_wght.ttf');
}

/* ========== Other CSS ========== */
html, body, html a {
  -webkit-font-smoothing: antialiased !important;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: 'Montserrat';
  font-size: 18px;
  font-weight: 400;
  line-height: 31.86px;
  background-color: var(--global-grey);
  color: var(--global-black);
}

h1 {
  font-family: 'Roboto Slab';
  font-size: 55px;
  font-weight: 400;
  line-height: 65px;
  margin-bottom: 25px;
}

h2 {
  font-family: 'Roboto Slab';
  font-size: 45px;
  font-weight: 400;
  line-height: 55px;
  margin-bottom: 25px;
}

h3 {
  font-family: 'Roboto Slab';
  font-size: 36px;
  font-weight: 400;
  line-height: 47.48px;
  margin-bottom: 20px;
}

h4 {
  font-family: 'Roboto Slab';
  font-size: 28px;
  font-weight: 400;
  line-height: 36.93px;
  margin-bottom: 20px;
}

h5, h6 {
  font-family: 'Roboto Slab';
  font-size: 25px;
  font-weight: 400;
  line-height: 32.97px;
  margin-bottom: 20px;
}

p {
  margin-bottom: 20px;
}

.content-area ul {}

.content-area li {}

.content-area table {
  width: 100%;
}

.content-area td {}

a {
  color: var(--global-black);
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

a:hover {
  color: var(--global-color-3);
  text-decoration: none;
}

a:active {
  color: var(--global-black);
  text-decoration: none;
}

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

*:focus {
  outline: none !important;
  box-shadow: none !important;
}

img.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

img.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* ========== General ========== */
#page {
  overflow: hidden;
}

.content-area {
  height: auto !important;
}

.dodorow {
  position: relative;
}

.dodorow:first-child[class^=bg-] {
  margin-top: -45px;
}

.dodorow:last-child[class^=bg-] {
  margin-bottom: -45px;
}

.dodorow[class^=bg-] {
  margin: 45px 0;
}

.no-top-margin.dodorow[class^=bg-] {
  margin-top: -45px;
}

.same-bg-color.dodorow[class^=bg-] {
  margin-top: -135px;
}

.row {
  padding: 45px 0;
}

.dodorow[class^=bg-] div:not(.container-fluid) .row {
  padding: 90px 0;
}

.valign {
  display: flex;
  align-items: center;
}

.valign .inner {
  width: 100%;
}

.row-title {
  margin-bottom: 45px;
}

.row-title span {
  color: var(--global-color-3);
}

.butn {
  display: inline-block;
  border: 2px solid var(--global-color-3);
  background-color: transparent;
  color: var(--global-black);
  padding: 10px 30px;
  margin-top: 25px;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.butn:hover {
  border-color: var(--global-color-3);
  background-color: var(--global-color-3);
  color: var(--global-white);
}

.butn:active {
  border-color: var(--global-black);
  background-color: var(--global-black);
  color: var(--global-white);
}

.butn span {
  font-family: 'Roboto Slab';
  font-size: 25px;
  font-weight: 400;
  line-height: 33px;
}

.butn span::after {
  content: url('img/arrow-long.svg');
  line-height: 0;
  vertical-align: middle;
  margin-left: 10px;
}

.butn:hover span::after,
.butn:active span::after {
  content: url('img/arrow-long-white.svg');
}

.butns {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.butns .butn {
  margin: 0;
}

.smediabutn {
  position: relative;
  display: inline-block;
  border: 2px solid var(--global-color-3);
  background-color: var(--global-grey);
  color: var(--global-black);
  height: 45px;
  width: 45px;
  margin: 0 2.5px 2.5px;
}

.smediabutn:hover {
  border-color: var(--global-color-3);
  background-color: var(--global-color-3);
  color: var(--global-white);
}

.smediabutn:active {
  border-color: var(--global-black);
  background-color: var(--global-black);
  color: var(--global-white);
}

.smediabutn i,
.smediabutn svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.smediabutn i {
  font-size: 18px;
}

.smediabutn svg {
  height: 18px;
}

.smediabutn svg path {
  fill: var(--global-color-1);
  transition: fill .2s ease;
}

.smediabutn:hover svg path {
  fill: var(--global-white);
}

.smediabutn:active svg path {
  fill: var(--global-white);
}

.smedia {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.smedia .smediabutn {
  margin: 0;
}

.grecaptcha-badge {
  visibility: hidden;
}

/* ========== Header ========== */
#masthead {
  margin-bottom: 45px;
}

#masthead .row {
  padding: 0;
}

#masthead .site-branding {
  position: relative;
  width: 100%;
  /* height: 100%; */
  margin: 10px 0 0;
}

#masthead .site-branding .logo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  max-width: 205px;
}

#masthead .socials {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  font-size: 0;
}

#masthead .socials .smediabutn {
  font-size: 16px;
}

#masthead .navbar {
  width: 100%;
  margin: 0;
  padding: 35px 0;
}

#masthead .navbar-brand {
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}

#masthead .navbar-nav {
  margin: 0 -20px;
}

#masthead .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

#masthead .nav-item .nav-link {
  font-size: 18px;
  font-weight: 600;
  color: var(--global-color-1);
  padding: 10px 17.5px;
}

#masthead .nav-item .nav-link:hover {
  color: var(--global-color-2);
}

#masthead .nav-item.active .nav-link,
#masthead .nav-item .nav-link:active {
  color: var(--global-black);
}

#masthead .dropdown:hover > .dropdown-menu {
  display: block;
}

#masthead .dropdown-menu {
  border: 0;
  margin-top: 0;
  padding: 0;
  border-radius: 0;
}

#masthead .navbar-nav .dropdown-item {
  background-color: var(--global-grey);
  color: var(--global-black);
  padding: 10px 20px;
}

#masthead .navbar-nav .dropdown-item:hover {
  background-color: var(--global-color-2);
  color: var(--global-white);
}

#masthead .navbar-nav .dropdown-item.active,
#masthead .navbar-nav .dropdown-item:active {
  background-color: var(--global-black);
  color: var(--global-white);
}

/* ========== Dodo Rows ========== */
.header-row {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 329px;
  margin: 45px 0;
}

.header-row.option-small {}

.header-row.option-large {}

.header-row .header-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.header-row .header-image {
  position: relative;
  width: 100%;
  height: 100%;
}

.header-row .header-image::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: calc(100%);
  height: calc(100% + 17.5px);
  background-image: url('img/header-border.png');
  background-position: center;
  background-size: 100% 100%;
  transform: translate(-52.5%, -50%);
}

.header-row .header-image-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.header-row .header-content {
  padding: 90px 45px 90px 0;
}

.header-row .header-content .row-title span {
  position: relative;
}

.header-row .header-content .row-title span::after {
  content: url('img/header-underline.svg');
  position: absolute;
  top: 85%;
  left: 50%;
  display: block;
  line-height: 0;
  transform: translateX(-50%);
}

.header-row .header-content .row-text span {
  color: var(--global-color-3);
}

.image_text-row.side-left .inner {
  padding-left: 45px;
}

.image_text-row.side-right .inner {
  padding-right: 45px;
}

.image_text-row .main-image .main-image-img {
  width: 100%;
}

.image_text-row .container-fluid {
  padding: 0;
}

.image_text-row .container-fluid .row {
  padding: 0;
  margin: 0;
}

.image_text-row .container-fluid .inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.image_text-row .container-fluid .main-image {
  width: 100%;
  height: 100%;
  min-height: 350px;
}

.image_text-row .container-fluid .main-image .main-image-img {
  height: 100%;
  object-fit: cover;
}

.dividingline-row .dividingline-item {
  position: relative;
}

.dividingline-row .line {
  /* background-color: var(--global-color-3); */
  background-image: url('img/line.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  height: 4px;
  width: 100%;
}

.dividingline-row.option-title .line,
.dividingline-row.option-butn .line {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.dividingline-row .dividingline-item .row-title,
.dividingline-row .dividingline-item .butn {
  position: relative;
  display: block;
  width: max-content;
  max-width: 95%;
  background-color: var(--background-title);
  margin: 0 auto;
}

.dividingline-row .dividingline-item .row-title {
  text-align: center;
  padding: 0 15px;
}

.dividingline-row .dividingline-item .butn {
  min-width: 225px;
  text-align: center;
  border: 0;
  padding: 15px 30px;
}

.dividingline-row .dividingline-item .butn::before,
.dividingline-row .dividingline-item .butn::after {
  position: absolute;
  top: 50%;
  line-height: 0;
  transform: translateY(-50%);
  opacity: 1;
  transition: opacity .2s ease;
}

.dividingline-row .dividingline-item .butn::before {
  content: url('img/butn-left.svg');
  left: 0;
}

.dividingline-row .dividingline-item .butn::after {
  content: url('img/butn-right.svg');
  right: 0;
}

.dividingline-row .dividingline-item .butn:hover::before,
.dividingline-row .dividingline-item .butn:hover::after,
.dividingline-row .dividingline-item .butn:active::before,
.dividingline-row .dividingline-item .butn:active::after {
  opacity: 0;
}

.dividingline-row .dividingline-item .butn:hover {
  background-color: var(--global-color-3);
}

.dividingline-row .dividingline-item .butn:active {
  background-color: var(--global-black);
}

.post-row .post-slider-controls {
  position: relative;
  display: flex;
  gap: 45px;
  justify-content: center;
  margin-bottom: 45px;
}

.post-row .post-slider-controls .carousel-control-next,
.post-row .post-slider-controls .carousel-control-prev {
  position: relative;
  top: initial;
  left: initial;
  right: initial;
  bottom: initial;
  width: max-content;
}

.post-row .post-item {
  margin: 15px 0;
}

.post-row .post-item .post-image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 56.25%;
}

.post-row .post-item .post-image::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background-image: url('img/block-border-black.png');
  background-position: center;
  background-size: 100% 100%;
  /* border: 2px solid var(--global-black); */
  transform: translate(-51%, -47.5%);
}

.post-row .post-item .post-image-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.post-row .post-item .post-inner {
  padding: 25px 0 0;
  background-color: var(--global-grey);
}

.post-row .post-item .post-title {
  margin-bottom: 0;
}

.post-row .post-item .post-date {
  display: block;
  font-weight: 600;
  margin-bottom: 15px;
}

.post-row .post-item .post-text {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-row .pagination {
  margin: 25px 0;
}

.post-row .pagination .page-numbers {
  padding: 7px 15px;
  margin-right: 10px;
  border: 1px solid var(--global-color-1);
  background-color: var(--global-white);
  color: var(--global-color-1);
}

.post-row .pagination .page-numbers:hover {
  border-color: var(--global-color-1);
  background-color: var(--global-color-1);
  color: var(--global-white);
}

.post-row .post-illustrations .illustration-images {
  position: relative;
}

.post-row .post-illustrations .illustration-image-img {
  position: absolute;
  bottom: -90px;
  width: 400px;
  height: auto;
}

.post-row .post-illustrations .illustration-image-img.left {
  right: calc(100% + 45px);
}

.post-row .post-illustrations .illustration-image-img.right {
  left: calc(100% + 45px);
}

.gallery-row {
  overflow-x: hidden;
}

.gallery-row .scroll .scroll-item {
  width: 315px;
  padding: 0 15px;
}

.gallery-row .scroll .scroll-item .img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 350px;
}

.gallery-row .grid {
  margin: 5px -10px;
  width: calc(100% + 20px) !important;
}

.gallery-row .grid:after {
  content: '';
  display: block;
  clear: both;
}

.gallery-row .grid-sizer,
.gallery-row .grid-item {
  width: 33.333%;
}

.gallery-row .grid-item {
  float: left;
  padding: 10px;
}

.gallery-row .grid-item img {
  display: block;
  width: 100%;
}

.videos-row .youtube-image {
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  max-width: 800px;
  margin: 15px auto;
  cursor: pointer;
}

.videos-row .youtube-image::before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 56.25%;
}

.videos-row .youtube-image iframe {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  border: 0;
  z-index: 9;
}

.videos-row .youtube-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.instagram-row .scroll-item {
  padding: 0 15px;
}

.instagram-row .scroll-item .img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 250px;
  height: 250px;
}

.instagram-row .smedia {
  justify-content: center;
  margin-bottom: 15px;
}

.table-row .row {
  padding: 45px 0;
}

.table-row .table-container {
  overflow-x: scroll;
  margin-bottom: 15px;
}

.table-row table {
  min-width: 500px;
  width: 100%;
}

.table-row tr:nth-child(odd) {
  background-color: var(--global-grey);
}

.table-row tr:first-child {
  background-color: var(--global-color-1);
  color: var(--global-white);
  font-weight: 700;
}

.table-row th,
.table-row td {
  padding: 15px 20px;
}

.table-row th.price,
.table-row td.price {
  text-align: right;
}

.table-row td.price::before {
  content: "€ ";
}

.accordion-row .card {
  border: 0;
  background-color: var(--global-white);
  border-radius: 0;
  margin-bottom: 15px;
}

.accordion-row .card-header {
  position: relative;
  background-color: var(--global-grey);
  border: 0;
  border-radius: 0;
  padding: 0;
  transition: background-color .2s ease;
}

.accordion-row .card-header .btn {
  padding: 25px 30px;
}

.accordion-row .card-header .btn[aria-expanded=true] {
  background-color: var(--global-color-1);
}

.accordion-row .card-header h4 {
  display: inline-block;
  width: 90%;
  margin: 0;
  white-space: normal;
}

.accordion-row .card-header .btn[aria-expanded=true] h4 {
  color: var(--global-white);
}

.accordion-row .card-header button {
  width: 100%;
  position: relative;
  text-align: left;
}

.accordion-row .card-header button i {
  position: absolute;
  padding: 5px 15px;
  right: 15px;
}

.accordion-row .card-header .btn[aria-expanded=true] i {
  color: var(--global-white);
}

.accordion-row .card-body {
  padding: 25px 30px;
  border: 2px solid var(--global-grey);
  border-top: 0;
}

.contact-row .contact-item {
  font-family: 'Roboto Slab';
  font-size: 24px;
  font-weight: 400;
  line-height: 31.65px;
  padding-right: 45px;
}

.blocks-row .block-item {
  position: relative;
}

.blocks-row .block-item.type-text {
  height: 100%;
  padding: 25px;
}

.blocks-row .block-item::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: calc(100% + 17.5px);
  height: calc(100% + 17.5px);
  background-image: url('img/block-border-black.png');
  background-position: center;
  background-size: 100% 100%;
  /* border: 2px solid var(--global-black); */
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.blocks-row .block-item.type-text::after {
  width: calc(100% + 25px);
  height: calc(100% + 25px);
}

.blocks-row .block-item.color-yellow::after {
  background-image: url('img/block-border-yellow.png');
}

.blocks-row .col-12:not(.col-md-6) .block-item::after {
  background-image: url('img/block-border-large-black.png');
}

.blocks-row .col-12:not(.col-md-6) .block-item.color-yellow::after {
  background-image: url('img/block-border-large-yellow.png');
}

.blocks-row .block-image {
  position: relative;
  width: 100%;
  padding-top: 65%;
}

.blocks-row .block-image-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.blocks-row .block-content.outside {
  padding-top: 45px;
}

.post-row .post-item .post-link,
.blocks-row .block-link,
.custom-row .custom-link {
  font-family: 'Roboto Slab';
  font-size: 25px;
  font-weight: 400;
  line-height: 33px;
  padding-bottom: 5px;
  border-bottom: 2px solid var(--global-color-3);
}

.post-row .post-item .post-link::after,
.blocks-row .block-link::after,
.custom-row .custom-link::after {
  content: url('img/arrow-long.svg');
  line-height: 0;
  vertical-align: middle;
  margin-left: 10px;
}

.custom-row .d-md-block.illustration-image {
  margin-top: 45px;
  margin-bottom: -90px;
}

.custom-row .illustration-image-img {}

.single-project .gallery-row .gallery-image,
.single-project .image_text-row .main-image {
  position: relative;
  width: 100%;
  height: 100%;
}

.single-project .image_text-row .main-image::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background-image: url('img/header-border.png');
  background-position: center;
  background-size: 100% 100%;
  transform: translate(-50%, -50%);
}

.single-project .gallery-row .gallery-image::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  background-image: url('img/block-border-black.png');
  background-position: center;
  background-size: 100% 100%;
  transform: translate(-50%, -50%);
}

/* ========== background colors ========== */
.bg-white {
  background-color: var(--global-white);
}

.bg-grey {
  background-color: var(--global-grey);
}

.bg-color_1 {
  background-color: var(--global-color-1);
  color: var(--global-white);
}

.bg-color_2 {
  background-color: var(--global-color-2);
  color: var(--global-white);
}

.bg-color_3 {
  background-color: var(--global-color-3);
  color: var(--global-white);
}

.bg-color_1 a,
.bg-color_2 a,
.bg-color_3 a {
  color: var(--global-white);
}

.bg-color_1 a:hover,
.bg-color_2 a:hover {
  color: var(--global-color-3);
}

.bg-color_3 a:hover {
  color: var(--global-black);
}

.bg-color_1 a:active,
.bg-color_2 a:active,
.bg-color_3 a:active {
  color: var(--global-white);
}

.bg-color_1 .butn,
.bg-color_1 .smediabutn,
.bg-color_2 .butn,
.bg-color_2 .smediabutn {
  border-color: var(--global-white);
  background-color: var(--global-white);
  color: var(--global-black);
}

.bg-color_1 .smediabutn:hover,
.bg-color_1 .butn:hover,
.bg-color_2 .smediabutn:hover,
.bg-color_2 .butn:hover {
  border-color: var(--global-grey);
  background-color: var(--global-grey);
  color: var(--global-white);
}

.bg-color_1 .smediabutn:active,
.bg-color_1 .butn:active,
.bg-color_2 .smediabutn:active,
.bg-color_2 .butn:active {
  border-color: var(--global-black);
  background-color: var(--global-black);
  color: var(--global-white);
}

#masthead .bg-color_1 .navbar-toggler-icon,
#masthead .bg-color_2 .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* ========== Instabio ========== */
.page-template-instabio .logo {
  width: 150px;
  max-width: 100%;
}

/* ========== Footer ========== */
#colophon {
  position: relative;
  margin-top: 135px;
}

#colophon::before {
  content: '';
  background-image: url('img/footer-border.png');
  background-size: 100% 100%;
  position: absolute;
  left: 50%;
  top: -10px;
  width: 1875px;
  min-width: 99%;
  height: 85%;
  transform: translateX(-50%);
}

#colophon .site-footer .row {
  padding: 30px 0;
}

#colophon .site-footer .footerwidget {
  padding-top: 15px;
  padding-bottom: 15px;
}

#colophon .site-footer .site-branding {
  width: max-content;
  max-width: 100%;
  margin: -105px auto 0;
}

#colophon .site-info,
#colophon .site-info a {
  font-size: 14px;
  color: var(--global-black);
}

#colophon .site-info .row {
  padding: 10px 0;
}

/* ========== Bootstrap 4 Carousel ========== */
.carousel-indicators li {
  background-color: var(--global-grey);
  opacity: 1;
}

.carousel-indicators li.active {
  background-color: var(--global-color-1);
}

.carousel-control-next,
.carousel-control-prev {
  opacity: 1;
}

/* ========== contact form 7 ========== */
.wpcf7-form {
  max-width: 100%;
  margin: auto;
}

.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form label,
.wpcf7-form p,
.wpcf7-form span,
.wpcf7-form select {
  width: 100%;
  height: auto;
  border-radius: 0;
  margin: 0
}

.wpcf7-form label {
  margin-bottom: 20px;
}

.wpcf7-form .wpcf7-select,
.wpcf7-form .wpcf7-text,
.wpcf7-form .wpcf7-textarea {
  padding: 15px 20px;
  border: 1px solid var(--global-grey);
}

.wpcf7-form .wpcf7-textarea {
  max-height: 150px;
}

.wpcf7-form input[type=checkbox],
.wpcf7-form input[type=radio] {
  width: auto;
}

.wpcf7-form .form-control:focus {
  color: var(--global-color-1);
  background-color: var(--global-white);
  border-color: var(--global-color-1);
  outline: 0;
  box-shadow: 0;
}

/* CF7 verzendknop */
.wpcf7-form .wpcf7-submit {
  border-color: var(--global-color-1);
  background-color: var(--global-color-1);
  color: var(--global-white);
  width: max-content;
  max-width: 100%;
  padding: 15px 30px;
}

.wpcf7-form .wpcf7-submit:hover,
.wpcf7-form .wpcf7-submit:focus {
  border-color: var(--global-color-2);
  background-color: var(--global-color-2);
  color: var(--global-white);
}

.wpcf7-form .wpcf7-submit:not(:disabled):not(.disabled).active,
.wpcf7-form .wpcf7-submit:not(:disabled):not(.disabled):active,
.wpcf7-form .show>.wpcf7-submit.dropdown-toggle {
  border-color: var(--global-black);
  background-color: var(--global-black);
  color: var(--global-white);
}

.wpcf7-form .wpcf7-spinner {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.wpcf7-form .wpcf7-butn {
  position: relative;
  width: max-content;
  max-width: 100%;
  padding: 0;
}

.wpcf7-form .wpcf7-butn {
  padding-bottom: 5px;
  border-bottom: 2px solid var(--global-color-3);
  background-color: transparent;
}

.wpcf7-form .wpcf7-butn::after {
  content: url('img/arrow-long.svg');
  line-height: 0;
  vertical-align: -moz-middle-with-baseline;
  margin-left: 10px;
}

.wpcf7-form .wpcf7-butn .wpcf7-submit {
  position: relative;
  font-family: 'Roboto Slab';
  font-size: 25px;
  font-weight: 400;
  line-height: 33px;
  border: 0;
  background-color: transparent;
  color: var(--global-black);
  padding: 0;
}

.wpcf7-form .wpcf7-butn .wpcf7-submit:hover {
  background-color: transparent;
  color: var(--global-color-3);
}

.wpcf7-form .wpcf7-butn .wpcf7-submit:active {
  background-color: transparent !important;
  color: var(--global-black) !important;
}

.wpcf7-form .wpcf7-butn .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.wpcf7 form .wpcf7-response-output {
  border-color: var(--global-color-1);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: var(--global-color-2);
}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
  border-color: var(--global-color-2);
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: var(--global-color-3);
}

/* ========== carousel-multislide ========== */
@media (min-width: 768px) and (max-width: 991px) {
  /* Show 3rd slide on sm if col-md-6*/
  .carousel-multislide .carousel-inner .active.col-md-6.carousel-item + .carousel-item + .carousel-item {
    position: absolute;
    top: 0;
    right: -50%;  /*change this with javascript in the future*/
    /* z-index: -1; */
    display: block;
    visibility: visible;
  }
}
/* MD */
@media (min-width: 768px) {
  .carousel-multislide .carousel-item {
    margin-right: 0;
  }
  /* show 2 items */
  .carousel-multislide .carousel-inner .active + .carousel-item {
    display: block;
  }
  .carousel-multislide .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),
  .carousel-multislide .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item {
    transition: none;
  }
  .carousel-multislide .carousel-inner .carousel-item-next {
    position: relative;
    transform: translate3d(0, 0, 0);
  }
  /* left or forward direction */
  .carousel-multislide .active.carousel-item-left + .carousel-item-next.carousel-item-left,
  .carousel-multislide .carousel-item-next.carousel-item-left + .carousel-item,
  .carousel-multislide .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  /* farthest right hidden item must be also positioned for animations */
  .carousel-multislide .carousel-inner .carousel-item-prev.carousel-item-right {
    position: absolute;
    top: 0;
    left: 0;
    /* z-index: -1; */
    display: block;
    visibility: visible;
  }
  /* right or prev direction */
  .carousel-multislide .active.carousel-item-right + .carousel-item-prev.carousel-item-right,
  .carousel-multislide .carousel-item-prev.carousel-item-right + .carousel-item,
  .carousel-multislide .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    visibility: visible;
    display: block;
    visibility: visible;
  }
}
/* LG */
@media (min-width: 991px) {
  /* Show 4th slide on md if col-lg-4*/
  .carousel-multislide .carousel-inner .active.col-lg-4.carousel-item + .carousel-item + .carousel-item + .carousel-item {
    position: absolute;
    top: 0;
    right: -33.3333%;  /*change this with javascript in the future*/
    /* z-index: -1; */
    display: block;
    visibility: visible;
  }

  /* show 3rd of 3 item slide */
  .carousel-multislide .carousel-inner .active + .carousel-item + .carousel-item {
    display: block;
  }
  .carousel-multislide .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item {
    transition: none;
  }
  .carousel-multislide .carousel-inner .carousel-item-next {
    position: relative;
    transform: translate3d(0, 0, 0);
  }
  /* left or forward direction */
  .carousel-multislide .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  /* right or prev direction */
  .carousel-multislide .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    visibility: visible;
    display: block;
    visibility: visible;
  }
}

/* ========== Scroll ========== */
.scroll-container {
  position: relative;
  width: 100%;
}

.scroll-container .scroll {
  white-space: nowrap;
  font-size: 0;
  position: relative;
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  -khtml-user-select: none;
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Old versions of Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently supported by Chrome, Opera and Firefox */
  overflow-x: scroll;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.scroll-container .scroll::-webkit-scrollbar {
  display: none;
}

.scroll .scroll-item {
  position: relative;
  display: inline-block;
  font-size: initial;
  vertical-align: top;
}

.scroll-controls {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 40px;
}

.scroll-control-next,
.scroll-control-prev {
  position: absolute;
  opacity: 1;
  height: 40px;
  width: 40px;
  background-color: var(--global-grey);
  top: 0;
  cursor: pointer;
}

.scroll-control-next:hover,
.scroll-control-prev:hover {
  background-color: var(--global-color-1);
}

.scroll-control-next {
  right: 0;
}

.scroll-control-prev {
  left: 0;
}

.scroll-control-next img,
.scroll-control-prev img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ========== newsletter popup ========== */
.newsletter-container {
  display: none;
  position: fixed;
  bottom: 0;
  right: 0;
  background-color: var(--global-color-1);
  color: var(--global-white);
  width: 380px;
  max-width: 100%;
  z-index: 9999999;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.5);
}

.newsletter-container span.cross {
  position: absolute;
  top: 15px;
  right: 12.5px;
  cursor: pointer;
}

.newsletter-container span.cross img {
  margin: 0;
}

.newsletter-container .inner {
  padding: 45px;
}

.newsletter-container .inner h1 {
  color: var(--global-white);
  text-align: center;
}

.newsletter-container .mailpoet_form {
  padding: 0 !important;
}

.newsletter-container .mailpoet_form .mailpoet_text {
  border: 1px solid var(--global-white) !important;
  padding: 10px 15px !important;
}

.newsletter-container .mailpoet_form .mailpoet_submit {
  border: 1px solid var(--global-white) !important;
  background-color: var(--global-color-1) !important;
  color: var(--global-white) !important;
  padding: 10px 15px !important;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.newsletter-container .mailpoet_form .mailpoet_submit:hover {
  background-color: var(--global-white) !important;
  border-color: var(--global-color-1) !important;
  color: var(--global-color-1) !important;
}

.newsletter-container .mailpoet_form .mailpoet_submit:active {
  background-color: var(--global-grey) !important;
  border-color: var(--global-grey) !important;
  color: var(--global-black) !important;
}

/* ========== responsive ========== */
@media only screen and (min-width: 768px) {
  .row {
    margin-right: -20px;
    margin-left: -20px;
  }

  .col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto,
  .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto,
  .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto,
  .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto,
  .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Large Devices, Wide Screens */
@media only screen and (max-width: 1200px) {
  h1 {
    font-size: 50px;
  }
}

/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
  h1 {
    font-size: 45px;
  }

  h2 {
    font-size: 35px;
  }

  h3 {
    font-size: 30px;
  }

  h4 {
    font-size: 25px;
  }

  h5, h6 {
    font-size: 20px;
  }
}

/* Small Devices, Tablets */
@media only screen and (max-width: 768px) {
  body {
    font-size: 16px;
    line-height: 28px;
  }

  h1 {
    font-size: 36px;
    line-height: normal;
  }

  h2 {
    font-size: 32px;
    line-height: normal;
  }

  h3 {
    font-size: 28px;
    line-height: normal;
  }

  h4 {
    font-size: 24px;
    line-height: normal;
  }

  h5, h6 {
    font-size: 20px;
    line-height: normal;
  }

  .col-12 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .butn span {
    font-size: 20px;
    font-weight: 400;
    line-height: 25px;
  }

  #masthead .site-branding .logo {
    position: relative;
    width: max-content;
    height: auto;
    max-width: 100%;
    max-height: 150px;
    top: initial;
    left: initial;
    margin: auto;

    /* left: 50%; */
    /* transform: translateX(-50%); */
  }

  #masthead .navbar {
    margin-top: -35px;
    padding: 0 0 15px;
  }

  .image_text-row.side-left .inner,
  .image_text-row.side-right .inner {
    padding-left: 0;
    padding-right: 0;
  }

  .image_text-row .container .main-image {
    margin-top: 45px;
  }


  .image_text-row.side-left .container-fluid .inner,
  .image_text-row.side-right .container-fluid .inner {
    padding: 45px;
  }

  .gallery-row .grid-sizer,
  .gallery-row .grid-item {
    width: 50%;
  }

  .instagram-row .instaimg {
    width: calc(50% - 20px);
  }

  .contact-row .contact-item {
    padding-right: 0;
    padding-bottom: 45px;
  }

  .blocks-row .col-12:not(.col-md-6) .block-item::after {
    background-image: url('img/block-border-black.png');
  }

  .blocks-row .col-12:not(.col-md-6) .block-item.color-yellow::after {
    background-image: url('img/block-border-yellow.png');
  }

  #colophon::before {
    content: none;
  }
}

/* Extra Small Devices, Phones */
@media only screen and (max-width: 576px) {
  .gallery-row .grid-sizer,
  .gallery-row .grid-item {
    width: 100%;
  }

  .instagram-row .instaimg {
    width: calc(100% - 20px);
  }
}

@media only screen and (max-width: 480px) {}

/* Custom, iPhone Retina */
@media only screen and (max-width: 320px) {}
