/*
Theme Name: CAVIGNO 
Theme URI: WWW.CAVIGNO.CH
Version: 1.0 2026
Description: RESPONSIVE CUSTOM THEME 
Author: FREDY HOLENSTEIN 
Author URI: HTTP://WWW.WORKZ.CH
*/


/* merriweather-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/merriweather-sans-v28-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* merriweather-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/merriweather-sans-v28-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* merriweather-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/merriweather-sans-v28-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* merriweather-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/merriweather-v33-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* merriweather-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/merriweather-v33-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* merriweather-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/merriweather-v33-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


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

body {background-image: url(../img/bg/bg1.jpg); background-attachment: fixed; background-size: cover; background-position: top center;}

.blacktrans {background: rgba(0,0,0,0.24); color:#fff;}
.blacktrans a { color:rgba(255,200,10,1.00)}
.blacktrans a:hover { background:rgba(0,0,0,1.00); color:rgba(255,200,10,1.00)}

.bgblack { background: rgba(29,29,29,1.00); color:#fff;}
.footerbox { color:#fff!important}
.footerbox a { color:#ebebeb;}
.footerbox h4 { fonts-size:24px;}

.colorboxfull { background: rgba(221,144,19,0.53); padding:16px; margin-bottom:16px; border-top:5px solid rgba(221,144,19,0.99);}

.pagetitle {background: rgba(221,144,19,0.90); color:#fff; display: inline; padding: 18px 9px 9px 9px; box-decoration-break: clone; -webkit-box-decoration-break: clone;text-transform: uppercase;}


.hlgrey {background:rgba(201,200,205,1.00)}
.lgrey {background:rgba(132,133,135,1.00)}
.dgrey {background:rgba(0,0,0,0.80)}


.dgreytxt {color:rgba(69,69,69,1.00)}

.card {background:rgba(226,232,204,1.00);
border:none;}

.responsive { 
	
	width: 100%; height: auto;
}
	.h-img-fluid { 
	width: 100%; 
	height: auto;
}

img.invert {
    filter: invert(100%);
}

p { line-height: 1.5; 
}
.rotateicon { transform: rotate(90deg)}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.rb {
	 background: rgba(150,25,25,0.80); 
}

.rbh {
	 background: rgba(222,32,36,0.80); 
}

.introtxtbox {

	 background: rgba(150,25,25,0.80);  
		color:#fff; 
	padding: 40px;
}


.infobox { background: rgba(150,25,25,0.80);  color:#fff; }
.infoboxex a { color:#fff; }

.bgwhite {
	background: #fff;
}
.white ,
a.white{
	color: #d6b861;
}

a.white:hover{
	color: #ae8201;
}
a.whitesmall , 
a.whitesmall:visited,
a.whitesmall:hover{
	color: #ebebeb;
	font-size:11px;
}
body {
	 font-family: 'Merriweather Sans';
  font-style: normal;
  font-weight: 400;
	color:#d6b861;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 1px;
}

.readmoreicon { width: 30px; height: auto;}
/****BG VIDEO VISUAL ***/
   .video-bg {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: -2;
        }

        .video-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.4);
            z-index: -1;
        }

        .hero-content {
            min-height: 100vh;
        }



/****HEADER VISUAL ***/

section.introvisual {
	height: 90%;
	background-attachment: scroll;
}


.offcanvas-half {
    --bs-offcanvas-width: 50vw;
}
.custom-offcanvas {
    background-color: #000 !important;
    color: #fff;
}

@media (max-width: 768px) {
    .offcanvas-half {
        --bs-offcanvas-width: 100vw;
    }
}

@media only screen and (max-width: 767px) {  
	
	
	.h-img-fluid { 
	width: 60%!important; 
	height: auto;
}
	
	section.introvisual 
	
	{
	height: auto!important;
	background-attachment: scroll;
		padding-top:40px;
		
} 
	
	.header {display: none;}

}
/****SEARCH FORM  ***/


/****OPENER & ÜBERSCHRIFT ***/


.opener {
	padding: 18px;
}
.opener h1 {
	font-size: 32px;
	letter-spacing: 1px;
	line-height: 1.5;
}
.grey {
	background: rgba(228,230,227,1.00);
}
.inner {
	padding: 0 0 0 16px;
}

.indent {
	padding-left: 32px;
}
/***** Screen 960px *****/

divider {
	width: 100%;
	background-position: top;
	background-size: cover;
	background-repeat: no-repeat;
}
.v1 {
	height: 80%;
	background-image: url(../img/bg/divider_01.jpg);
	background-attachment: fixed;
	background-size: cover;
}
.box {
	width: 100%;
	padding: 5px 0 5px 10px;
}
/***** Logo, Btn & Phone Menu Btn *****/



img.attachment-large {
	width: 100%;
	height: auto;
	border: none;
}
a.navigation-btn {
	display: none;
	float: right;
}
a.navigation-btn img {
	margin: 0 0 0 16px;
	padding: 0;
	width: 35px;
	height: auto;
	cursor: pointer;
	float: right;
}
a.btn-download, .btn-download {
	margin: 34px 0 0 0;
	padding: 8px 28px 9px 12px;
	display: inline-block;
	color: #fff;
	border: 1px solid #565655;
	background: #565655 url(../img/btn-arrow.png) no-repeat right;
	cursor: pointer;
	float: right;
}
a:hover.btn-download {
	text-decoration: none;
	border: 1px solid #565655;
	color: #666;
	background: #565655 url(../img/btn-arrow.png) no-repeat right;
}

/***** BACKGROUNDS AND FLOATS *****/





.left {
	float: left;
}
.right {
	float: right
}
.fullw {
	width: 100%;
}
.fixed {
	position: fixed;
	top: 0;
	height: 40px;
	z-index: 1;
	background: rgba(0,0,0,0.00);
	width: 100%;
	margin: 0!important;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}



/* MANSONRY */
.item {
	position: relative;
	width: 33.33333333333%;
	float: left;
	display:block;
	height:auto;
}
.iteminner {
	padding: 10px;
}
.iteminner h2 a {
	font-size: 21px;
	color: #fff;
}
.iteminner h2 a:hover {
	color: #666!important;
	text-decoration: none;
}
.iteminner h6 {
	color: #565655 !important;
}
section.visual {
	height:70%;
	background-size: cover;
	background-position: top;
	background-attachment: fixed;
}




	
	
/***** Phone (portrait 300px) *****/
@media only screen and (max-width: 767px) {
/***** Logo, Btn & Phone Menu Btn *****/

section.introvisual {
	height: 200px;
	background-attachment: scroll;
	background-size: cover;
	width: 100%;
}
section.visual {
	background-size: cover;
	background-position: top;
	background-attachment: scroll;
}
section#navpadding {
	display: none;
}
.responsive {
	width: 100%;
	height: auto;
}
.reduce {
	width: 60%;
	height: auto;
	margin: 0 auto;
	text-align: center;
}
.v1 {
	height: 200px!important;
	background-attachment: scroll;
	background-size: cover;
	width: 100%;
}


img.toplogo {
	width: auto;
	height: 50px;
}
.gallery-item {
	float: none!important;
	margin-top: 10px;
	text-align: center;
	width: 200px!important;
	height: auto!important;
}
	
.item {
	position: relative;
	width: 95%;
	float: none!important;
	padding: 15px 0 15px 0;
	margin-bottom: 35px;
	margin-right: 1%;
}

}


/*  NAVIGATION */

.generic {
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.40);
  color: #fff;
  z-index: 990;
  height: 50px;
  overflow: hidden;
  -webkit-transition: height 0.3s;
  -moz-transition: height 0.3s;
  transition: height 0.3s;
  text-align: center;

}
.generic.shrink {
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.40);
  color: #fff;
  z-index: 990;
  height: 0px;
  overflow: hidden;
  -webkit-transition: height 0.3s;
  -moz-transition: height 0.3s;
  transition: height 0.3s;
  text-align: center;

}
.header {
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  background: rgba(0,0,0,0.00);
  color: #fff;
  z-index: 1000;
  height: 250px;
  overflow: visible;
  -webkit-transition: height 0.3s;
  -moz-transition: height 0.3s;
  transition: height 0.3s;
  text-align: center;
}
.header.shrink {
	  position: fixed;

  background: rgba(0,0,0, 0.90);
  top: 0px;
  left: 0;
  height: 180px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.header.screennav {
  opacity: 1.0;
  filter: alpha(opacity=100);
}
.header.shrink.screennav {
  opacity: 1.0;
  filter: alpha(opacity=100);
}
.header.screennav div.navigation {
  margin-top: 18px;
}
.header.shrink.screennav div.navigation {
  margin-top: 0px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.header img.toplogo {
  height: 150px;
  width: auto;
  opacity: 1.0;
  filter: alpha(opacity=100); /* For IE8 and earlier */
  margin-top: 10px;
}
.header.shrink img.toplogo {
  height: 100px;
  width: auto;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 1.0;
  filter: alpha(opacity=100); /* For IE8 and earlier */
}


.header img.toplogointro {
  height: 250px;
  width: auto;
  opacity: 1.0;
  filter: alpha(opacity=100); /* For IE8 and earlier */
  margin-top: 10px;
}
.header.shrink img.toplogointro {
  height: 150px;
  width: auto;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 1.0;
  filter: alpha(opacity=100); /* For IE8 and earlier */
}
.header h1 {
  font-size: 30px;
  font-weight: normal;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.header.shrink h1 {
  font-size: 24px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}




.main-timeline {
    position: relative
}

.main-timeline:before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background: #c6c6c6;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.main-timeline .timeline {
    margin-bottom: 40px;
    position: relative
}

.main-timeline .timeline:after {
    content: "";
    display: block;
    clear: both
}

.main-timeline .icon {
    width: 18px;
    height: 18px;
    line-height: 18px;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0
}

.main-timeline .icon:before,
.main-timeline .icon:after {
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.33s ease-out 0s
}

.main-timeline .icon:before {
    background: #fff;
    border: 2px solid #232323;
    left: -3px
}

.main-timeline .icon:after {
    border: 2px solid #c6c6c6;
    left: 3px
}

.main-timeline .timeline:hover .icon:before {
    left: 3px
}

.main-timeline .timeline:hover .icon:after {
    left: -3px
}

.main-timeline .date-content {
    width: 50%;
    float: left;
    margin-top: 22px;
    position: relative
}

.main-timeline .date-content:before {
    content: "";
    width: 36.5%;
    height: 2px;
    background: #c6c6c6;
    margin: auto 0;
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0
}

.main-timeline .date-outer {
    width: 125px;
    height: 125px;
    font-size: 16px;
    text-align: center;
    margin: auto;
    z-index: 1
}

.main-timeline .date-outer:before,
.main-timeline .date-outer:after {
    content: "";
    width: 125px;
    height: 125px;
    margin: 0 auto;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transition: all 0.33s ease-out 0s
}

.main-timeline .date-outer:before {
    background: #fff;
    border: 2px solid #232323;
    left: -6px
}

.main-timeline .date-outer:after {
    border: 2px solid #c6c6c6;
    left: 6px
}

.main-timeline .timeline:hover .date-outer:before {
    left: 6px
}

.main-timeline .timeline:hover .date-outer:after {
    left: -6px
}

.main-timeline .date {
    width: 100%;
    margin: auto;
    position: absolute;
    top: 27%;
    left: 0
}

.main-timeline .month {
    font-size: 18px;
    font-weight: 700
}

.main-timeline .year {
    display: block;
    font-size: 30px;
    font-weight: 700;
    color: #232323;
    line-height: 36px
}

.main-timeline .timeline-content {
    width: 50%;
    padding: 20px 0 20px 50px;
    float: right
}

.main-timeline .title {
    font-size: 19px;
    font-weight: 700;
    line-height: 24px;
    margin: 0 0 15px 0
}

.main-timeline .description {
    margin-bottom: 0
}

.main-timeline .timeline:nth-child(2n) .date-content {
    float: right
}

.main-timeline .timeline:nth-child(2n) .date-content:before {
    left: 10px
}

.main-timeline .timeline:nth-child(2n) .timeline-content {
    padding: 20px 50px 20px 0;
    text-align: right
}

@media only screen and (max-width: 991px) {
    .main-timeline .date-content {
        margin-top: 35px
    }
    .main-timeline .date-content:before {
        width: 22.5%
    }
    .main-timeline .timeline-content {
        padding: 10px 0 10px 30px
    }
    .main-timeline .title {
        font-size: 17px
    }
    .main-timeline .timeline:nth-child(2n) .timeline-content {
        padding: 10px 30px 10px 0
    }
}

@media only screen and (max-width: 767px) {
    .main-timeline:before {
        margin: 0;
        left: 7px
    }
    .main-timeline .timeline {
        margin-bottom: 20px
    }
    .main-timeline .timeline:last-child {
        margin-bottom: 0
    }
    .main-timeline .icon {
        margin: auto 0
    }
    .main-timeline .date-content {
        width: 95%;
        float: right;
        margin-top: 0
    }
    .main-timeline .date-content:before {
        display: none
    }
    .main-timeline .date-outer {
        width: 110px;
        height: 110px
    }
    .main-timeline .date-outer:before,
    .main-timeline .date-outer:after {
        width: 110px;
        height: 110px
    }
    .main-timeline .date {
        top: 30%
    }
    .main-timeline .year {
        font-size: 24px
    }
    .main-timeline .timeline-content,
    .main-timeline .timeline:nth-child(2n) .timeline-content {
        width: 95%;
        text-align: center;
        padding: 10px 0
    }
    .main-timeline .title {
        margin-bottom: 10px
    }
}