:root {
    --header-height: 57px;
    --page-slider-height: 180px;
	--page-header-height: calc(var(--header-height) + var(--page-slider-height));
    --block-space: 1.25rem;
}

body {
    text-align: justify;
    text-justify: distribute;
    font-family: open sans, sans-serif;
    color: #000000;
}

header {
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.5);
    background: #FFFFFF;
}

h1 {
    font-size: 3.4375rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.25rem;
}

img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

a {
    color: #000000;
}

a:hover {
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	text-decoration: none;
	color: #000000;
}

.container {
    font-size: 1.125rem;
}

.desktop-only {
    display: none;
}

.text-large {
    font-size: large;
}

.text-success {
    color: #009944 !important
}

.btn-success {
    color: #FFFFFF;
    background-color: #009944;
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #fff;
    background-color: #289e19;
}

.sheet {
	margin: 0 auto 1em;
    line-height: 150%;
    border-collapse: collapse;
    background-color: #fff;
}

.sheet caption {
    font-weight: bold;
    text-align: left;
    font-size: 1em;
    padding: 5px 10px 4px;
	color: #777777;
	caption-side: top;
}

.sheet th {
    text-align: center;
	background-color: #e6e6e6;

}

.sheet th,
.sheet td {
	padding: 8px;
	border: 1px solid #aaaaaa;
	vertical-align: middle;
}

/*---------- navigation ---------- */
.navbar {
    padding: 0.5rem 0;
}

.navbar-brand {
    max-width: 343px;
    width: calc(100% - 60px);
    margin-right: 0;
}

.navbar-dark .navbar-toggler {
    color: #000000;
}

#topNav .navbar-nav a {
    color: #444444;
    -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
    filter: grayscale(0%);
}

#topNav .navbar-nav a:hover,
#topNav .navbar-nav a.active {
	background: rgba(237, 233, 225, 0.6);
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
}

#topNav .navbar-nav .nav-item-icon {
    display: none;
    width: 40px;
    height: 40px;
    margin: 0 auto;
}

#botNav .container {
    padding-top: 20px;
    padding-bottom: 20px;
}

#botNav .nav-link {
    padding-top: 0;
}

#botNav h3 {
	font-size: 1.375rem;
	font-weight: bold;
}

/*---------- slider ---------- */
#page #slider {
    z-index: 1029;
    position: fixed;
    top: var(--header-height);
    right: 0;
    left: 0;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.5);
}

#slider .carousel-indicators li {
    width: 15px;
    height: 15px;
    margin-right: 10px;
    margin-left: 10px;
    border-radius: 100%;
    background-color: rgba(255, 255, 255, 0.8);
}

#slider .carousel-indicators .active {
    background-color: #009944;
}

#slider .carousel-item {
    overflow: hidden;
    max-height: calc(100vh - var(--header-height));
    height: 100%;
    text-align: center;
}

#page #slider .carousel-item {
    height: var(--page-slider-height);
}
@media (max-width : 767px) {
	#page #slider .carousel-item {
	    height: calc(var(--page-slider-height) * 3 / 4);
	}
	#slider .carousel-item img{
		height: calc(var(--page-slider-height) * 3 / 4);
	}
}

#slider .carousel-item img {
    width: 100vw;
    height: calc(100vh - var(--header-height));
    max-width: revert;
}

#slider .carousel-item img:hover {
	/*opacity: 0.8;*/
}

#page #slider .carousel-item img:hover {
	opacity: 1;
}

#slider .carousel-caption {
    top: 30%;
    right: 12%;
    bottom: auto;
    left: 12%;
    width: 80%;
    color: #FFFFFF;
    transform: translate(0, -50%);
}
    
#slider .carousel-left,
#slider .carousel-right{
	left: 5%;
	right: auto;
	bottom: 5%;
	top: auto;
    display: inline-block;
    width: auto;
}

/*#slider .carousel-right{
	right: 5%;
	left: auto;
	bottom: 5%;
	top: auto;
    display: inline-block;
    width: auto;
}*/

#page #slider .carousel-caption {
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    transform: translate(0, 0);
}

#slider .carousel-caption.mask {
    padding: 15px 30px;
    color: #2A2A2A;
}

#slider .carousel-caption.mask:after {
	z-index: -1;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.8);
	content: "";
}

#slider .carousel-caption h1 {
    margin-bottom: 0;
    font-size: 1.2rem;
	text-align: left;
}

#page #slider .carousel-caption h1 {
    font-size: 2.5rem;
	text-shadow: black 0.1em 0.1em 0.2em;
}

#slider .highlight {
    font-size: 2.5rem;
    font-weight: bold;
    color: #289E19;
}

/*---------- content ---------- */
#content {
    margin-top: var(--page-header-height);
}

#content .container {
    padding-top: var(--block-space);
    padding-bottom: var(--block-space);
}

.block {
    margin-top: var(--block-space);
}

.block:first-child {
	margin-top: 0;
}

.title {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid;
    line-height: 1.5em;
    margin-bottom: 1rem;
}
@media (max-width : 767px) {
	.title{
		font-size: 1.5rem;
	}
}

#legend .period {
	font-size: 1rem;
	font-weight: bold;
}

#legend .title {
	padding-bottom: 0;
	border-bottom: none;
	line-height: normal;
	font-size: 2rem;
	font-weight: bold;
}

#legend ul {
	padding: 0;
	list-style: none;
	padding-top: 1rem;
}

#legend .fas {
	margin-right: 3px;
}

#sideNav ul#side-menu,
ul#download {
	padding: 0;
}

#sideNav ul#side-menu li {
    padding: 0.5rem 0;
    list-style: none;
}

#sideNav ul#side-menu a:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: left center no-repeat url('../image/icon/dot.png');
    background-size: 20px;
    vertical-align: text-bottom;
    content: "";
    -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
    filter: grayscale(0%);
}

#sideNav ul#side-menu a:hover:before,
#sideNav ul#side-menu a.active:before {
    color: #009B44;
    -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
}

ul#download li {
    padding: 10px 0;
    list-style: none;
    font-size: 1.75rem;
}

ul#download li ul li{
    font-size: 1.125rem;
}

ul#download li:before {
	display: inline-block;
	width: 35px;
	height: 32px;
	background: left -3px no-repeat url('../image/icon/leaf.png');
	background-size: 32px;
	vertical-align: text-bottom;
	content: "";
	-webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
	filter: grayscale(0%);
}

ul#download li:hover:before,
ul#download li.active:before {
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
}


ul#download > li {
    padding: 1rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

ul#download li > ul {
	display: none;
	padding-left: 2.1875rem;
}

ul#download li > ul li:before {
	display: none;
	background: none;
}

/*---------- gallery ---------- */
.gallery-item {
    margin-bottom: 1rem;
    box-shadow: -0.07px 1px 11px 0 rgba(0, 0, 0, 0.29);
}

.gallery-item .thumb {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 15px;
}

.gallery-item .thumb.full {
	padding: 0;
}

.gallery-item .caption {
	padding: 15px;
}

/*---------- footer ---------- */
footer {
    background: url('../image/bg/white-wall.jpg');
}

#copyright {
    background: #7D7D7D;
    color: #FFFFFF;
}

#copyright .container {
	padding-top: 10px;
	padding-bottom: 10px;
}

@media (max-width : 767px) {
	#copyright .container {
		font-size:0.78rem !important;
		text-align: center;
	}
}

#cookies {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(40, 158, 25, 0.8);
    color: #FFFFFF;
    z-index: 10;
}
@media (max-width : 767px){
	.col-md{
		font-size: 13px;
	}
}

#cookies .container {
	padding-top: 15px;
	padding-bottom: 15px;
}

#cookies a {
	text-decoration: underline;
	color: #FFFFFF;
}

#top, #toHome {
	z-index: 3;
    position: fixed;
    right: 5%;
}

#top {
	bottom: 5%;
}

#toHome {
	bottom: calc(5% + 70px);
}

#top, #toHome:hover {
	cursor: pointer;
}

#top img, #toHome img {
	width: 60px;
}

/*---------- RWD ---------- */
@media (min-width : 768px) {
    :root {
        --header-height: 70px;
    }

    .desktop-only {
        display: block;
    }

    img.desktop-only {
        display: inline-block;
    }

    .mobile-only {
        display: none;
    }

    #slider .carousel-caption {
        top: 50%;
        right: auto;
        bottom: auto;
        left: 25%;
		width: auto;
        transform: translate(0%, -50%);
    }
    
    #slider .carousel-left{
    	left: 15%;
    	right: auto;
    }
    
    #slider .carousel-right{
    	right: 15%;
    	left: auto;
    }

    #page #slider .carousel-caption {
        width: 100%;
    }

    #slider .carousel-caption h1 {
        font-size: 2.5rem;
    }

    #slider .highlight {
        font-size: 5rem;
    }
	
	ul#download li ul li{
		font-size: 1.5rem;
	}
}

@media (min-width : 1200px) {
    :root {
        --header-height: 99px;
    }
    
    header .container,
    footer .container {
        max-width: 1140px;
    }
    
    #topNav .navbar-nav .nav-item-icon {
        display: block;
        margin: 0 auto;
    }
}

.fp-tableCell-noFlex{
}

.fp-tableCell-center{
	display: flex;
	justify-content: center;
    align-items: center;
}
.fp-tableCell-center .slimScrollDiv {
	flex: 1;
}

.fp-tableCell-start{
	display: flex;
    align-items: flex-start;
}

.container-start{
    padding-top: 0 !important;
}

#bg{
	position: fixed; 
	left: 0; 
	top: 180px; 
	width: 15%;
}


.aniTxt {
	opacity: 0;
	font-size: 2rem;
}

@media (max-width : 767px) {
	.aniTxt{
		opacity: 0;
		font-size: 1.5rem;
	}
}