/*
	Theme Name: SP Chur
	Author: Berg Informatik
	Author URI: https://www.berginformatik.ch
	Description: SP Chur Theme
	Version: 1.0.0
	Copyright: Berg Informatik, Graubünden
	Text Domain: sp-gr
	Domain Path: /languages
*/

/*--------------- General styles -------------------*/
* { box-sizing:border-box; }

body { margin:0; padding:0; font-family:'Nimbus', sans-serif; }

h3 { font-size:1.65rem; }

a { color:#E53038; }
a:focus { color:#1d253c; }
a:hover { color:#1d253c; }

img { max-width:100%; }

/*--------------- Header -------------------*/
header { display:flex; padding:0 15px; height:62px; background:#ffffff; overflow:hidden; transition:opacity 2.6s ease-in-out; }
header button.btn-link { margin:0; color:#E53038; }
header button.btn-link:hover { color:#E53038; }
header button.btn-link:focus { color:#E53038; }

header .logo { align-self:center; }
header .logo img { display:block; height:50px; }
header .nav { flex:1; display:none; align-self:center; padding:0; margin:0; }
header .nav li { display:inline-block; margin:0 10px; }
header .nav li a { font-size:18px; color:#505558; text-transform:uppercase; margin:2px 0px; }
header .nav li.active a { color:#E53038; }
header .nav li.under { border-bottom:1px solid #a91d24 }
header .nav li.lang { margin:0 8px; }
header .nav li.lang.active { display:none; }

header .nav.left-nav { padding-left:40px; text-align:left; }
header .nav.right-nav { padding-right:40px; text-align:right; }

header.nav-effect .nav { margin-top:0 !important; opacity:0.2 !important; }

body.home header { opacity:0; }
body.home header.show { opacity:1; }

@media screen and (min-width:992px)
{
	header { position:absolute; z-index:100; width:100%; height:102px; }
	header .logo img { height:75px; }
	header .nav { display:block; }
}

@media (min-width: 1200px)
{
	header .nav li { margin:0 20px; }
	header .nav li.lang.active { display:inline-block; }
}

/*--------------- Mobile Navigation -------------------*/
.mobile_nav { display:none; position:fixed; padding-top:30px; top:0; left:0; width:240px; max-width:100%; background:#fff; height:100%; transition:all 0.6s; transform:translate(-850px); z-index:100; }
.mobile_nav.show { display:block; transform:translate(0px); background:#fff; box-shadow:0 0 10px #000; }

.mobile_nav ul.mobile_nav_lang { list-style:none; margin:0; padding:0 15px; display:flex; }
.mobile_nav ul.mobile_nav_lang li:not(:last-of-type) { margin-right:0.75rem; }
.mobile_nav ul.mobile_nav_lang li a { display:inline-block; font-size:18px; text-decoration:none; text-align:center; color:#333333; transition:all 0.6s; }
.mobile_nav ul.mobile_nav_lang li a:hover { background:#fff; color:#E53038; }

.mobile_nav ul#primary { list-style:none; margin:2rem 0 0 0; padding:0 15px; }
.mobile_nav ul#primary li { display:block; padding:4px 0; }
.mobile_nav ul#primary li a { font-size:22px; font-weight:500; color:#333333; text-transform:uppercase; margin:2px 0px; }
.mobile_nav ul#primary li.active a { color:#333333 }

.mobile_nav ul.mobile_nav_social { list-style:none; margin:2rem 0 0 0; padding:0 15px; display:flex; }
.mobile_nav ul.mobile_nav_social li:not(:last-of-type) { margin-right:0.5rem; }
.mobile_nav ul.mobile_nav_social li a { border:2px solid #333333; width:38px; height:38px; display:inline-block; font-size:18px; text-decoration:none; text-align:center; line-height:34px; color:#333333; transition:all 0.6s; }
.mobile_nav ul.mobile_nav_social li a:hover { background:#fff; color:#E53038; }

.mobile_nav ul#mobile { list-style:none; margin:1rem 0 0 0; padding:0 15px; display:flex; flex-direction:column; }
.mobile_nav ul#mobile li:not(:last-of-type) { margin-bottom:1rem; }
.mobile_nav ul#mobile > li > a { display:block; padding:0.5rem 1rem; font-size:18px; color:#fff; background:#E53038; text-decoration:none; border:2px white solid; text-align:center; transition:all 0.6s; }
.mobile_nav ul#mobile > li > a:hover { background:#fff; color:#E53038; }


.mob_close { position:absolute; right:20px; font-size:28px; line-height:1; color:#333333; }
.mob_close:hover { text-decoration:none; color:#333333; }

/*--------------- Banner -------------------*/
.banner { background:#fff; min-height:100vh; }
.banner .banner_content { display:flex; flex-direction:column; width:100%; min-height:calc(100vh - 120px); align-items:center; }

.banner .banner_content .left_content { position:relative; overflow:hidden; width:100%; background:#fff; }
.banner .banner_content .left_content img { display:block; margin:0 auto; animation:fadein 5s; }
.banner .banner_content .left_content .spread { position:absolute; right:20px; bottom:20px; font-size:36px; font-weight:bold; color:white; text-transform:uppercase; max-width:230px; border-left:2px #fff solid; padding:1rem; z-index:56; }
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }

.banner .banner_content .left_content { min-height:300px; }
.banner .banner_content .left_content .js-home-video { position:absolute; top:50%; left:50%; min-width:100%; min-height:100%; width:auto; height:auto; transform:translate(-50%, -50%); background-color:#d6d6d6; background-size:cover; z-index:12; }
.banner .banner_content .left_content .js-home-video-overlay { position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%; z-index:14; }

.banner .banner_content .right_content { display:none; flex-direction:column; width:100%; padding:15px; }
.banner .banner_content .right_content .right_content_title h1 { color:#E53038; font-size:42px; margin-bottom:1.4rem; font-weight:bold; text-transform:uppercase; }
.banner .banner_content .right_content .right_content_title h1 span { color:#a91d24; }

.banner .banner_content .right_content .form_bx { width:100%; background:#E53038; padding:15px; }
.banner .banner_content .right_content .form_bx .container { padding:0; }
.banner .banner_content .right_content .form_bx h3 { color:#fff; text-transform:uppercase; margin-bottom:15px; }
.banner .banner_content .right_content .form_bx form .submit { border-radius:0; border:2px solid #fff; text-transform:uppercase; margin:0; padding:6px 24px; color:#fff; display:inline-block; width:100%; background:rgba(0, 0, 0, 0); font-size:17px; transition:all 0.6s; }
.banner .banner_content .right_content .form_bx form .submit:hover { background:#fff; color:#333; }
.banner .banner_content .right_content .form_bx form .inline { display:inline-block; }
.banner .banner_content .right_content .form_bx form .radio { padding-right:50px; }
.banner .banner_content .right_content .form_bx form .radio input { display:none; }
.banner .banner_content .right_content .form_bx form .radio input+label { padding-left:30px; font-size:19px; font-weight:bold; position:relative; cursor:pointer; }
.banner .banner_content .right_content .form_bx form .radio input+label:before { content:""; height:17px; width:17px; border-radius:100%; border:2px solid #fff; background:#fff; position:absolute; left:0; top:3px; }
.banner .banner_content .right_content .form_bx form .radio input:checked+label:before { background:#1d253c; }
.banner .banner_content .right_content .form_bx form .form-control { border:0px solid rgba(0, 0, 0, 0); border-radius:0; min-height:42px; }
.banner .banner_content .right_content .form_bx form .form-control:focus { box-shadow:0 0 1px rgba(0, 0, 0, 0.1); }
.banner .banner_content .right_content .form_bx .row { margin:0 -8px; }
.banner .banner_content .right_content .form_bx .row [class^="col-md-"] { padding:0 8px; }
.banner .banner_content .right_content .form_bx p:empty { display:none; }
.banner .banner_content .right_content .form_bx p:blank { display:none; }

.banner .banner_content .right_content .form_bx ul { margin:0; padding:0; display:flex; }
.banner .banner_content .right_content .form_bx ul li { display:block; }

.banner .banner_content .right_content .form_bx ul#primary-box1 { flex-direction:column; }
.banner .banner_content .right_content .form_bx ul#primary-box1 li:not(:last-of-type) { margin-bottom:1rem; }
.banner .banner_content .right_content .form_bx ul#primary-box1 > li > a { display:block; padding:0.5rem 1rem; font-size:18px; color:#fff; text-decoration:none; border:2px white solid; text-align:center; transition:all 0.6s; }
.banner .banner_content .right_content .form_bx ul#primary-box1 > li > a:hover { background:#fff; color:#E53038; }

.banner .banner_content .right_content .form_bx .social-title { margin-top:2rem; }
.banner .banner_content .right_content .form_bx ul.social li:not(:last-of-type) { margin-right:0.5rem; }
.banner .banner_content .right_content .form_bx ul.social li a { border:2px solid #fff; width:38px; height:38px; display:inline-block; font-size:18px; text-decoration:none; text-align:center; line-height:34px; color:#fff; transition:all 0.6s; }
.banner .banner_content .right_content .form_bx ul.social li a:hover { background:#fff; color:#E53038; }

.banner .banner_content .right_content .form_bx .news-title { margin-top:2rem; }
.banner .banner_content .right_content .form_bx .news-link { color:white; text-decoration:none; font-size:1.2rem; }
.banner .banner_content .right_content .form_bx .news-link:hover { text-decoration:underline; }

@media screen and (min-width:992px)
{
	.banner .banner_content { flex-direction:row; }
	
	.banner .banner_content .left_content { width:calc(50% - 110px); height:100vh; }
	.banner .banner_content .left_content img { display:none; }
	.banner .banner_content .left_content .spread { bottom:122px; }
	
	.banner .banner_content .left_content::before { content:""; height:1px; width:100%; position:absolute; top:-1px; left:0; background:#fff; transition:all 1.5s; z-index:99; }
	.banner .banner_content .left_content::after { content:""; height:1px; width:100%; position:absolute; bottom:0; left:0; background:#fff; transition:all 1.5s; z-index:99; }
	.banner .banner_content .left_content.show_load::before { height:102px; }
	.banner .banner_content .left_content.show_load::after { height:102px; }
	
	.banner .banner_content .right_content { padding:102px 120px 102px 60px; width:calc(50% + 110px); align-self:flex-end; height:100vh; }
	.banner .banner_content .right_content .right_content_title { flex:1; display:flex; align-items:center; }
	.banner .banner_content .right_content .right_content_title h1 { font-size:56px; margin:0; }
	.banner .banner_content .right_content .form_bx { margin-top:auto; }
	
	.banner .banner_content .right_content .form_bx .news-title { margin-top:0; }
}

@media screen and (min-width:1200px)
{
	.banner .banner_content .right_content .form_bx { padding:30px; }
	.banner .banner_content .right_content .form_bx .social-title { margin-top:0; }
}

@media (min-height:820px) and (min-width: 1200px) {
    .banner .banner_content .right_content .right_content_title h1 { font-size:92px; }
}


/*--------------- Contact Form 7 -------------------*/

/* multistep */
.fieldset-cf7mls-wrapper .cf7mls_current_fs { padding:0; }

button.cf7mls_next.action-button { border-radius:0; border:2px solid #fff; text-transform:uppercase; margin:0; padding:6px 24px; color:#fff; display:inline-block; width:100%; background:rgba(0, 0, 0, 0); font-size:17px; transition:all 0.6s; }
button.cf7mls_next.action-button:hover { background:#fff; color:#333; }
button.cf7mls_next.action-button.cf7mls_btn:not(.disabled).sending:not(.expand) { text-align:center; }
button.cf7mls_next.action-button::after { display:none; }

input[type="button"].cf7mls_back.action-button { display:none; }

/* regular form */
div.wpcf7 .ajax-loader { display:none !important; }
.wpcf7-not-valid { border:3px solid #f7e700; }
span.wpcf7-not-valid-tip { display:none !important; }
div.wpcf7-response-output { margin:0 0 15px 0; color:#fff; }
div.wpcf7-mail-sent-ok { border-color:#fff; }

/*--------------- Inner pages header -------------------*/
.inner_pages { padding-top:30px; position:relative; z-index:10; padding-left:15px; padding-right:15px; }
.inner_pages:before { content:""; height:210px; width:100%; left:0; top:0px; background:#1d253c; z-index:-1; position:absolute; }
.inner_pages .title_txt { font-size:29px; color:#a91d24; margin-top:40px; text-transform:uppercase }
.inner_pages .spacer { margin-top:50px; }
.inner_pages .lg_txt { font-size:38px; line-height:1.25; color:#1d253c }

@media screen and (min-width:992px)
{
	.inner_pages { padding-top:102px; }
	.inner_pages .lg_txt { font-size:48px; }
}

/*--------------- Footer -------------------*/
footer { background:#1D253C; padding:50px 0; color:#fff; margin-top:50px; }
footer a { color:#fff; }
footer a:hover { color:#a91d24; text-decoration:none; }
footer a.logo-footer img { display:block; max-width:150px; margin:0 auto; }
footer h2 { font-size:24px; text-transform:uppercase; }
footer ul { margin:0 0 20px; padding:0; }
footer ul li { padding:0; margin-bottom:10px; display:block; }

footer ul#primary-footer1 li { text-transform:uppercase; }
footer ul#primary-footer3 li { text-transform:uppercase; }

footer ul.social { margin:0; }
footer ul.social li { display:inline-block; }
footer ul.social li a { border:2px solid #fff; width:38px; height:38px; display:inline-block; font-size:18px; text-align:center; line-height:34px; color:#fff; margin-right:3px; transition:all 0.6s; }
footer ul.social li a:hover { background:#fff; color:#E53038; }

footer ul#primary-footer3 { margin-top:2rem; }
footer ul#primary-footer3 > li > a { display:block; padding:0.5rem 1rem; border:2px white solid; text-decoration:none; text-align:center; transition:all 0.6s; }
footer ul#primary-footer3 > li > a:hover { background:#fff; color:#E53038; }

@media screen and (min-width:992px)
{
	footer a.logo-footer img { max-width:200px; margin:0; }
	footer ul.lg-txt li { font-size:24px; }
}

/*--------------- Donate template -------------------*/
.donate { background-color:#1D253C; background-size:auto 100%; background-attachment:fixed; background-repeat:no-repeat; background-position:92% bottom; }
.donate .box-flip { display:flex; flex-direction:column; align-items:center; min-height:100vh; width:100%; background:#fff; padding:25px 0; }
.donate .box-flip a.logo { display:inline-block; }
.donate .box-flip a.logo img { display:block; width:130px; }
.donate .box-flip a.cwp-button-primary { border-radius:0; background:#c6201f; }
.donate .box-flip a.cwp-button-primary:hover { box-shadow: 3px 3px 3px rgba(0,0,0,0.3); }
.donate .box-flip .content_bx { /*flex:1;*/ display:flex; align-items:center; padding:50px 4% 50px 4%; }
.donate .box-flip .donate-merci { display:block; width:100%; margin: auto 0 0 0; color:#fff; font-size:2rem; padding:0.5rem 1rem; background:#E53038; text-align:center; }

/*--------------- Content style -------------------*/
.main .main-inner { margin:0; }

@media screen and (min-width:992px)
{
	.main.main-single { padding-top:102px; }
}

/*--------------- Content style -------------------*/
body .elementor-text-editor p:last-child { margin-bottom:0px; }

body .elementor-widget-heading.elementor-widget-heading .elementor-heading-title { color:#333333; }
body .elementor-widget-heading.elementor-widget-heading h1.elementor-heading-title { color:#E53038; }

body .elementor-widget-button a.elementor-button,
body .elementor-widget-button .elementor-button { display:inline-flex; padding:0.5rem 2rem; font-size:18px; background:transparent; color:#333333; border-radius:0; text-decoration:none; border:2px #333333 solid; background:transparent; text-align:center; transition:all 0.6s; }

body .elementor-widget-uael-modal-popup a.elementor-button,
body .elementor-widget-uael-modal-popup .elementor-button { display:inline-flex; padding:0.5rem 2rem; font-size:18px; background:transparent; color:#333333; border-radius:0; text-decoration:none; border:2px #333333 solid; background:transparent; text-align:center; transition:all 0.6s; }

body .elementor-widget-button a.elementor-button .elementor-button-content-wrapper,
body .elementor-widget-button .elementor-button .elementor-button-content-wrapper { display:flex; text-align:left; }

body .elementor-widget-button a.elementor-button:hover,
body .elementor-widget-button .elementor-button a:hover { border-color:#E53038; color:#E53038; }

body .elementor-element.elementor-button-info .elementor-button { background:transparent; color:#fff; border-color:#fff; }
body .elementor-element.elementor-button-info .elementor-button:hover { background:#fff; color:#E53038; border-color:#fff; }

body .elementor-element.elementor-button-danger .elementor-button { background:#E53038; color:#fff; border-color:#E53038; }
body .elementor-element.elementor-button-danger .elementor-button:hover { background:#fff; color:#E53038; border-color:#E53038; }


/* list style */
.lae-container .lae-block-column .lae-module .entry-title { color:#E53038; font-weight:500; }
.lae-container .lae-block-column .lae-module .entry-title a { color:inherit; }

.lae-container {}
.lae-container.lae-block-grid-1 { }
.lae-container.lae-block-grid-1 .lae-block-column { border-top:1px #333333 solid; }
.lae-container.lae-block-grid-1 .lae-block-column:last-of-type { border-bottom:1px #333333 solid;  }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-image { display:none; }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-entry-text { display:flex; flex-direction:row; max-width:100%; text-align:left; align-items:center; }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-entry-text .entry-title { font-size:14px; line-height:28px; color:#333333; order:2; flex:1; margin:0; }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-entry-text .entry-title a { color:inherit; }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-entry-text .lae-module-meta { order:1; margin:0; min-width:150px; }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-entry-text .lae-module-meta abbr { font-size:14px; line-height:28px; color:#333333; font-weight:normal; }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-entry-text .lae-excerpt { order:3; margin:0; }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-entry-text .lae-read-more { order:4; margin:0; color:#E53038; }
.lae-container.lae-block-grid-1 .lae-block-column .lae-module-11 .lae-module-entry-text .lae-read-more a { color:inherit; }

.lae-container.boxed .lae-grid-container {}
.lae-container.boxed .lae-grid-container .lae-block-column {}
.lae-container.boxed .lae-grid-container .lae-block-column .lae-module { background:#fff; padding:20px; }

/* ht table remove */
.htmega-table-style-2 .htb-table { overflow:hidden; }
.htmega-table-style-2 .htb-table thead tr th { border-left-color:transparent; border-right-color:transparent; }
.htmega-table-style-2 .htb-table tbody tr td { border-left-color:transparent; border-right-color:transparent; }