/* base */
html, body {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

body {
    font-family: "Open Sans", Helvetica , Arial, sans-serif;
    line-height: 160%;
    color:#666;
    font-size: 13px;
    letter-spacing: 0.3pt;
    min-width: 360px;
    width:100%;
    overflow-x: hidden;
    
	--brand-color: #57AB27;
	--2-brand-color: #45a04b;
	--3-brand-color: #357c3a;
}

body.article_id_86,
body.article_id_88,
body.article_id_89 {
	--brand-color: #3aa8d9;
	--2-brand-color: #2E86AD;
	--3-brand-color: #225982;
}

/* TOP */
#top {
    position: absolute;
    z-index: 999;
    left:0px;
    right:0px;
    top:0px;

    background-color: #f8f8f8;

    -webkit-box-shadow: 0px 0px 5px rgba(0,0,0,0.4);;
    -moz-box-shadow: 0px 0px 5px rgba(0,0,0,0.4);;
    box-shadow: 0px 0px 5px rgba(0,0,0,0.4);;
}

#top .brand a {
    display: block;
    padding:25px 0px;
    text-align: center;
}
#top .brand img {
    width: 100%;
    max-width: 232px;
    height: auto;
    max-height: 70px;
    margin: 16px auto 0 auto;
    height:auto;
}

@media screen and (max-width:1024px) {
	#top .container {
		width: 100% !important;
		padding-right: 5px !important;
    	padding-left: 5px !important;
		}
	}
	
.custom_badge a {
	cursor: pointer;
	}

.custom_badge img {
	/*
	max-width: 85px;
	max-height: 85px;
	*/
	max-width: 130px;
	height: auto;
	opacity: .75;
	-webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition: filter .25s, opacity .25s;
    transition: filter .25s, opacity .25s;
	}
	
.custom_badge:hover img,
.custom_badge:focus img {
	opacity: 1;
	-webkit-filter: grayscale(0%);
    filter: grayscale(0%);
    -webkit-transition: filter .25s, opacity .25s;
    transition: filter .25s, opacity .25s;
	}
	
.custom_badge {
	position: absolute;
	top: 15px;
	/*
	width: 85px;
	height: 85px;
	*/
	width: 130px;
	height: auto;
	right: 10px;
	}
	
img {
	height: auto;
	max-width: 100%;
	}

@media screen and (min-width: 1141px) {
	.custom_badge {
		right: calc(((100vw - 1140px) / 2) - 10px);
		}
	}

@media screen and (min-width: 992px) {
	#top .brand img {
    	width: 115%;
    	margin: 12px -15% 0 0;
		}
	}

@media screen and (max-width: 991px) {
	#top .brand a {
    	padding: 20px 0px 10px 0px;
		}
	#top .brand img {
    	margin: 0 auto -10px auto;
    	max-width: 216px;
    	max-height: 65px;
		}
	.custom_badge {
		top: 10px;
		}
	}
	
@media screen and (max-width: 767px) {
	#top .brand img {
    	margin-bottom: -40px;
    	margin-top: 20px;
		}
	.custom_badge {
		right: auto;
		left: 10px;
		top: 22px;
		/*
		width: 65px;
		height: 65px;
		*/
		width: 90px;
		height:auto;
		}
	.custom_badge a.badgebtn {
		margin-top: 2px;
		}
	.navbar-header {
		min-width: 92.5vw;
		}
	}

#footer {
    padding:40px 0px;
    background-color: var(--2-brand-color);
    color:#fff;
}
#subfooter {
    padding:20px 0px;
    background-color: #f8f8f8;
}

/* navi main */
@media (min-width: 768px) {
    #top .mainnav .nav.menu > li {
        padding:10px 15px;
    }
    #top .mainnav .nav.menu > li > span,
    #top .mainnav .nav.menu > li > a {
        display:block;
        padding:10px 5px;
        cursor: pointer;
        text-decoration: none;
        text-transform: uppercase;
        border-top:1px solid transparent;
        border-bottom:1px solid transparent;

        -webkit-transition: border-color linear 400ms;
        -moz-transition: border-color linear 400ms;
        -ms-transition: border-color linear 400ms;
        -o-transition: border-color linear 400ms;
        transition: border-color linear 400ms;
    }
    #top .mainnav .nav.menu > li:hover > span,
    #top .mainnav .nav.menu > li:hover > a,
    #top .mainnav .nav.menu > li.active > span,
    #top .mainnav .nav.menu > li.active > a{
        border-color:var(--brand-color);
    }
    #top .mainnav .nav.menu > li > ul {
        position: absolute;
        display: none;
        list-style: none;
        margin:35px 0px 0px -20px;
        padding:0px;
		border: 1px solid var(--brand-color);
    }
	#top .mainnav .nav.menu > li > ul ul {
		display:block;
		list-style:none;
		margin:0px;
		padding:0px 0px 0px 0px;
	}    
    
	#top .mainnav .nav.menu > li > ul ul > li {
		padding-left:20px;
	}
		
    #top .mainnav .nav.menu > li:hover > ul {
        display: block;
        animation-duration: 0.3s;
        animation-fill-mode: both;
        animation-name: fadeInUpSmall;
    }
    #top .mainnav .nav.menu > li > ul > li {
        border-bottom:1px solid #ddd;
        background-color: #f8f8f8;

        -webkit-transition: all linear 400ms;
        -moz-transition: all linear 400ms;
        -ms-transition: all linear 400ms;
        -o-transition: all linear 400ms;
        transition: all linear 400ms;
    }
    #top .mainnav .nav.menu > li > ul > li:last-child {
        border-bottom:none;
		/*
        -webkit-border-bottom-right-radius: 5px;
        -webkit-border-bottom-left-radius: 5px;
        -moz-border-radius-bottomright: 5px;
        -moz-border-radius-bottomleft: 5px;
        border-bottom-right-radius: 5px;
        border-bottom-left-radius: 5px;*/
    }
    #top .mainnav .nav.menu > li > ul > li:not(.deeper):hover,
    #top .mainnav .nav.menu > li > ul > li.deeper:hover > a:hover,
    #top .mainnav .nav.menu > li > ul > li.deeper > ul > li:hover
    {
        background-color: #eee;
    }
    #top .mainnav .nav.menu > li > ul > li a {
        display:block;
        color:#555;
        text-decoration: none;
        font-size: 110%;
        padding:10px 30px;
    }
}
@media screen and (min-width: 992px) {
	#top .mainnav .nav.menu > li {
        padding:46px 15px 38px 15px;
    	}
    }

@media screen and (max-width: 767px) {
	.hide-on-mobile {
		display: none;
		}
	}
	
@media screen and (min-width: 768px) {
	.hide-on-desktop {
		display: none;
		}
	}



@-webkit-keyframes fadeInUpSmall {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUpSmall {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        -ms-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }
}

.fadeInUpSmall {
    -webkit-animation-name: fadeInUpSmall;
    animation-name: fadeInUpSmall;
}

@-webkit-keyframes fadeInLeftSmall {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInLeftSmall {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 0, 0);
        -ms-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }
}

.fadeInLeftSmall {
    -webkit-animation-name: fadeInLeftSmall;
    animation-name: fadeInLeftSmall;
}
	
/* Slider-Adaption RM */

@media screen and (min-width: 1901px) {
	body.home [class*='rev_slider_wrapper'][class*='fullwidth'],
	body.home [class*='rev_slider_wrapper'][class*='fullwidth'] [class*='rev_slider'] {
		height: 26.31vw;
		max-height: 26.31vw;
		min-height: 26.31vw;
		}
	}

/* Typo Adaption RM */

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	line-height: 1.5 !important;
	}

/* Widget-Kit Adaption RM */

[class*='uk-overlay'] {
	max-height: 600px;
	}
	
[class*='uk-overlay'] img {
	min-width: 100%;
	max-width: 500%;
	width: auto;
	height: auto;
	max-height: 600px;
	-webkit-translateX(-50%);
	transform: translateX(-50%);
	margin-left: 50%;
	}
	
.uk-overlay-active .uk-active > .uk-overlay-scale,
.uk-overlay-hover.uk-hover .uk-overlay-scale,
.uk-overlay-hover:hover .uk-overlay-scale {
    -webkit-transform: translateX(-50%) scale(1.1) !important;
    transform: translateX(-50%) scale(1.1) !important;
}

/* Grid-Adaption RM */

@media screen and (min-width: 992px) {
	.row {
    	clear: both;
    	max-width: 100%;
    	margin-left: 0;
    	margin-right: 0;
		}
	}
	
@media screen and (min-width: 1025px) {
	.row {
		display: -webkit-flex;
    	display: flex;
    	-webkit-flex-flow: row wrap;
    	flex-flow: row wrap;
		}
	}

[class^="col-"] {
  padding-top: 10px;
  padding-bottom: 10px;
}

[class^="col-"] {
  overflow: hidden;
}

.row.flexbox {
  display: flex;
  flex-wrap: wrap;
}
.row.flexbox [class*="col-xs-1"] {
  flex: 1 0 8.3333333333%;
}
.row.flexbox [class*="col-xs-1"]:last-child {
  flex: 0 0 8.3333333333%;
}
.row.flexbox [class*="col-xs-2"] {
  flex: 2 0 16.6666666667%;
}
.row.flexbox [class*="col-xs-2"]:last-child {
  flex: 0 0 16.6666666667%;
}
.row.flexbox [class*="col-xs-3"] {
  flex: 3 0 25%;
}
.row.flexbox [class*="col-xs-3"]:last-child {
  flex: 0 0 25%;
}
.row.flexbox [class*="col-xs-4"] {
  flex: 4 0 33.3333333333%;
}
.row.flexbox [class*="col-xs-4"]:last-child {
  flex: 0 0 33.3333333333%;
}
.row.flexbox [class*="col-xs-5"] {
  flex: 5 0 41.6666666667%;
}
.row.flexbox [class*="col-xs-5"]:last-child {
  flex: 0 0 41.6666666667%;
}
.row.flexbox [class*="col-xs-6"] {
  flex: 6 0 50%;
}
.row.flexbox [class*="col-xs-6"]:last-child {
  flex: 0 0 50%;
}
.row.flexbox [class*="col-xs-7"] {
  flex: 7 0 58.3333333333%;
}
.row.flexbox [class*="col-xs-7"]:last-child {
  flex: 0 0 58.3333333333%;
}
.row.flexbox [class*="col-xs-8"] {
  flex: 8 0 66.6666666667%;
}
.row.flexbox [class*="col-xs-8"]:last-child {
  flex: 0 0 66.6666666667%;
}
.row.flexbox [class*="col-xs-9"] {
  flex: 9 0 75%;
}
.row.flexbox [class*="col-xs-9"]:last-child {
  flex: 0 0 75%;
}
.row.flexbox [class*="col-xs-10"] {
  flex: 10 0 83.3333333333%;
}
.row.flexbox [class*="col-xs-10"]:last-child {
  flex: 0 0 83.3333333333%;
}
.row.flexbox [class*="col-xs-11"] {
  flex: 11 0 91.6666666667%;
}
.row.flexbox [class*="col-xs-11"]:last-child {
  flex: 0 0 91.6666666667%;
}
.row.flexbox [class*="col-xs-12"] {
  flex: 12 0 100%;
}
.row.flexbox [class*="col-xs-12"]:last-child {
  flex: 0 0 100%;
}
@media (min-width: 768px) {
  .row.flexbox [class*="col-sm-1"] {
    flex: 1 0 8.3333333333%;
  }
  .row.flexbox [class*="col-sm-1"]:last-child {
    flex: 0 0 8.3333333333%;
  }
  .row.flexbox [class*="col-sm-2"] {
    flex: 2 0 16.6666666667%;
  }
  .row.flexbox [class*="col-sm-2"]:last-child {
    flex: 0 0 16.6666666667%;
  }
  .row.flexbox [class*="col-sm-3"] {
    flex: 3 0 25%;
  }
  .row.flexbox [class*="col-sm-3"]:last-child {
    flex: 0 0 25%;
  }
  .row.flexbox [class*="col-sm-4"] {
    flex: 4 0 33.3333333333%;
  }
  .row.flexbox [class*="col-sm-4"]:last-child {
    flex: 0 0 33.3333333333%;
  }
  .row.flexbox [class*="col-sm-5"] {
    flex: 5 0 41.6666666667%;
  }
  .row.flexbox [class*="col-sm-5"]:last-child {
    flex: 0 0 41.6666666667%;
  }
  .row.flexbox [class*="col-sm-6"] {
    flex: 6 0 50%;
  }
  .row.flexbox [class*="col-sm-6"]:last-child {
    flex: 0 0 50%;
  }
  .row.flexbox [class*="col-sm-7"] {
    flex: 7 0 58.3333333333%;
  }
  .row.flexbox [class*="col-sm-7"]:last-child {
    flex: 0 0 58.3333333333%;
  }
  .row.flexbox [class*="col-sm-8"] {
    flex: 8 0 66.6666666667%;
  }
  .row.flexbox [class*="col-sm-8"]:last-child {
    flex: 0 0 66.6666666667%;
  }
  .row.flexbox [class*="col-sm-9"] {
    flex: 9 0 75%;
  }
  .row.flexbox [class*="col-sm-9"]:last-child {
    flex: 0 0 75%;
  }
  .row.flexbox [class*="col-sm-10"] {
    flex: 10 0 83.3333333333%;
  }
  .row.flexbox [class*="col-sm-10"]:last-child {
    flex: 0 0 83.3333333333%;
  }
  .row.flexbox [class*="col-sm-11"] {
    flex: 11 0 91.6666666667%;
  }
  .row.flexbox [class*="col-sm-11"]:last-child {
    flex: 0 0 91.6666666667%;
  }
  .row.flexbox [class*="col-sm-12"] {
    flex: 12 0 100%;
  }
  .row.flexbox [class*="col-sm-12"]:last-child {
    flex: 0 0 100%;
  }
}
@media (min-width: 992px) {
  .row.flexbox [class*="col-md-1"] {
    flex: 1 0 8.3333333333%;
  }
  .row.flexbox [class*="col-md-1"]:last-child {
    flex: 0 0 8.3333333333%;
  }
  .row.flexbox [class*="col-md-2"] {
    flex: 2 0 16.6666666667%;
  }
  .row.flexbox [class*="col-md-2"]:last-child {
    flex: 0 0 16.6666666667%;
  }
  .row.flexbox [class*="col-md-3"] {
    flex: 3 0 25%;
  }
  .row.flexbox [class*="col-md-3"]:last-child {
    flex: 0 0 25%;
  }
  .row.flexbox [class*="col-md-4"] {
    flex: 4 0 33.3333333333%;
  }
  .row.flexbox [class*="col-md-4"]:last-child {
    flex: 0 0 33.3333333333%;
  }
  .row.flexbox [class*="col-md-5"] {
    flex: 5 0 41.6666666667%;
  }
  .row.flexbox [class*="col-md-5"]:last-child {
    flex: 0 0 41.6666666667%;
  }
  .row.flexbox [class*="col-md-6"] {
    flex: 6 0 50%;
  }
  .row.flexbox [class*="col-md-6"]:last-child {
    flex: 0 0 50%;
  }
  .row.flexbox [class*="col-md-7"] {
    flex: 7 0 58.3333333333%;
  }
  .row.flexbox [class*="col-md-7"]:last-child {
    flex: 0 0 58.3333333333%;
  }
  .row.flexbox [class*="col-md-8"] {
    flex: 8 0 66.6666666667%;
  }
  .row.flexbox [class*="col-md-8"]:last-child {
    flex: 0 0 66.6666666667%;
  }
  .row.flexbox [class*="col-md-9"] {
    flex: 9 0 75%;
  }
  .row.flexbox [class*="col-md-9"]:last-child {
    flex: 0 0 75%;
  }
  .row.flexbox [class*="col-md-10"] {
    flex: 10 0 83.3333333333%;
  }
  .row.flexbox [class*="col-md-10"]:last-child {
    flex: 0 0 83.3333333333%;
  }
  .row.flexbox [class*="col-md-11"] {
    flex: 11 0 91.6666666667%;
  }
  .row.flexbox [class*="col-md-11"]:last-child {
    flex: 0 0 91.6666666667%;
  }
  .row.flexbox [class*="col-md-12"] {
    flex: 12 0 100%;
  }
  .row.flexbox [class*="col-md-12"]:last-child {
    flex: 0 0 100%;
  }
}
@media (min-width: 1200px) {
  .row.flexbox [class*="col-lg-1"] {
    flex: 1 0 8.3333333333%;
  }
  .row.flexbox [class*="col-lg-1"]:last-child {
    flex: 0 0 8.3333333333%;
  }
  .row.flexbox [class*="col-lg-2"] {
    flex: 2 0 16.6666666667%;
  }
  .row.flexbox [class*="col-lg-2"]:last-child {
    flex: 0 0 16.6666666667%;
  }
  .row.flexbox [class*="col-lg-3"] {
    flex: 3 0 25%;
  }
  .row.flexbox [class*="col-lg-3"]:last-child {
    flex: 0 0 25%;
  }
  .row.flexbox [class*="col-lg-4"] {
    flex: 4 0 33.3333333333%;
  }
  .row.flexbox [class*="col-lg-4"]:last-child {
    flex: 0 0 33.3333333333%;
  }
  .row.flexbox [class*="col-lg-5"] {
    flex: 5 0 41.6666666667%;
  }
  .row.flexbox [class*="col-lg-5"]:last-child {
    flex: 0 0 41.6666666667%;
  }
  .row.flexbox [class*="col-lg-6"] {
    flex: 6 0 50%;
  }
  .row.flexbox [class*="col-lg-6"]:last-child {
    flex: 0 0 50%;
  }
  .row.flexbox [class*="col-lg-7"] {
    flex: 7 0 58.3333333333%;
  }
  .row.flexbox [class*="col-lg-7"]:last-child {
    flex: 0 0 58.3333333333%;
  }
  .row.flexbox [class*="col-lg-8"] {
    flex: 8 0 66.6666666667%;
  }
  .row.flexbox [class*="col-lg-8"]:last-child {
    flex: 0 0 66.6666666667%;
  }
  .row.flexbox [class*="col-lg-9"] {
    flex: 9 0 75%;
  }
  .row.flexbox [class*="col-lg-9"]:last-child {
    flex: 0 0 75%;
  }
  .row.flexbox [class*="col-lg-10"] {
    flex: 10 0 83.3333333333%;
  }
  .row.flexbox [class*="col-lg-10"]:last-child {
    flex: 0 0 83.3333333333%;
  }
  .row.flexbox [class*="col-lg-11"] {
    flex: 11 0 91.6666666667%;
  }
  .row.flexbox [class*="col-lg-11"]:last-child {
    flex: 0 0 91.6666666667%;
  }
  .row.flexbox [class*="col-lg-12"] {
    flex: 12 0 100%;
  }
  .row.flexbox [class*="col-lg-12"]:last-child {
    flex: 0 0 100%;
  }
}