/*!
Theme Name: DontBePatient - Hello Elementor Child
Description: Child-theme for the main-theme Hello Elementor. Fit the needs for the DontBePatient website
Author: BuildingBridges gGmbH
Author URI: https://buildingbridges.social
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor
*/

/* global fonts */
@font-face {
  font-family: 'Open Sans';
  src: url(webfont1.woff2) format('woff2'),
       url(webfont1.woff2) format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'Varela Round';
  src: url(webfont2.woff2) format('woff2'),
       url(webfont2.woff2) format('woff2');
  font-display: swap;
}

/* global settings */
:root
{
--webfont1-font-family: Open Sans;
--webfont2-font-family: Varela Round;
--background-header: rgba(185,238,234,1);
--color-light-mint: #B9EEEA;
--color-poison-orange: #E25526;
--color-light-grey: #F5F5F5;
--color-header-nav-a: #646464;
--color-header-nav-hover-active: #000000;
--color-no-js: #d20000;
--color-content-main: #324158;
--color-content-link: #009C9A;
--color-background-main: #FFFFFF;
--color-footer-main: #FFFFFF;
--color-footer-hover-active: #000000;
--mobile-header-footer-width: 96%;
--desktop-header-footer-width: 90%;
--desktop-header-footer-min-width: 960px;
--desktop-header-footer-max-width: 1920px;
--desktop-header-height: 100px;
--mobile-header-height: 74px;
--content-width: 100%;
--color-form-input: #0A0A0A;
--color-form-placeholder: #F63;
}

/* begin settings all devices */
html,
body 
{
margin: 0px;
padding: 0px;
width: 100%;
scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5
{
font-family: var(--webfont2-font-family) !important;
}

body,
h6
{
font-family: var(--webfont1-font-family) !important;
overflow-x: hidden;
}

/* header */
.dbp-layout-header-formart
{
width: var(--content-width);
background: var(--background-header);
position: fixed;
top: 0px;
z-index: 10;
}

.menu-item-has-children > a[aria-current="page"]
{
color: var(--color-header-nav-hover-active) !important;
text-shadow: 0 0 1px black !important;
}

/* content */
.dbp-no-js-formart
{
width: 80%;
padding: 30px;
margin: 0 auto;
}

.dbp-no-js-inner
{
padding: 30px;
text-align: center;
font-size: 20px;
border: 2px solid var(--color-no-js);
color: var(--color-no-js);
}

.dbp-no-js-inner .fa-brands
{
font-size: 100px;
}

.dbp-layout-content
{
width: var(--content-width);
hyphens: auto;
z-index: 1;
}

.hyphens-no
{
hyphens: none;
}

.dbp-layout-content a,
.dbp-layout-content a:link
{
color: var(--color-content-link);
font-weight: bold;
text-decoration: none;
}

.dbp-layout-content a:hover,
.dbp-layout-content a:link:hover
{
color: var(--color-content-main);
text-decoration: underline;
}

.dbp-no-underline-link a:hover,
.dbp-no-underline-link a:link:hover
{
text-decoration: none !important;
}

ul
{
padding-left: 20px;
}

li
{
padding-top: 10px;
}

.dpb-shortcode-fix
{
display: none !important;
height: 0px !important;
padding: 0px !important;
margin: 0px !important;
}

/* mobile welcome section */
.dbp-home-mobile-welcome-box
{
display: flex;
justify-content: center;
align-items: center;
width: 80%;
min-height: 400px;
padding: 15px;
background: rgba(0, 156, 154, .85);
color: #ffffff;
font-size: 20px;
text-align: center;
text-shadow: 1px 1px 2px #000000;
hyphens: none;
margin: 0 auto;
margin-top: -74px;
}

.dbp-home-mobile-welcome-box h1
{
color: #ffffff;
font-size: 40px !important;
font-weight: bold;
text-align: center;
text-transform: uppercase;
text-shadow: 2px 2px 4px #000000;
}

.dbp-home-mobile-welcome-box a,
.dbp-home-mobile-welcome-box a:link
{
color: var(--color-content-link);
font-size: 22px !important;
font-weight: bold;
background: var(--color-background-main);
border: 2px var(--color-background-main);
border-radius: 12px;
text-shadow: none;
padding: 15px;
font-Weight: bold;
transition: transform 0.3s
}

.dbp-home-mobile-welcome-box a:hover,
.dbp-home-mobile-welcome-box a:link:hover
{
color: var(--color-content-main);
text-decoration: none;
font-size: 23px !important;
border: 2px solid var(--color-content-main);
}

.dbp-home-mobile-welcome-box .fa-solid
{
padding-right: 5px;
}

/* home vid section */
.dbp-home-desktop-vid-formart
{
width: 100%;
height: calc(100vh - 100px);
padding: 0px;
margin: 0px;
}

.dbp-home-desktop-vid-inner
{
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
z-index: 1;
}

.dbp-home-desktop-vid-self
{
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
}

.dbp-home-desktop-vid-content
{
position: absolute;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
overflow: hidden;
z-index: 2;
}

.dbp-home-desktop-vid-box
{
position: absolute;
display: flex;
justify-content: center;
align-items: center;
width: 55%;
min-height: 300px;
height: 45%;
padding: 25px;
background: rgba(0, 156, 154, .85);
color: #ffffff;
font-size: 22px;
text-align: center;
text-shadow: 1px 1px 2px #000000;
hyphens: none;
}

.dbp-home-desktop-vid-box h1
{
color: #ffffff;
font-size: 60px;
font-weight: bold;
text-align: center;
text-shadow: 2px 2px 4px #000000;
text-transform: uppercase;
}

.dbp-home-desktop-vid-box a,
.dbp-home-desktop-vid-box a:link
{
color: var(--color-content-link);
font-size: 22px;
font-weight: bold;
background: var(--color-background-main);
border: 2px var(--color-background-main);
border-radius: 12px;
text-shadow: none;
padding: 15px;
font-Weight: bold;
transition: transform 0.3s
}

.dbp-home-desktop-vid-box a:hover,
.dbp-home-desktop-vid-box a:link:hover
{
color: var(--color-content-main);
text-decoration: none;
font-size: 23px;
border: 2px solid var(--color-content-main);
}

.dbp-home-desktop-vid-box .fa-solid
{
padding-right: 5px;
}

.dbp-contact-linkedin i 
{
font-size: 40px;
transition: font-size 0.1s ease;
}

.dbp-contact-linkedin:hover i 
{
font-size: 44px;
}

/* footer */
.dbp-layout-footer-formart
{
width: var(--content-width);
background: var(--color-poison-orange);
z-index: 1;
}

.dbp-layout-footer-inner,
.dbp-layout-footer-inner h3
{
color: var(--color-footer-main);
}

.dbp-layout-footer-inner h4
{
font-size: 20px;
font-weight: bold;
padding: 0px;
padding-bottom: 3px;
margin: 0px;
}

.dbp-layout-footer-contact-info a .fa-brands
{
color: var(--color-footer-main);
font-size: 30px;
display: inline-block;
transition: transform 0.4s ease;
padding-top: 2px;
}

.dbp-layout-footer-contact-info a .fa-brands:hover
{
transform: scale(1.25);
color: var(--color-footer-hover-active);
}

.dbp-layout-footer-links
{
color: var(--color-footer-main);
text-align: center;
margin-top: 40px;
padding-top: 20px;
border-top: 1px dotted var(--color-footer-main);
}

.dbp-layout-footer-links a
{
color: var(--color-footer-main);
text-decoration: none;
margin-right: 15px;
}

.dbp-layout-footer-links a:hover,
.footer-menu-class .current-menu-item a
{
color: var(--color-footer-hover-active);
}

.footer-menu-class
{
list-style-type: none;
padding: 0;
margin: 0;
}

.footer-menu-class li
{
display: inline;
}

.dbp-download-pdf a,
.dbp-download-all a,
.dbp-case-study-link a
{
display: flex;
align-items: center;
text-decoration: none !important;
transition: transform 0.1s ease;
}

.dbp-download-pdf a:hover,
.dbp-download-all a:hover,
.dbp-case-study-link a:hover
{
text-decoration: none !important;
transform: scale(1.005);
}

.dbp-download-pdf a::before,
.dbp-download-all a::before,
.dbp-case-study-link a::before
{
font-family: "Font Awesome 6 Free";
font-size: 60px;
padding-right: 15px;
}

/* Gravity Forms -> over all footer contact form */
.dbp-layout-footer-contact-form input[type="text"],
.dbp-layout-footer-contact-form input[type="email"],
.dbp-layout-footer-contact-form input[type="tel"],
.dbp-layout-footer-contact-form .textarea
{
color: var(--color-poison-orange) !important;
border: 2px solid var(--color-poison-orange) !important;
border-radius: 15px !important;
padding: 20px !important;
margin-bottom: -15px !important;
font-size: 16px !important;
}

.dbp-layout-footer-contact-form input[type="text"]:focus,
.dbp-layout-footer-contact-form input[type="email"]:focus,
.dbp-layout-footer-contact-form input[type="tel"]:focus,
.dbp-layout-footer-contact-form .textarea:focus,
.dbp-layout-footer-contact-form input[type="text"]:focus-visible,
.dbp-layout-footer-contact-form input[type="email"]:focus-visible,
.dbp-layout-footer-contact-form input[type="tel"]:focus-visible,
.dbp-layout-footer-contact-form .textarea:focus-visible
{
color: var(--color-content-main) !important;
border: 2px solid var(--color-content-main) !important;
outline: none !important;
}

.dbp-layout-footer-contact-form input[type="text"]:not(:placeholder-shown),
.dbp-layout-footer-contact-form input[type="email"]:not(:placeholder-shown),
.dbp-layout-footer-contact-form input[type="tel"]:not(:placeholder-shown),
.dbp-layout-footer-contact-form .textarea:not(:placeholder-shown)
{
color: var(--color-content-main) !important;
border: 2px solid var(--color-poison-orange) !important;
outline: none !important;
}

.gform-field-label--type-inline,
.gform-field-label--type-inline a
{
color: var(--color-footer-main) !important;
font-size: 16px !important;
}

.gform-field-label--type-inline a
{
text-decoration: underline !important;
}

.dbp-layout-footer-contact-form input[type="submit"]
{
color: var(--color-footer-main) !important;
border-radius: 15px !important;
background: var(--color-content-link) !important;
padding: 15px !important;
font-size: 18px !important;
font-weight: bold !important;
text-transform: uppercase !important;
margin: 0 auto !important;
width: 100% !important;
transition: transform 0.2s ease;
}

.dbp-layout-footer-contact-form input[type="submit"]:hover
{
color: var(--color-content-link) !important;
background: var(--color-footer-main) !important;
}

.dbp-layout-footer-contact-form .gform_validation_errors
{
background: var(--color-background-main) !important;
}

.dbp-layout-footer-contact-form .gfield_validation_message
{
color: #ffffff !important;
font-weight: bold !important;
padding-top: 6px !important;
}

/* Gravity Forms -> whitepaper download form */
.dbp-whitepaper-form input[type="text"],
.dbp-whitepaper-form input[type="email"],
.dbp-whitepaper-form input[type="tel"],
.dbp-whitepaper-form .textarea
{
color: #9d9d9d !important;
border: 0px !important;
border-bottom: 1px solid #000000 !important;
border-radius: 0px !important;
box-shadow: none !important;
padding: 20px 0 !important;
margin-bottom: -15px !important;
font-size: 18px !important;
}

.dbp-whitepaper-form input[type="email"]
{
margin-bottom: 15px !important;
}

.dbp-whitepaper-form input[type="text"]:focus,
.dbp-whitepaper-form input[type="email"]:focus,
.dbp-whitepaper-form input[type="tel"]:focus,
.dbp-whitepaper-form .textarea:focus,
.dbp-whitepaper-form input[type="text"]:focus-visible,
.dbp-whitepaper-form input[type="email"]:focus-visible,
.dbp-whitepaper-form input[type="tel"]:focus-visible,
.dbp-whitepaper-form .textarea:focus-visible
{
color: var(--color-content-main) !important;
border: 0px !important;
border-bottom: 1px solid #000000 !important;
outline: none !important;
}

.dbp-whitepaper-form input[type="text"]:not(:placeholder-shown),
.dbp-whitepaper-form input[type="email"]:not(:placeholder-shown),
.dbp-whitepaper-form input[type="tel"]:not(:placeholder-shown),
.dbp-whitepaper-form .textarea:not(:placeholder-shown)
{
color: var(--color-content-main) !important;
border: 0px !important;
border-bottom: 1px solid #000000 !important;
outline: none !important;
}

.dbp-whitepaper-form .gform-field-label--type-inline,
.dbp-whitepaper-form .gform-field-label--type-inline a
{
color: #000000 !important;
font-size: 18px !important;
}

.dbp-whitepaper-form .gform-field-label--type-inline a
{
text-decoration: underline !important;
font-weight: normal !important;
}

.dbp-whitepaper-declaration-consent
{
font-size: 14px !important;
margin-bottom: 30px !important;
}

.dbp-whitepaper-form input[type="submit"]
{
color: var(--color-content-link) !important;
border: 2px solid var(--color-content-link) !important;
border-radius: 15px !important;
background: var(--color-background-main) !important;
padding: 15px !important;
font-size: 20px !important;
font-weight: bold !important;
text-transform: uppercase !important;
margin: 0 auto !important;
width: 100% !important;
transition: transform 0.2s ease;
}

.dbp-whitepaper-form input[type="submit"]:hover
{
color: var(--color-background-main) !important;
background: var(--color-content-link) !important;
}

.dbp-whitepaper-form .gfield_validation_message
{
padding-top: 6px !important;
}

/* fancybox settings */
.dbp-fancybox-hidden
{
display: none;
}

.fancybox-overlay
{
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.9);
}

.fancybox-content
{
position: absolute;
top: 10vh;
left: 10vw;
padding: 20px;
width: 80vw;
height: 80vh;
background: white;
border-radius: 0px;
overflow: auto;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
transition: opacity 0.3s ease-in-out;
opacity: 0;
}

.fancybox-content h1
{
font-size: 40px;
}

.fancybox-content h2
{
font-size: 30px;
}

.fancybox-content h3
{
font-size: 19px;
}

.fancybox-content.show
{
opacity: 1;
z-index: 1001;
}

.fancybox-close
{
position: fixed;
top: calc(10% - 20px);
color: #ffffff !important;
font-size: 28px;
font-weight: bold;
text-decoration: none;
cursor: pointer;
background-color: black;
border-radius: 50%;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid white;
z-index: 1002;
}

.dbp-image-white img
{
filter:brightness(0) invert(1);
}

/* end settings all devices */

/* begin settings mobile devices */
@media (max-width: 959px)
{
/* mobile header setting */
.dbp-layout-header-formart
{
display: flex;
justify-content: space-between;
}

.dbp-layout-header-inner
{
display: flex;
justify-content: space-between;
align-items: center;
min-width: var(--mobile-header-footer-width);
max-width: var(--mobile-header-footer-width);
width: var(--mobile-header-footer-width);
height: var(--mobile-header-height);
margin: 0 auto;
}

.dbp-layout-header-flex
{
display: none;
max-width: 0px;
}

.dbp-layout-header-logo
{
min-width: 195px;
}

.dbp-layout-header-logo img
{
width: auto;
height: 56px;
}

.dbp-layout-header-nav #navwrap
{
display: none;
}

.dbp-layout-header-nav #navwrap.open
{
display: block;
}

.dbp-layout-header-nav .nav-toggle
{
background: none;
border: none;
font-size: 40px;
font-weight: bold;
cursor: pointer;
display: block;
color: var(--color-header-nav-hover);
position: absolute;
right: calc(2% - 15px);
top: 0px;
}

.dbp-layout-header-nav .dropdown
{
list-style-type: none;
margin: 0;
padding: 2%;
position: absolute;
top: var(--mobile-header-height);
left: 0;
background: var(--background-header);
width: 100%;
z-index: 11;
}

.dbp-layout-header-nav .dropdown li
{
font-size: 22px;
padding-top: 20px;
text-transform: uppercase;
list-style: none;
}

.dbp-layout-header-nav .dropdown li a
{
text-decoration: none;
color: var(--color-header-nav-a);
display: flex;
justify-content: space-between;
align-items: center;
}

.dbp-layout-header-nav .dropdown li.current-menu-item a
{
text-decoration: none;
color: var(--color-header-nav-hover-active);
font-weight: bold;
}

.dbp-layout-header-nav .dropdown .sub-menu
{
display: none;
padding-left: 20px;
}

.dbp-layout-header-nav .submenu-toggle
{
margin-left: 10px;
font-size: 20px;
}

/* mobile content setting */
.dbp-layout-content
{
margin-top: var(--mobile-header-height);
}

/* target link offset settein */
:target
{
scroll-margin-top: var(--mobile-header-height);
}

.dbp-elementor-flex-width
{
min-width: var(--mobile-header-footer-width);
}

.fancybox-close
{
right: calc(10% - 10px);
}

/* mobile footer setting */
.dbp-layout-footer-inner
{
min-width: var(--mobile-header-footer-width);
max-width: var(--mobile-header-footer-width);
width: var(--mobile-header-footer-width);
padding: 30px 0;
margin: 0 auto;
}

.dbp-layout-footer-info-section
{
display: flex;
flex-direction: column-reverse;
flex-wrap: wrap;
width: 100%;
text-align: center;
}

.dbp-layout-footer-info-section h3
{
font-size: 32px;
}

h3.footer-desktop
{
display: none;
}

h3.footer-mobile
{
display: block;
}

.dbp-layout-footer-contact-info
{
width: 100%;
}

.dbp-layout-footer-contact-info img
{
display: block;
filter:brightness(0) invert(1);
width: 150px;
height: auto;
padding: 10px 0;
margin-left: auto;
margin-right: auto;
}

.dbp-layout-footer-contact-form
{
width: 100%;
border-bottom: 1px dotted var(--color-footer-main);
margin-bottom: 30px;
padding-bottom: 30px;
}

.dbp-layout-footer-links a
{
font-size: 20px;
font-weight: bold;
}

.dbp-layout-footer-contact-info a .fa-brands
{
margin: 0 10px;
}

/* Gravity Forms -> over all footer contact form text left fix */
.dbp-layout-footer-contact-form input[type="text"],
.dbp-layout-footer-contact-form input[type="email"],
.dbp-layout-footer-contact-form input[type="tel"],
.dbp-layout-footer-contact-form .textarea,
.gform-field-label--type-inline
{
text-align: left !important;
}
}
/* end settings mobile devices */

/* begin settings desktop devices */
@media (min-width: 960px)
{
/* desktop header setting */
.dbp-layout-header-formart
{
display: flex;
justify-content: space-between;
}

.dbp-layout-header-inner
{
display: flex;
justify-content: space-between;
align-items: center;
min-width: var(--desktop-header-footer-min-width);
max-width: var(--desktop-header-footer-max-width);
width: var(--desktop-header-footer-width);
height: var(--desktop-header-height);
}

.dbp-layout-header-flex
{
display: block;
}

.dbp-layout-header-logo img
{
width: auto;
margin-right: 5px;
}

.dbp-layout-header-logo img:hover
{
filter:brightness(0) invert(0);
}

.dbp-layout-header-nav #navwrap .dropdown
{
display: flex;
padding: 0px;
margin-top: -10px;
}

.dbp-layout-header-nav #navwrap .dropdown li
{
list-style: none;
margin-left: 20px;
}

.dbp-layout-header-nav #navwrap .dropdown li a
{
color: var(--color-header-nav-a);
text-decoration: none;
text-transform: uppercase;
transition: color 0.2s ease, text-shadow 0.2s ease;
}

/* desktop header small devices */
@media (max-width: 1200px)
{
.dbp-layout-header-nav #navwrap .dropdown li a
{
font-size: 14px;
}

.dbp-layout-header-logo img
{
height: 58px;
}
}

/* desktop header normal devices */
@media (min-width: 1201px)
{
.dbp-layout-header-nav #navwrap .dropdown li a
{
font-size: 15px;
}
.dbp-layout-header-logo img
{
height: 70px;
}
}

.dbp-layout-header-nav #navwrap .dropdown li a:hover,
.dbp-layout-header-nav #navwrap .dropdown li.current-menu-item a
{
color: var(--color-header-nav-hover-active);
text-shadow: 0 0 1px black;
}

.dbp-layout-header-nav #navwrap .dropdown li a .fa-chevron-down
{
margin-left: 5px;
font-size: 12px;
transition: transform 0.2s ease;
}

.dbp-layout-header-nav #navwrap .dropdown li a.active .fa-chevron-down
{
transform: rotate(180deg);
}

.dbp-layout-header-nav #navwrap .dropdown li a.active,
.dbp-layout-header-nav #navwrap .dropdown li a:hover,
.dbp-layout-header-nav #navwrap .dropdown li.current-menu-item a
{
color: var(--color-header-nav-hover-active);
text-shadow: 0 0 1px black;
}

.dbp-layout-header-nav #navwrap .dropdown li ul
{
display: none;
position: absolute;
background-color: var(--background-header);
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
margin-left: -18px;
padding: 20px 20px 20px 0px;
z-index: 11;
}

.dbp-layout-header-nav #navwrap
{
display: block !important;
}

.dbp-layout-header-nav .nav-toggle
{
display: none;
}

/* desktop content setting */
.dbp-layout-content
{
margin-top: var(--desktop-header-height);
}

/* target link offset settein */
:target
{
scroll-margin-top: var(--desktop-header-height);
}

.dbp-elementor-flex-width
{
min-width: var(--desktop-header-footer-min-width);
max-width: var(--desktop-header-footer-max-width);
margin-left: auto !important;
margin-right: auto !important;
}

.fancybox-close
{
right: calc(10% - 30px);
}

/* desktop footer setting */
.dbp-layout-footer-inner
{
min-width: var(--desktop-header-footer-min-width);
max-width: var(--desktop-header-footer-max-width);
width: var(--desktop-header-footer-width);
padding: 50px 0;
margin: 0 auto;
}

.dbp-layout-footer-info-section
{
display: flex;
justify-content: space-between;
width: 100%;
}

.dbp-layout-footer-info-section h3
{
font-size: 36px;
}

h3.footer-desktop
{
display: block;
}

h3.footer-mobile
{
display: none;
}

.dbp-layout-footer-contact-info
{
width: 45%;
}

.dbp-layout-footer-contact-info img
{
filter:brightness(0) invert(1);
width: 220px;
height: auto;
padding: 15px 0;
}

.dbp-layout-footer-contact-form
{
width: 55%;
}

.dbp-layout-footer-contact-info a .fa-brands
{
margin-right: 20px;
}
}
/* end settings desktop devices */
