/*  Author:   Martin Stettler (http://dieweberei.ch/)
    Version:  06062017
*/

/*  FONTS

*/


/* ==========================================================================
   BASE STYLES
   ========================================================================== */

* {
    box-sizing: border-box; }
    
html,
body,
ul { /* ul to be help-block full left */
    margin:0;
    padding:0;
    background-color: #FFF; /* color def for form */
    font: normal 15px 'Ubuntu', Arial, sans-serif; /* no color def for form! */
    line-height: 1.6; }

li {
    list-style-type: none; } /* for text-danger in form */

h1,
h2,
h3,
h4,
h5 {
    margin: 0;
    padding: 0;
    line-height: 1.6; }

h1,
.footer-title {
    font-size: 35px;
    text-transform: uppercase;
    text-align: center;
    font-weight: 500;
    margin-bottom: 50px; }

p {
    margin: 0 0 10px; /* Bootstrap */
    line-height: 1.6; }

a {
    color: #42768d; }

a:hover,
a:focus {
    color: #000; }

a,
a:hover,
.navbar,
.navbar.shrink,
a.navbar-brand span,
a.navbar-brand.shrink span {
    text-decoration: none;
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
        transition: all 0.25s; }

/* ==========================================================================
   HTML-EDITOR (REDACTOR)
   ========================================================================== */

h4 {
    font-size: 15px;
    color: #42768d;
    font-weight: 500;
    text-transform: uppercase; }

h5 {
    font-size: 15px;
    color: #42768d;
    font-weight: 500; }

.book-caption h4 {
    color: #000; }

strong {
    text-transform: uppercase;
    font-weight: 500; }

.card-caption a:before,
.book-caption a:before {
    content: '>> '; }

.content a[href$=".pdf"]:before,
.content a[href$=".doc"]:before {
    content: " ";
    background-size: 100% 100%;
    width: 14px;
    height: 16px;
    background-image: url(../graphics/file-icon.svg);
    float: left;
    margin-top: 3px;
    margin-right: 5px; }

/* ==========================================================================
   Browse Happy prompt lte IE 7
   ========================================================================== */

.browsehappy {
    margin: 3px 0;
    background: #CC0033;
    color: #FFF;
    padding: 8px; }

.browsehappy a {
    color: #FFF;
    text-decoration: underline; }

.browsehappy a:hover {
    text-decoration: none; }

/* ==========================================================================
   HEADER (Navigation containers & Logo)
   ========================================================================== */

/* Header background full-width */
.navbar {
    background: #FFF;
    border-bottom: 0;
    height: 110px; }

.navbar.shrink {
    height: 0;
    min-height: 0;
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
        transition: all 0.25s; }

.navbar-header {
    background: #FFF;
    float: none; 
    padding: 0;
    height: 110px; } /* Height = logo height plus navbar-header padding */

/* Navigation container */
.navbar-nav {
    width: 100%;
    margin: 0;
    margin-top: 50px; /* Navbar height */
    background: transparent; } 

@media only screen and (min-width: 768px) {
    .navbar-nav {
        margin-bottom: 10px; /* for e-mail */ }
}

.navbar-header.shrink {
    height: 0px;
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
        transition: all 0.25s; }
 
.navbar-fixed-top .container-fluid:after {
    content: ' ';
    width: 100%;
    height: 1px;
    background: #000; }

#home .navbar-fixed-top .container-fluid:after,
.navbar-fixed-top.shrink .container-fluid:after {
    content: ' ';
    height: 0; }

@media only screen and (min-width: 992px) { /* Change the nav breakpoint */

    .navbar-fixed-top .container-fluid {
        max-width: 1170px; }

    .navbar.shrink {
        height: 50px;
        border-bottom: 1px solid #000; }

    .navbar-header {
        float: left; }

    .navbar-header.shrink {
        height: 50px;
        -webkit-transition: all 0.25s;
        -moz-transition: all 0.25s;
            transition: all 0.25s; }

    .navbar-nav {
        width: auto;
        margin-top: 54px;
        margin-bottom: 0; 
        -webkit-transition: all 0.25s;
        -moz-transition: all 0.25s;
            transition: all 0.25s; }

    .navbar-nav.shrink {
        margin-top: 0;
        -webkit-transition: all 0.25s;
        -moz-transition: all 0.25s;
            transition: all 0.25s; }
}

/* Logo */
.logo {
    position: absolute;
    width: 250px;
    top: 25px;
    height: auto; }

.logo-add {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 15px;
    font-weight: 500;
    -webkit-transition: all 0.35s;
        -moz-transition: all 0.35s;
        -ms-transition: all 0.35s;
        transition: all 0.35s; }

.navbar-brand {
    padding-top: 0; }

a.navbar-brand span {
    display: block;
    text-indent: -9999px;
    width: 180px;
    height: 20px;
    background-size: 180px 20px;
    background-image: url(../graphics/fredy-joss.svg); }

@media only screen and (min-width: 481px) {

    a.navbar-brand span {
        width: 240px;
        height: 27px;
        background-size: 240px 27px; }
}

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

    .navbar-brand {
        padding-left: 0; }
}

.navbar-brand {
    display: block;
    height: auto;
    color: #000; }

@media only screen and (max-width: 991px) { /* Change the nav breakpoint */
    
    .logo.shrink {
        position: absolute;
        -webkit-transform: translateY(-100px);
        -moz-transform: translateY(-100px);
            transform: translateY(-100px);
        -webkit-transition: transform 0.25s;
        -moz-transition: transform 0.25s;
            transition: transform 0.25s; } 

    .logo-add.shrink {
        position: absolute;
        -webkit-transform: translateX(-100px);
        -moz-transform: translateX(-100px);
            transform: translateX(-100px);
        -webkit-transition: transform 0.25s;
        -moz-transition: transform 0.25s;
            transition: transform 0.25s; } 
}

@media only screen and (min-width: 992px) { /* Change the nav breakpoint */

    .logo.shrink {
        top: 15px;
        width: 180px;
        height: 20px; }
    
    a.navbar-brand span {
        width: 240px;
        height: 27px;
        background-image: url(../graphics/fredy-joss.svg);
        background-size: 240px 27px; }

    a.navbar-brand.shrink span {
        width: 180px;
        height: 20px;
        background-size: 180px 20px; }

    .logo-add.shrink {
        -webkit-transform: translateX(-1000px);
        -moz-transform: translateX(-1000px);
            transform: translateX(-1000px);
        -webkit-transition: transform 0.5s;
        -moz-transition: transform 0.5s;
            transition: transform 0.5s; } 


    .ie9 .logo-add.shrink {
        display: none; }

}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */

/* Naviation element */
.navbar-nav > li {
    float: none; }

/* Navigation colors */
.navbar-default .navbar-nav > li > a {
    padding-top: 15px; /* eq. bootstrap vaule > 768px */
    padding-bottom: 15px; /* eq. bootstrap vaule > 768px */
    color: #000;
    background-color: transparent;
    text-transform: uppercase; }

.navbar-default .navbar-nav > li:last-child > a {
    padding-right: 0; }

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

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
    color: #42768d;
    font-weight: 500;
    background-color: transparent; }

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
    color: #42768d;
    background-color: transparent; }

.divider {
    border-bottom: 1px dashed #000; }

.dropdown-menu { 
    width: 100%;
    border: 0;
    border-radius: 0; }  

/* Mobile navigation */
.navbar-default .navbar-toggle {
    display: block; /* for visibility above 768px */
    z-index: 1000;
    background: #FFF;
    border: 1px solid #000; }

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background-color: #FFF; }

.navbar-default .navbar-toggle .icon-bar {
    background-color: #000; }

@media only screen and (min-width: 992px) {
    
    .navbar-default .navbar-toggle {
        display: none; } /* for hiding in desktop */  
}

/* Offcanvas */
.offcanvas-toggle,
.navbar-toggle:hover {
    background: #FFF !important;
    border-radius: 0;
    border: 1px solid #000; }

.offcanvas-toggle .icon-bar {
    background: #000;
    -webkit-transition: all .25s ease-in-out;
            transition: all .25s ease-in-out; }

 .navbar-toggle:hover .icon-bar {
    background: #000 !important; }

.offcanvas-toggle.is-open .icon-bar:nth-child(1) {
    -webkit-transform: rotate(45deg) translate(5px, 4px);
        -ms-transform: rotate(45deg) translate(5px, 4px);
            transform: rotate(45deg) translate(5px, 4px); }

.offcanvas-toggle.is-open .icon-bar:nth-child(2) {
    opacity: 0; }

.offcanvas-toggle.is-open .icon-bar:nth-child(3) {
    -webkit-transform: rotate(-45deg) translate(4px, -4px);
        -ms-transform: rotate(-45deg) translate(4px, -4px);
            transform: rotate(-45deg) translate(4px, -4px); }

@media only screen and (max-width: 991px) { /* Change the nav breakpoint */
    
    .offcanvas-stop-scrolling {
        height: 100%;
        overflow: hidden; }

    .navbar-default .navbar-offcanvas {
        background-color: #FFF; }

    .navbar-inverse .navbar-offcanvas {
        background-color: #222; }

    .navbar-offcanvas {
        position: fixed;
        height: 100% !important;
        width: 100%;
        max-width: 250px;
        left: -250px;
        top: 0;
        padding-left: 0;
        padding-right: 0; /* 15px; */
        z-index: 999;
        overflow: auto; /* scroll */
        -webkit-overflow-scrolling: touch;
        -webkit-transition: all 0.15s ease-in;
                transition: all 0.15s ease-in; }

    .navbar-offcanvas.in {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.3); }

    .navbar-offcanvas.navbar-offcanvas-fade {
        opacity: 0; }

    .navbar-offcanvas.navbar-offcanvas-fade.in {
        opacity: 1; }

    .navbar-offcanvas.offcanvas-transform.in {
        -webkit-transform: translateX(250px);
            -ms-transform: translateX(250px);
                transform: translateX(250px); }

    .navbar-offcanvas.offcanvas-position.in {
        left: 0; }

    .navbar-offcanvas.navbar-offcanvas-right {
        left: auto;
        right: -250px; }

    .navbar-offcanvas.navbar-offcanvas-right.offcanvas-transform.in {
        -webkit-transform: translateX(-250px);
            -ms-transform: translateX(-250px);
                transform: translateX(-250px); }

    .navbar-offcanvas.navbar-offcanvas-right.offcanvas-position.in {
        left: auto;
        right: 0; }

    .navbar-offcanvas .dropdown.active .caret {
        border-top: 0;
        border-bottom: 4px solid; }

    .navbar-offcanvas .dropdown-menu {
        position: relative;
        width: 100%;
        border: inherit;
        box-shadow: none;
        -webkit-transition: height 0.15s ease-in;
                transition: height 0.15s ease-in; }
      
    .navbar-offcanvas .dropdown-menu.shown {
        display: block;
        margin-bottom: 10px; }
}

.container-fluid {
    position: relative; }

.e-mail {
    padding: 10px 0 0 15px; }

.e-mail a {
    font-weight: 500;
    color: #000; }

.e-mail a:hover,
.e-mail a:focus {
    color: #42768d; }

@media only screen and (min-width: 992px) {

    .e-mail {
        position: absolute;
        right: 15px;
        top: 20px;
        padding: 0;
        -webkit-transition: all 0.35s;
        -moz-transition: all 0.35s;
        -ms-transition: all 0.35s;
        transition: all 0.35s; }

    .e-mail.shrink {
        top: -100px;
        -webkit-transform: translateY(-100px);
        -moz-transform: translateY(-100px);
            transform: translateY(-100px); }
}

/* Desktop navigation */
@media only screen and (min-width: 992px) { /* Change the nav breakpoint */
    
    .navbar-nav > li { /* make left navigation elements float left */
        float: left; }

    .navbar-default .navbar-nav.shrink > li > a {
        padding-top: 15px; /* eq. bootstrap vaule > 768px */
        padding-bottom: 15px; } /* eq. bootstrap vaule > 768px */

    /* Dropdown animation */
    .dropdown .dropdown-menu {
        -webkit-transition: all 0.45s;
        -moz-transition: all 0.45s;
        -ms-transition: all 0.45s;
        -o-transition: all 0.45s;
        transition: all 0.45s;
        max-height: 0;
        display: block;
        overflow: hidden;
        opacity: 0; }

    /*  Make subnavigation on desktop hover */
    .dropdown:hover .dropdown-menu {
        display: block;
        max-height: 350px;
        opacity: 1; }
}

/* ==========================================================================
   CONTENT
   ========================================================================== */
/*
section {
    border: 1px dashed black; }

.row {
  border: 1px dashed blue; }

.col-md-12,
.col-md-8,
.col-md-4 {
  border: 1px dashed red; }

/* Where content starts */
body {
    padding-top: 110px; } /* depends on navbar height */

.home-image img {
    width: 100%;
    height: auto;
    -webkit-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.4);
        -moz-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.4);
            box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.4); }

.intro .container:after {
    content: ' ';
    width: 100%;
    height: 1px;
    background: #000; }

.caption,
.social {
    margin: 20px 0 30px 0; }

.caption { 
    font-style: italic;
    font-size: 13px; }

.social {
    text-align: right; }

.social a,
.footer-social a {
    padding-left: 25px;
    color: #000; }

.social a:first-child,
.footer-social a:first-child {
    padding-left: 0; }

.social a:hover,
.footer-social a:hover {
    color: #42768d; }

.content {
    margin-top: 65px; }

#home .content-inner,
#photo .content-inner,
#about .content-inner, 
.introduction p:last-child {
    padding-bottom: 65px; }

#about .introduction p:last-child {
    padding-bottom: 0; }

.content .container {
    padding-bottom: 35px; }

.content-inner.card-container,
.content-inner.book-container,
.content-inner.photo-container {
    padding-bottom: 0 !important; }

.card-item,
.photo-item,
.book-item {
    margin-bottom: 65px; }

.card img,
.photo img,
.book img {
    margin-bottom: 30px;
    border: 1px solid #000;
    -webkit-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.4);
        -moz-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.4);
            box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.4); }

.card-container .vertical,
.book-container .vertical {
    padding: 0 50px; }

@media only screen and (min-width: 481px) and (max-width: 767px) {

    .col-sm-6.vertical {
        padding: 0 15%; }      
}

/* Photography, Books */
@media only screen and (min-width: 768px) {

    .card-container,
    .photo-container,
    .book-container {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap; }

    /* for Safari to wrap elements correctly */
    .card-container:before,
    .card-container:after,
    .photo-container:before,
    .photo-container:after,
    .book-container:before,
    .book-container:after {
        content: normal; }

    .photo-item {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
            margin-bottom: 35px; } 

    .photo {
        -webkit-flex: 1 0 auto;
        -moz-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
            margin: 0 auto;
        min-height: 1%; } /* added for IE (otherwise space below image) */

    .photo-caption p {
            height: 50px; }
}

.photo-caption p {
    font-weight: 500;
    text-transform: uppercase; }

/* ==========================================================================
   FOOTER
   ========================================================================== */

/* Footer always at the bottom */
html,body {
    height:100%;
    width: 100%; }

body {
    display: table;
    border-bottom: 30px solid #000; }

.container {
    height: auto; }

.footer {
    display: table-row;
    height: 1px; }

footer .container:before {
    content: ' ';
    width: 100%;
    height: 1px;
    background: #000; }

.footer-title {
    padding-top: 65px; }

.footer-inner {
    padding-bottom: 35px;
    background: transparent;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: end !important;
    align-items: flex-end !important; }

.vcard { 
    float: none;
    color: #000;
    margin-bottom: 20px; }

.vcard .org {
    font-weight: 500;
    text-transform: uppercase; }

.vcard-inner {
    margin-right: 20px; }

@media only screen and (min-width: 420px) {

    .vcard { 
        float: left;
        margin-bottom: 0; }
}

.footer-social {
    margin-top: 30px;
    margin-bottom: 26px; }

@media only screen and (min-width: 768px) {
    
    .footer-social,
    .footer-links {
        text-align: right; }

    .footer-social {
        margin-top: 0; } 

}

footer p {
    color: #000; }

footer i {
    font-style: normal;
    white-space: nowrap; }

footer a {
    color: #000; }

footer a:hover {
    color: #42768d;
    text-decoration: none; }

/* ==========================================================================
   SELECTION
   ========================================================================== */

::-moz-selection {
    text-shadow: none;
    background: #333;
    color: #FFF; }

::selection {
    text-shadow: none;
    background: #333;
    color: #FFF; }

img::selection {
    background: 0 0; }

img::-moz-selection {
    background: 0 0; }

body {
    webkit-tap-highlight-color: #333; }

a[href^="tel"], 
a[href^="sms"]{
    color:inherit; 
    cursor:default; 
    text-decoration:none; }