/*
Theme Name: Raumbau
Theme URI: www.scckommunikation.ch
Author: SCC Kommunikation
Author URI: www.scckommunikation.ch
Description: This is a custom theme for raumbau
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: 
Text Domain: raumbau

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/*! HTML5 Boilerplate v4.3.0 | MIT License | https://h5bp.com/ */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

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

.project-gallery-videocontainer {
	width: 100%;
	padding-bottom: 60.9%;
	position: relative;
}

iframe {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
}

/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */

body {
    font: 16px/26px Arial;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	font-family: Arial, sans-serif;
}

.main-container, .header-container {
    margin: 0 10px;
}

/* ===================
    ALL
   =================== */

.header-container,
.footer-container,
.main aside {
    background: transparent;
}

.title {
    color: black;
    min-width:145px;
    min-height:25px;
}

.title a {
    display:block;
    width:100%;
    height:100%;
}

/* ==============
    MOBILE: Menu
   ============== */

nav .menu-toggle {
    display:block;
    position:absolute;
    top:33px;
    right:10px;
    border:0;
    margin:0;
    padding:0;
    background:none;
    overflow:visible;
}

nav .menu-toggle:after {
    -moz-osx-font-smoothing: grayscale;
    content: "\25BC";
    display:inline-block;
    vertical-align:middle;
    padding-left:7px;
    position:relative;
    top:-2px;
    font-size:0.75em;
}

nav .menu-toggle.active:after {
    content: "\25B2";
}

nav .menu-main-container {
    display:none;
}

nav ul {
    margin: 0;
    padding: 0;
}

nav a {
    display: block;
    margin-bottom: 10px;
    padding: 15px 0;

    text-align: center;
    text-decoration: none;
    font-weight: bold;

    color: black;
}

nav a:hover,
nav a:visited {
    color: black;
}

nav a:hover, .current-menu-item a {
    opacity:0.4;
}

/* ==============
    MOBILE: Main
   ============== */

.main {
    padding: 20px 0 30px 0;
}

.main .article-row {
    margin-bottom:20px;
}

article {
    width:100%;
    margin-bottom:20px;
}

article:first-child {
    margin-left:0;
}

article:last-child {
    margin-right:0;
}

article header {
    position:relative;
    background-color:#dedede;
    width: 100%;
    padding-bottom: 100%;
}

article header img {
	position: absolute;
	top: 0;
	left: 0;
}

.main .headline-container {
    opacity:0;
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    text-align:center;
    background-color:rgba(0,0,0,.6);
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    z-index: 9;
}

article header:hover .headline-container {
    opacity:1;
}

.main .headline-container:after {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; /* Adjusts for spacing */
  width: 1px;
}

.main .headline-container h1 {
  display: inline-block;
  text-align:center;
  vertical-align: middle;
  max-width: 90%;
  max-width: -webkit-calc(100% - 45px); /* adjusts for padding */
  max-width: calc(100% - 45px); /* adjusts for padding */
  padding: 4%;
  padding: -webkit-calc(30px - 10px);
  padding: calc(30px - 10px);
  font-size: 1.25em;
  letter-spacing:0.05em;
  font-weight:bold;
  color:white;
}

.main .headline-container a {
    color:white;
    text-decoration:none;
}

article .project-content {
    display:none;
}

.project-gallery img {
    display:block;
}

.project-gallery-container {
    height:450px;
}

.project-gallery-imgcontainer {
    display:none;
    width:100%;
    height:100%;
    overflow:hidden;
    background-color:black;
    text-align: center;
}

.project-gallery-imgcontainer.horz {
    white-space: nowrap;
    font: 0/0 a;
}

.project-gallery-imgcontainer.horz:before,
.project-gallery-imgcontainer_before {
    content: " ";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.project-gallery-imgcontainer img {
    width:auto;
    height:100%;
    max-width:none;
    margin:0 auto;
}

.project-gallery-imgcontainer.horz img {
    display:inline-block;
    vertical-align: middle;
    width:100%;
    height:auto;
}

.project-gallery-imgcontainer:first-child {
    display:block;
}

.project-gallery-imgcontainer .caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: auto;
	padding: .25em 1em;
	background-color: rgba(0,0,0,.3);
	text-align: center;
	color: white;
	letter-spacing: .07em;
	font-weight: bold;
	z-index: 9;
}

.footer-container footer {
    color: black;
    padding: 20px 0;
}

.cycle-prev, .cycle-next {
    position:absolute;
    top:0;
    left:0;
    width:40%;
    height:100%;
    z-index:99999;
    cursor: pointer;
    opacity:0.2;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

.cycle-prev:after, .cycle-next:after {
    content:"";
    position:absolute;
    top:50%;
    left:20px;
    width:25px;
    height:40px;
    margin-top:-20px;
    background-image:url("img/btn_sprites.png");
    background-size:80px 120px;
    background-repeat:no-repeat;
    background-position:0 -40px;
}

.cycle-next:after {
    left:auto;
    right:20px;
    background-position:0 -80px;
}

.cycle-prev:hover, .cycle-next:hover {
    opacity:1;
}


.cycle-next {
    left:auto;
    right:0;
}

h2.entry-title {
    margin-top:0;
    padding-top:0.83em;
}

.meta_name {
    font-weight: bold;
    padding-right:8px;
}

h2 {
    border-width:2px;
    border-color:black;
}

article.page {
    width:100%;
    max-width:1000px;
    float:none;
    margin-left: auto;
    margin-right: auto;
}

#map {
    background-color:#e5e3df;
    margin-bottom:3em;
    width:100%;
    height:500px;
}

.col-r {
    margin-top:2em;
}

.special-link {
    clear:both;
    padding-top:3em;
}

.special-link a {
    font-size:2em;
    padding:2em;
    display:block;
    border:6px solid black;
    text-align: center;
    text-decoration:none;
}

a {
    font-weight: bold;
    color:inherit;
    text-decoration: underline;
}

/* ===============
    ALL: IE Fixes
   =============== */

.ie7 .title {
    padding-top: 20px;
}

/* ===============
    ALL: colorbox styles
=============== */

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.7; filter: alpha(opacity = 70);}
#colorbox{outline:0;}
#cboxContent{ overflow:visible; }
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{margin-bottom:5px; }
#cboxLoadingOverlay{background:url(img/loading_background.png) no-repeat center center;}
#cboxLoadingGraphic{background:url(img/loading.gif) no-repeat center center;}
#cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
#cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible;  position:absolute; bottom:-29px; background:none; width:23px; height:23px; text-indent:-9999px;}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

#cboxPrevious{left:0px; background-position: -51px -25px;}
#cboxPrevious:hover{background-position:-51px 0px;}
#cboxNext{left:27px; background-position:-75px -25px;}
#cboxNext:hover{background-position:-75px 0px;}
#cboxClose{right:0; background-position:-100px -25px;}
#cboxClose:hover{background-position:-100px 0px;}

.cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
.cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}

#cboxContent {
    background-color: transparent:
    position: relative;
    margin-top:40px;
    margin-bottom:40px;
}

.project-content {
    margin-top:20px;
    margin-left: 10px;
    margin-right: 10px;
    padding-top:10px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom:15px;
    background-color:white;
}

#cboxClose, #cboxClose:hover {
    position:absolute;
    top:0;
    right:0;
    background-image:url("img/btn_sprites.png");
    width:39px;
    height:39px;
    background-size:80px 120px;
    background-repeat:no-repeat;
    background-position:0 0;
    z-index:999999;
}

#cboxClose:hover {
    background-position:-40px 0;
}


/* ==========================================================================
   Media Queries
   ========================================================================== */

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

/* ====================
    INTERMEDIATE: Menu
   ==================== */
   
   nav .menu-toggle {
       display:none;
   }
   
   nav .menu-main-container {
       display:block;
   }

   nav a:hover, .current-menu-item a {
       opacity: 1;
       text-decoration: none;
       border-bottom:2px solid black;
   }

   nav a {
        float: left;
        font-size:1.25em;
        margin: 1.55em 0 0 20px;
        padding: 0;
        margin-bottom: 0;
    }

    nav li:first-child a {
        margin-left: 0;
    }

    nav li:last-child a {
        margin-right: 0;
    }
    
    .main, .header-container header {
        padding-left:2.9%;
        padding-left:calc(30px - 10px);
    }

/* ========================
    INTERMEDIATE: IE Fixes
   ======================== */

    nav ul li {
        display: inline;
    }

    .oldie nav a {
        margin: 0 0.7%;
    }

    /* ========================
        INTERMEDIATE: Main
       ======================== */

    article {
        float:left;
        width: 47%;
        margin-right:2.9%;
        /* For calc supporting browsers */
        width: -webkit-calc(50% - 20px); /** Safari 6, Chrome 19-25 **/
        width: -moz-calc(50% - 20px); /** FF 4-15  **/
        width: calc(50% - 20px); /** FF 16+, IE 9+, Opera 15, Chrome 26+, Safari 7 and future other browsers **/
        margin-right:calc(30px - 10px);
        margin-right:-webkit-calc(30px - 10px);
        margin-right:-moz-calc(30px - 10px);
    }
    
}

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

/* ====================
    WIDE: CSS3 Effects
   ==================== */

/* ============
    WIDE: Menu
   ============ */

    .title {
        float: left;
    }

    nav {
        float: right;
        margin-right:35px;
    }

/* ============
    WIDE: Main
   ============ */
   article {
       width: 30%;
       margin-right:3%;
       /* For calc supporting browsers */
       width: -webkit-calc(33% - 20px); /** Safari 6, Chrome 19-25 **/
       width: -moz-calc(33% - 20px); /** FF 4-15  **/
       width: calc(33% - 20px); /** FF 16+, IE 9+, Opera 15, Chrome 26+, Safari 7 and future other browsers **/
       margin-right:calc(30px - 10px);
       margin-right:-webkit-calc(30px - 10px);
       margin-right:-moz-calc(30px - 10px);
   }
   
   .col-l {
       width:50%;
       float:left;
   }

   .col-r {
       margin-top:0;
       width:50%;
       float:left;
   }
   

/* ====================
    WIDE: COLORBOX
   ==================== */
   .project-content {
       margin-top:20px;
       margin-left: 20px;
       margin-right: 20px;
       padding-top:40px;
       padding-left: 40px;
       padding-right: 40px;
       padding-bottom:45px;
   }

   #cboxClose, #cboxClose:hover {
       top:0;
       right:0;
   }       

}

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

/* ===============
    Maximal Width
   =============== */

    .wrapper {
        margin: 0 auto;
        max-width:1400px;
    }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}