/*
Theme Name: Massimo Rocchi
Theme URI: https://www.foxcomputers.ch
Author: Fox Computers | Michael Fuchs
Author URI: https://www.foxcomputers.ch
Description: Theme für Massimo Rocchi
Version: 1.0
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: massimorocchi

Massimo Rocchi WordPress Theme © 2011-2019 Fox Computers
Massimo Rocchi is distributed under the terms of the GNU GPL
*/

.HelveticaNeueLTStd-Roman { 
	font-family: HelveticaNeueLTStd-Roman;
	font-weight: normal;
	font-style: normal;
}
.HelveticaNeueLTStd-Bd { 
	font-family: HelveticaNeueLTStd-Bd;
	font-weight: normal;
	font-style: normal;
}
.HelveticaNeueLTStd-Hv { 
	font-family: HelveticaNeueLTStd-Hv;
	font-weight: normal;
	font-style: normal;
}

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,img,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;padding:0;border:0;margin:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.clear{clear:both}

.wp-caption, .wp-caption-text, .gallery-caption {
	display: none;
}
.alignright {
	float:right;
	margin:0 0 20px 20px;
}
.alignleft {
	float:left;
	margin:0 20px 20px 0;
}
.aligncenter {
	display: block;
	margin-left:auto;
	margin-right:auto;
}
.screen-reader-text {
	clip:rect(1px, 1px, 1px, 1px);
	position:absolute !important;
}
.pt-box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin:0 0 24px 0;
}
.pt-box img {
    border-radius: 100%;
}
.pt-box span {
    font-family: HelveticaNeueLTStd-Roman;
    font-size: 17px;
    line-height: 24px;
    color: #000;
    padding-left:12px;
}

.not-found {
    margin:0 auto;
    max-width:900px;
    padding:80px 0;
    text-align: center;
}
.not-found h1 {
    font-family: HelveticaNeueLTStd-Hv;
    font-size: 54px;
    line-height: 64px;
    color: #000;
    text-transform: uppercase;
    margin:0 0 50px 0;
}
.not-found p {
    font-family: HelveticaNeueLTStd-Roman;
    font-size: 32px;
    line-height: 40px;
    color: #000;
}

a {
	outline:none;
}
img {
	max-width:100%;
	height:auto;
}
#catapult-cookie-bar {
	font-family: HelveticaNeueLTStd-Roman;
}

#wrapper {
    margin:0 auto;
    max-width:1810px;
    padding:0 55px;
}
#header {
    position: fixed;
    top:0;
    left:0;
    width:100%;
    z-index: 9999;
    background:#fff;
}
#header-inner {
    max-width:1920px;
    margin:0 auto;
    position: relative;
}
#header #logo {
    padding:30px 0 30px 55px;
    display: inline-block;
    transition: padding .3s ease;
}
#header #logo img {
    display: block;
    width:350px;
    height: 28px;
}
#header.shrink #logo {
    padding:15px 0 15px 55px;
    transition: padding .3s ease;
}
#header #menu {
    position: absolute;
    top:50%;
    right:10px;
    margin-top:-10px;
}
.home #header #menu-home {
    padding:36px 0;
    transition: all .3s ease;
}
.home #header #menu-home ul {
    font-size:0;
    text-align: center;
}
.home #header #menu-home ul li {
    display: inline-block;
}
.home #header #menu-home ul li::before {
    content:"|";
    font-family: HelveticaNeueLTStd-Bd;
    font-size:14px;
    line-height: 18px;
    color:#84c3ec;
    margin:0 5px;
    display: inline-block;
}
.home #header #menu-home ul li:nth-child(1)::before {
    content:"";
    display: none;
}
.home #header #menu-home ul li a {
    font-family: HelveticaNeueLTStd-Bd;
    font-size:14px;
    line-height: 18px;
    color:#84c3ec;
    text-decoration:none;
} 
.home #header #menu-home ul li a:hover {
    color:#ff9c00;
}
	
#menu ul {
    font-size:0;
    text-align: right;
}
#menu ul li {
    display: inline-block;
    margin:0 25px;
    position: relative;
}
#menu ul li a {
	font-family: HelveticaNeueLTStd-Bd;
    font-size:14px;
    line-height: 18px;
    color:#84c3ec;
    text-decoration: none;
    text-transform: uppercase;
}
#menu ul li a:hover, #menu ul li.current-menu-item a, #menu ul li.current-menu-ancestor a, #menu ul li.current-menu-ancestor .sub-menu li a:hover, #menu ul li.current-menu-ancestor .sub-menu li.current-menu-item a, #menu ul li.current-menu-item .sub-menu li a:hover {
    color:#ff9c00;
}
#menu ul li.current-menu-ancestor .sub-menu li a, #menu ul li.current-menu-item .sub-menu li a {
    color:#84c3ec;
}
#menu ul li .sub-menu {
    display: none;
    position: absolute;
    left:0;
    text-align: left;
}
#menu ul li:hover .sub-menu, #menu ul li.current-menu-ancestor .sub-menu {
    display: block;
}
#menu ul li .sub-menu li {
    display: block;
    margin:2px 0;
}
#menu ul li .sub-menu li a {
    text-transform: none;
}

#container {
    padding-top:90px;
    margin-bottom:30px;
    transition: all .3s ease;
}
#container.shrink {
    padding-top:60px;
    transition: all .3s ease;
}
.home #header.shrink #menu-home {
    padding:21px 0;
    transition: all .3s ease;
}

#content-block {
    display: flex;
    flex-wrap: wrap;
}

#termine-block, #halfwidth {
    width:calc(50% - 40px);
    margin-right:80px;
}
.termin-box {
    margin:0 0 30px 0;
}
.termin-box h2 {
	font-family: HelveticaNeueLTStd-Hv;
    font-size:17px;
    line-height: 24px;
    color:#000;
    padding:0 55px;
}
.date-time {
	font-family: HelveticaNeueLTStd-Bd;
    font-size:17px;
    line-height: 24px;
    color:#fff;
    background:#84c3ec;
    max-width:100%;
	margin-bottom:10px;
    padding:5px 55px;
    display: flex;
}
.date-time .dt-text {
    width:calc(60% - 20px);
    margin-right:40px;
}
.date-time .dt-text span.dt-small {
	text-transform: lowercase;
}
.date-time .loc-text {
    width:calc(40% - 20px);
    text-align: right;
}
.location {
	font-family: HelveticaNeueLTStd-Roman;
    font-size:17px;
    line-height: 24px;
    color:#000;
    padding:0 55px;
}
.location a {
    color:#000;
    text-decoration: none;
}
.location a:hover {
    color:#ff9c00;
}
.thotline {
	font-family: HelveticaNeueLTStd-Roman;
    font-size:17px;
    line-height: 24px;
    color:#000;
    padding:0 55px;
}
.thotline a {
    color:#000;
    text-decoration: none;
}
.tbutton {
    padding:0 55px;
}
.tbutton a,.pbutton a {
    display: inline-block;
    font-family: HelveticaNeueLTStd-Bd;
    font-size:17px;
    line-height: 24px;
    color:#000;
    text-decoration: none;
}
.tbutton a:hover, .pbutton a:hover {
    color:#ff9c00;
}
#img-block {
    width:calc(50% - 40px);
}
#img-block img {
    display: block;
    float:right;
}

#content {
    padding:80px 0 40px 0;
}
.home #content {
    padding:0;
}
#content h1 {
	font-family: HelveticaNeueLTStd-Hv;
    font-size:61px;
    line-height: 71px;
    color:#ff9c00;
    margin:0 0 60px 0;
}
#content.splan .splan h2 {
	font-family: HelveticaNeueLTStd-Bd;
    font-size: 24px;
    line-height: 32px;
    color: #000;
    margin:0 0 32px 0;
}
#content.default h2 {
	font-family: HelveticaNeueLTStd-Bd;
    font-size: 17px;
    line-height: 24px;
    color: #000;
    margin:0 0 24px 0;
}
#content.default h3 {
	font-family: HelveticaNeueLTStd-Bd;
    font-size: 17px;
    line-height: 24px;
    color: #000;
}
#content.default p, .post-password-form p, #content.splan .splan p {
    font-family: HelveticaNeueLTStd-Roman;
    font-size: 17px;
    line-height: 24px;
    color: #000;
    margin:0 0 24px 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}
#content.default p a, #content.default ul li a, #content.default ol li a {
    color: #000;
    white-space: nowrap;
}
#content.default p a:hover, #content.default ul li a:hover, #content.default ol li a:hover {
    text-decoration: none;
}
#content.default ul, #content.default ol {
    margin:0 0 24px 0;
    padding:0 0 0 30px;
}
#content.default ul li {
    font-family: HelveticaNeueLTStd-Roman;
    font-size: 17px;
    line-height: 24px;
    color: #000;
    list-style: disc;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}
#content.default ol li {
    font-family: HelveticaNeueLTStd-Roman;
    font-size: 17px;
    line-height: 24px;
    color: #000;
    list-style: decimal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}
.post-password-form input[type="password"] {
    -webkit-appearance:none;
    border-radius: 0;
    display: block;
    background:none;
    border:1px solid #84c3ec;
    font-family: HelveticaNeueLTStd-Roman;
    font-size: 17px;
    line-height: 24px;
    color: #000;
    margin:5px 0;
}
.post-password-form input[type="submit"] {
    -webkit-appearance:none;
    border-radius: 0;
    display: block;
    background:#ff9c00;
    border:none;
    font-family: HelveticaNeueLTStd-Roman;
    font-size: 17px;
    line-height: 24px;
    color: #fff;
    padding:5px 20px;
    cursor: pointer;
    transition: all .3s ease;
}
.post-password-form input[type="submit"]:hover {
    background:#84c3ec;
    color: #fff;
    transition: all .3s ease;
}

#jlist-block .jlist-box {
    display: flex;
    flex-wrap: nowrap;
}
.page-id-1112 #jlist-block .jlist-box {
    display: block;
}
#jlist-block .jlist-box .jlist-year {
	font-family: HelveticaNeueLTStd-Hv;
    font-size:17px;
    line-height:24px;
    color:#84c3ec;
    width:120px;
	margin-right:20px;
}
.page-id-1112 #jlist-block .jlist-box .jlist-year {
	width:100%;
	margin-right:0;
	margin-bottom:10px;
}
#jlist-block .jlist-box .jlist-text {
    margin:0 0 30px 0;
    width:calc(100% - 140px);
}
.page-id-1112 #jlist-block .jlist-box .jlist-text {
	width:100%;
}
#jlist-block .jlist-box .jlist-text h3 {
	font-family: HelveticaNeueLTStd-Hv;
    font-size:17px;
    line-height:24px;
    color:#000;
}
#jlist-block .jlist-box .jlist-text p {
    font-family: HelveticaNeueLTStd-Roman;
    font-size: 17px;
    line-height: 24px;
    color: #000;
}

#gallery-block {
    margin:0 -10px;
}
.gallery-item, .grid-sizer {
    width:calc(25% - 20px);
    margin:0 10px 20px 10px;
    opacity: 1;
    transition: opacity .3s ease;
}
.gallery-item:hover {
    opacity: 0.8;
    transition: opacity .3s ease;
}

#footer {
    background:#84c3ec;
}
.home #footer {
    display: none;
}
#footer-inner {
    padding:30px;
    text-align: right;
    font-size:0;
}
#footer-inner .fsocial {
    display: inline-block;
    margin:0 5px;
    opacity: 1;
    transition: opacity .3s ease;
}
#footer-inner .fsocial:hover {
    opacity: 0.7;
    transition: opacity .3s ease;
}

#menu-toggle {
    display: none;
    position: fixed;
    top:18px;
    right:20px;
    cursor: pointer;
    z-index:9999999999;
}
#menu-toggle img {
    display: block;
}

span.thot-info, span.thot-link {
    white-space:nowrap;
}

@media only screen and (max-width:1180px) {
    #wrapper {
        padding: 0 20px;
    }
    #header #logo, #header.shrink #logo {
        padding:15px 0 15px 20px;
    }
    #container, #container.shrink {
        padding-top:60px;
        transition: all .3s ease;
    }
    .home #header #menu-home, .home #header.shrink #menu-home {
        padding:21px 0;
        transition: all .3s ease;
    }
    .termin-box h2, .location, .thotline, .tbutton {
        padding:0 20px;
    }
    .date-time {
        padding:8px 20px;
    }
    #menu-toggle {
        display: block;
    }
    #menu-toggle img {
        -webkit-filter: brightness(1) invert(0);
        filter: brightness(1) invert(0);
        transition: all .4s ease;
    }
    #menu-toggle.is-opened-navi img {
        -webkit-filter: brightness(0) invert(1);
        filter: brightness(0) invert(1);
        transition: all .4s ease;
    }
    #menu {
        display: none;
    }
    #content {
        padding: 40px 0 20px 0;
    }
    #content h1 {
        font-size: 41px;
        line-height: 51px;
        margin: 0 0 40px 0;
    }
    .not-found h1 {
        font-size: 41px;
        line-height: 51px;
        margin:0 0 40px 0;
    }
    .not-found p {
        font-size: 26px;
        line-height: 34px;
    }
}
@media only screen and (max-width:1023px) {
    #content-block {
        display: block;
    }
    #termine-block, #halfwidth, #img-block {
        width:100%;
        margin-right:0;
    }
    #img-block img {
        display: block;
        float:none;
        margin:0 auto;
    }
    .gallery-item, .grid-sizer {
        width:calc(33.333% - 20px);
    }
}
@media only screen and (max-width:568px) {
    .gallery-item, .grid-sizer {
        width:calc(50% - 20px);
    }
}
@media only screen and (max-width:568px) {
    #header #logo, #header.shrink #logo {
        padding:10px 0 10px 20px;
    }
    #header #logo img {
        display: block;
        width: 250px;
        height: 20px;
    }
    #menu-toggle {
        top:9px;
    }
    #container, #container.shrink {
        padding-top: 42.5px;
    }
    .home #header #menu-home, .home #header.shrink #menu-home {
        padding:12px 0;
        transition: all .3s ease;
    }
    #footer-inner {
        padding:20px 0;
        text-align: center;
    }
    #content h1 {
        font-size: 31px;
        line-height: 41px;
        margin: 0 0 30px 0;
    }
    .not-found h1 {
        font-size: 31px;
        line-height: 41px;
        margin:0 0 40px 0;
    }
    .not-found p {
        font-size: 22px;
        line-height: 30px;
    }
    .date-time {
        display: block;
    }
    .date-time .dt-text {
        width: 100%;
        margin-right:0;
    }
    .date-time .loc-text {
        width: 100%;
        text-align: left;
    }
}
@media only screen and (max-width:480px) {
    #menu-toggle {
        top: 11px;
    }
    #menu-toggle img {
        width:34px;
        height:20px;
    }
    #jlist-block .jlist-box {
        display: block;
    }
    #jlist-block .jlist-box .jlist-year, #jlist-block .jlist-box .jlist-text {
        width: 100%;
    }
    #jlist-block .jlist-box .jlist-text {
        margin:0 0 20px 0;
    }
    #content h1 {
        font-size: 24px;
        line-height: 34px;
    }
    .not-found h1 {
        font-size: 24px;
        line-height: 34px;
    }
    .not-found p {
        font-size: 17px;
        line-height: 24px;
    }
	#content.splan .splan h2 {
		font-size: 20px;
		line-height: 24px;
		margin:0 0 24px 0;
	}
}
@media only screen and (max-width:360px) {
    #header #logo, #header.shrink #logo {
        padding: 12px 0 12px 20px;
    }
    #header #logo img {
        width:200px;
        height:16px;
    }
    #menu-toggle {
        top: 13px;
    }
    #menu-toggle img {
        width:27px;
        height:16px;
    }
    #gallery-block {
        margin:0;
    }
    .gallery-item, .grid-sizer {
        width:100%;
        margin:0 0 20px 0;
    }
}

body.bmmopen {
    overflow: hidden;
    height:100%;
}
#mobile-menu {
    position: fixed;
    top:-100%;
    left:0;
    width:100%;
    height:100%;
    z-index: 999999;
    background:#84C3EC;
    transition: top .3s ease;
}
#mobile-menu.mmopen {
    position: fixed;
    top:0;
    transition: top .3s ease;
}

#mobile-menu-inner {
    height:100%;
    max-height:100%;
    overflow: auto;
}
#mmenu {
    padding:80px 0;
}
#mmenu ul li {
	margin: 15px 0;
    text-align: center;
}
#mmenu ul li a {
	color: #fff;
	display: inline-block;
	font-family: HelveticaNeueLTStd-Bd;
    font-size:24px;
    line-height: 32px;
    text-decoration: none;
    text-transform: uppercase;
    border-bottom:2px solid transparent;
}
#mmenu ul li ul li a {
	font-family: HelveticaNeueLTStd-Bd;
    font-size:20px;
    line-height: 28px;
    text-transform: none;
}