/*!
 * wyss4web.ch
 * Basierend auf Start Bootstrap - Creative (Apache License 2.0)
 * Bereinigt: ungültige Deklarationen, veraltete Vendor-Präfixe und ungenutzte Regeln entfernt.
 * Enthält zusätzlich die benötigte "bounceIn"-Animation aus animate.css 3.2.6 (MIT, Daniel Eden).
 */

:root {
    --w4w-primary: #607C90;
    --w4w-accent: #bfad8f;
    --w4w-grey: #a1a8ad;
    --w4w-dark: #222;
    --w4w-font: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
    --w4w-transition: all .35s;
}

/* ---------- Basis ---------- */

html,
body {
    width: 100%;
    height: 100%;
}

body {
    font-family: var(--w4w-font);
}

.container-fluid {
    background-color: rgba(0, 0, 0, .2);
}

hr {
    max-width: 50px;
    border-color: var(--w4w-primary);
    border-width: 3px;
}

hr.light {
    border-color: #fff;
}

a {
    color: var(--w4w-primary);
    transition: var(--w4w-transition);
}

a:hover,
a:focus {
    color: var(--w4w-accent);
}

p {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.5;
}

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

.bg-dark {
    color: #fff;
    background-color: var(--w4w-grey);
}

.text-faded {
    color: rgba(255, 255, 255, .9);
}

.text-primary {
    color: var(--w4w-primary);
}

section {
    padding: 70px 0;
}

aside {
    padding: 15px 0;
}

.no-padding {
    padding: 0;
}

.section-heading {
    margin-top: 0;
}

/* ---------- Navigation ---------- */

.navbar-default {
    border-color: rgba(34, 34, 34, .05);
    background-color: #fff;
    transition: var(--w4w-transition);
}

.navbar-default .navbar-header .navbar-brand {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 700;
    color: var(--w4w-primary);
}

.navbar-default .navbar-header .navbar-brand:hover,
.navbar-default .navbar-header .navbar-brand:focus {
    color: #eb3812;
}

.navbar-default .nav > li > a,
.navbar-default .nav > li > a:focus {
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
    color: var(--w4w-dark);
}

.navbar-default .nav > li.active > a,
.navbar-default .nav > li.active > a:focus {
    color: var(--w4w-primary) !important;
    background-color: transparent;
}

.navbar-default .nav > li.active > a:hover,
.navbar-default .nav > li.active > a:focus:hover {
    background-color: transparent;
}

@media (min-width: 768px) {
    .navbar-default {
        border-color: rgba(255, 255, 255, .3);
        background-color: transparent;
    }

    .navbar-default .navbar-header .navbar-brand {
        color: rgba(255, 255, 255, .7);
    }

    .navbar-default .navbar-header .navbar-brand:hover,
    .navbar-default .navbar-header .navbar-brand:focus {
        color: #fff;
    }

    .navbar-default .nav > li > a,
    .navbar-default .nav > li > a:focus {
        color: rgba(255, 255, 255, .7);
    }

    .navbar-default .nav > li > a:hover,
    .navbar-default .nav > li > a:focus:hover {
        color: #fff;
    }

    /* Zustand nach dem Scrollen (Klasse "affix" wird per JS gesetzt) */
    .navbar-default.affix {
        border-color: rgba(34, 34, 34, .05);
        background-color: #fff;
    }

    .navbar-default.affix .navbar-header .navbar-brand,
    .navbar-default.affix .navbar-header .navbar-brand:hover,
    .navbar-default.affix .navbar-header .navbar-brand:focus {
        color: var(--w4w-primary);
    }

    .navbar-default.affix .nav > li > a,
    .navbar-default.affix .nav > li > a:focus {
        color: var(--w4w-dark);
    }

    .navbar-default.affix .nav > li > a:hover,
    .navbar-default.affix .nav > li > a:focus:hover {
        color: var(--w4w-primary);
    }
}

/* ---------- Header ---------- */

header {
    position: relative;
    width: 100%;
    min-height: auto;
    text-align: center;
    color: #fff;
    background-image: url(../img/arbeitsplatz.jpg);
    background-position: center;
    background-size: cover;
}

header .header-content {
    position: relative;
    width: 100%;
    padding: 100px 15px;
    text-align: center;
}

header .header-content .header-content-inner h1 {
    margin-top: 0;
    margin-bottom: 0;
    text-transform: uppercase;
    font-weight: 700;
}

header .header-content .header-content-inner p {
    margin-bottom: 50px;
    font-size: 16px;
    font-weight: 300;
    color: rgba(255, 255, 255, .7);
}

header .header-content .header-content-inner .header-cta {
    padding-top: 80px;
}

.kmu,
.professionell,
.guenstig {
    font-size: 60%;
}

@media (min-width: 768px) {
    header {
        min-height: 100%;
    }

    header .header-content {
        position: absolute;
        top: 50%;
        padding: 0 50px;
        transform: translateY(-50%);
    }

    header .header-content .header-content-inner {
        margin-right: auto;
        margin-left: auto;
        max-width: 1000px;
    }

    header .header-content .header-content-inner p {
        margin-right: auto;
        margin-left: auto;
        max-width: 80%;
        font-size: 18px;
    }
}

@media (min-width: 800px) {
    .kmu           { padding-left: 250px; }
    .professionell { padding-left: 320px; }
    .guenstig      { padding-left: 455px; }
}

/* ---------- Dienstleistungen ---------- */

.service-box {
    margin: 50px auto 0;
    max-width: 400px;
}

@media (min-width: 992px) {
    .service-box {
        margin: 20px auto 0;
    }
}

.service-box p {
    margin-bottom: 0;
}

/* ---------- Referenzen ---------- */

.no-gutter > [class*=col-] {
    padding-right: 0;
    padding-left: 0;
}

.gallery-item {
    border: 7px solid var(--w4w-grey);
}

.portfolio-box {
    display: block;
    position: relative;
    margin: 0 auto;
    max-width: 650px;
}

.portfolio-box .portfolio-box-caption {
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 20%;
    text-align: center;
    color: #fff;
    opacity: 0;
    background: rgba(143, 153, 161, .8);
}

.portfolio-box:hover .portfolio-box-caption {
    opacity: 1;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content {
    position: absolute;
    top: 50%;
    width: 100%;
    text-align: center;
    transform: translateY(-50%);
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
    padding: 0 15px;
    font-size: 18px;
}

@media (min-width: 768px) {
    .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
        font-size: 22px;
    }
}

.call-to-action h2 {
    margin: 0 auto 20px;
}

/* ---------- Buttons ---------- */

.btn {
    border-radius: 300px;
    text-transform: uppercase;
    font-family: var(--w4w-font);
    font-weight: 700;
}

.btn-xl {
    padding: 15px 30px;
}

.btn-default {
    border-color: #fff;
    color: #fff;
    background-color: transparent;
    transition: var(--w4w-transition);
}

/* inkl. :active:hover/:active:focus – überschreibt die entsprechenden Bootstrap-3.4.1-Zustände */
.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default:active,
.btn-default.active,
.btn-default:active:hover,
.btn-default:active:focus,
.btn-default:active.focus,
.btn-default.active:hover,
.btn-default.active:focus,
.btn-default.active.focus {
    border-color: #ededed;
    color: var(--w4w-dark);
    background-color: #f2f2f2;
    background-image: none;
}

.btn-primary {
    border-color: #fff;
    color: #fff;
    background-color: #d3d3d3;
    transition: var(--w4w-transition);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary:active.focus,
.btn-primary.active:hover,
.btn-primary.active:focus,
.btn-primary.active.focus {
    border-color: #000;
    color: #000;
    background-color: #fff;
    background-image: none;
}

/* ---------- Auswahl ---------- */

::selection {
    text-shadow: none;
    color: #fff;
    background: var(--w4w-dark);
}

img::selection {
    color: #fff;
    background: transparent;
}

/* ---------- Scroll-Animation (ersetzt animate.css + WOW.js) ----------
   Hinweis: animate.css 3.2.6 setzte in den Keyframes "transition-timing-function",
   was keine Wirkung hat – die Animation lief daher mit dem Standard "ease".
   Das wird hier bewusst 1:1 so beibehalten. */

.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

.animated.bounceIn {
    animation-duration: .75s;
}

.bounceIn {
    animation-name: bounceIn;
}

@keyframes bounceIn {
    0%   { opacity: 0; transform: scale3d(.3, .3, .3); }
    20%  { transform: scale3d(1.1, 1.1, 1.1); }
    40%  { transform: scale3d(.9, .9, .9); }
    60%  { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
    80%  { transform: scale3d(.97, .97, .97); }
    100% { opacity: 1; transform: scale3d(1, 1, 1); }
}
