@charset "utf-8";

html {font-size: 100%;}

@media screen and (max-width:780px) {
    html{font-size: 62.5%;}
}

body{
    font-family: var(--sanei-body-font, sans-serif);
    width: 100%;
    margin: 0;
    color: var(--sanei-primary-text-color);
}

h1, h2, h3, h4, h5, h6{
    font-family: var(--sanei-heading-font, sans-serif);
}

header{
    display: flex;
    position: fixed;
    top: 0;
    width: 100%;
    height: 50px;
    background-color: white;
    transition: .8s;
    z-index: 500;
    clear: both;
}
.hidden{
    transform: translateY(-100%);
}
.shown{
    position: absolute;
    top: 0;
    left: 0;
}

.logo {
    width: 30%;
    height: 50px;
    font-size: 2.0rem;
    position: relative;
    font-weight: bold;
    margin: 5px 0 0 5px;
}
@media screen and (max-width:780px) {
    .logo {
         width: 30%;
         height: auto;
         font-size: 2.5rem;
         position: relative;
         font-weight: bold;
     }
}
 
.logo a{
    color:inherit;
    text-decoration: none;
}
.logo_text_f{
    fill: whitesmoke;
}
.logo_text_b{
    stroke: var(--sanei-secondary-color, #9f9b97);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
    stroke-width: 4;
}

nav{
    position: relative;
    width: 70%;
}

header .menu {
    display: flex;
    justify-content: flex-end;
    list-style: none;
}
header .menu li{
    display: inline-block;
    font-size:1rem;
    padding-right: 5%;
}
header .menu a{
    position:relative;
    text-decoration: none;
    font-weight: bold;
    color: var(--sanei-secondary-color, #9f9b97);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
}
header .menu a::after{
    color: var(--sanei-accent-color);
    position: absolute;
    left: -20%;
    content: '';
    width: 140%;
    height: 3px;
    background: var(--sanei-accent-color);
    bottom: -16px;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}
header .menu a:hover{
    color:var(--sanei-accent-color);
}
header .menu a:hover::after{
    color: var(--sanei-accent-color);
    visibility: visible;
    left: 0;
    width: 100%;
    bottom: -4px;
    opacity: 1;
}

@media screen and (max-width: 780px) {
    header .menu{
        list-style: none;
        position: absolute;
        display: block;
        top: 4rem;
        right: 0;
        width: 100vw;
        height: 100vh;
        margin: 0;
        padding: 0;
        background-color: white;
        transform: translateX(0);
        transition: 500ms;
    }
    header .menu li{
        display: block;
        width: 80%;
        font-size: 1.5rem;
        text-align: center;
        border-bottom: 2px dotted var(--sanei-primary-text-color);
        margin: 2rem 0 4rem 10%;
    }
    header .menu a{
        text-decoration: none;
        color: var(--sanei-primary-text-color);
        text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
        font-weight: bolder;
    }
    header .menu a::after{
        position: absolute;
        content: '';
        width: 100%;
        background: var(--sanei-accent-color);
    }
    header .smenu_btn{
        position: absolute;
        background: white;
        cursor: pointer;
        top: 0;
        right: 0;
        width: 50px;
        height:50px;
    }  
    header .menu_gone{
        transform: translateX(100%);
    }
    header .smenu_btn span{
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 3px;
        border-radius: 2px;
        background: var(--sanei-secondary-color, #9f9b97);
        width: 45%;
    }
    header .smenu_btn span:nth-of-type(1) {
        top:15px; 
    }
    header .smenu_btn span:nth-of-type(2) {
        top:23px;
    }
    header .smenu_btn span:nth-of-type(3) {
        top:31px;
    }
    header .smenu_btn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
    }
    header .smenu_btn.active span:nth-of-type(2) {
      opacity: 0;
    }
    header .smenu_btn.active span:nth-of-type(3){
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }        
}

main {
    clear: both;
    margin-top: 60px;
}

.particles-js{
    position: relative;
    width: 100%;
    height: 100%;
}
canvas{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 50;
}

.top_vis{
    position: relative;
    width: 100%;
    height: 80vh;
    pointer-events: none;
    z-index: 60;
}

.top_vis img{
    display: block;
    position: absolute;
    right: 20%;
    overflow: hidden;
    margin-top: 10%;
    transition: 2s;
    z-index: 50;
}

.animated_mask{
    width: 100%;
    height: inherit;
    position: absolute;
    left: 0;
    background-image: none;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 60%;
    clip-path: url(#mask-image);
    z-index: 50;
    background-color: var(--sanei-secondary-color, #9f9b97);
}
@media screen and (max-width: 780px) {
    .animated_mask{
        background-size: 80%;
    }
    .top_vis{
        height: 60vh;
    }
}
.animated_mask svg{
    position: relative;
    /* width: 100%; */
    /* height: 100%; */
}
.animated_mask path,polygon,circle{
    position: absolute;
    transform-box: fill-box;
    transform-origin: center;
    visibility: hidden;
}

/* top view title part ***********************************/
.top_text{
    position: absolute;
    margin-top: 10%;
    margin-left: 10%;
    pointer-events: none;
    z-index: 60;
}
  
.top_title span {
    font-family: var(--sanei-heading-font, "Paytone One");
    text-transform: uppercase;
    font-size: 4rem;
    color: var(--sanei-secondary-color, #9f9b97);
    text-shadow: 0 13.36px 8.896px #c4b59d,0 -2px 1px #fff;
    letter-spacing: -4px;
  }

.top_title{
    clip-path: inset(0 100% 0 0);
    display: inline-block;
    font-size: 4rem;
    font-weight: bold;
    animation: title_anim 3s 1s forwards;
    margin: 0;
}

.top_sub_title{
    clip-path: inset(0 100% 0 0);
    font-size: 3rem;
    font-weight: bold;
    color: var(--sanei-primary-text-color);
    text-shadow: #fff 2px 0, #fff -2px 0, #fff 0 -2px, #fff 0 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px, rgba(0, 0, 0, .5) 3px 3px 3px;
    margin: 5% 0 0 5%;
}

.top_contents{
    clip-path: inset(0 100% 0 0);
    font-size: 1.5rem;
    width: 60%;
    font-weight: bold;
    color: var(--sanei-primary-text-color);
    text-shadow: #fff 2px 0, #fff -2px 0, #fff 0 -2px, #fff 0 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px, rgba(0, 0, 0, .5) 3px 3px 3px;
    margin: 0 0 0 5%;
}

.top_texting_anim{
  animation-play-state:running; 
  animation-name: contents_anim;
  animation-duration: 5s;
  animation-delay: 0;
}

@keyframes contents_anim {
    0% {
        clip-path: inset(0 100% 0 0);
    }
    10%{
        clip-path: inset(0);
    }
    95%{
        clip-path: inset(0);
    }
    100%{
        clip-path: inset(0 0 100% 0);
    }
}

@keyframes title_anim {
    0% {
        clip-path: inset(0 100% 0 0);
    }

    100% {
        clip-path: inset(0);
    }
}

/* each part of menu on top ***********************************/
.sub_title{
	position: relative;
	padding-top: 2rem;
	padding-bottom: 1rem;
	font-size: 2rem;
    color: var(--sanei-primary-text-color);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
	text-align: center;
    z-index: 15;
}

.sub_title::before {
	content: attr(data-en);
	position: absolute;
	top: -1.5rem;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(119, 224, 66, 0.2);
	font-size: 4rem;
	font-style: bold;
    text-shadow: 0 0 1px rgba(119, 224, 66, 0.2);
    z-index: 0;
}

.more_info{
    display:block;
    position: relative;
	padding-top: 1rem;
	font-size: 1.5rem;
    padding-bottom: 2rem;
    font-weight: bolder;
    color: var(--sanei-primary-text-color);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
	text-align: center;
    text-decoration: none;
}

.more_info::after{
	content: '';
	position: absolute;
    top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #91b900 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
}

/* news part ***********************************/
.top_news{
    width: 100%;
    height: fit-content;
}
.top_news ul{
    margin: 0;
    padding: 0;
}
.top_news li{
    list-style: none;
    width: 80%;
    border: #202020;
    margin: 3% 0 0 10%;
}
.news_a{
    text-decoration: none;
    display: flex;
	color: var(--sanei-primary-text-color);
}
.news_list a{
    text-decoration: none;
    font-weight: bolder;
	color: var(--sanei-primary-text-color);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
}
.news_a:hover{
	color: var(--sanei-primary-text-color);
}
.news_list a:hover{
	color: var(--sanei-primary-text-color);
}
.news_list time{
	color: var(--sanei-primary-text-color);
}
.news_list div{
	color: var(--sanei-primary-text-color);
}
.list-box-left{
    width: 20%;
}
.list-box-left img{
    width:100%;
    height:inherit;
    border-radius: 10px;
}
.list-box-right{
    width: 80%;
    margin: 0 0 0 2%;
}
.list-box-right h2{
    font-size: 1.5rem;
    margin: 0 0 1% 0;
    padding: 0;
}
.list-box-right p{
    font-size: 1rem;
    margin: 1% 0 1% 0;
    padding: 0;
}
.list-box-meta{
    font-size: 0.8rem;
    margin: 0;
}

/* shortcode post list */
.sanei-post-list{
    margin:0;
    padding:0;
}
.sanei-post-list li{
    list-style:none;
    width:80%;
    margin:3% 0 0 10%;
}
.sanei-rounded img{
    border-radius:10px;
}
.sanei-post-pagination{
    text-align:center;
    margin:2% 0;
}
.sanei-post-pagination a,
.sanei-post-pagination span{
    margin:0 5px;
}

/* company part ***********************************/
.top_company{
    width: 100%;
    height: fit-content;
}
.company_thum{
    display: flex;
    width: 80%;
    margin: 3% 0 0 10%;
}
.company_img_left{
    width: 30%;
}
.company_img_left img{
    width: 100%;
    height: auto;
    border-radius: 10px;
}
.company_txt_summaly{
    width: 70%;
    margin: 0 0 0 2%;
}
.page_title{
    text-align: center;
	color: var(--sanei-primary-text-color);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
}
.page-content{
    overflow: flot-root;
}
.page-content__image{
    width: 80%;
    border-radius: 10px;
    margin: 0 0 3% 10%;
}
.page-content__paragraph{
    color: var(--sanei-primary-text-color);
    width: 80%;
    margin: 0 0 1% 10%;
}
.page-content__table{
	color: var(--sanei-primary-text-color);
    width: 70%;
    margin: 5% 0 0 15%;
    border-collapse: collapse;
}
/* business part ***********************************/
.top_business{
    width: 100%;
    height: fit-content;
}
.page-content__heading2{
    position: relative;
    color: var(--sanei-primary-text-color);
    font-size: 2rem;
    width: 80%;
    margin: 5% 0 1% 10%;
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
    clear: both;
}
.page-content__heading2::before{
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--sanei-primary-text-color);
    position: absolute;
}
.page_image_floating{
    display: block;
    float: left;
    width: 30%;
    height: auto;
    margin: 0 0 0 8%;
}
/* access part ***********************************/
.top_access{
    width: 100%;
    height: fit-content;
}
.access_list{
    width: 80%;
    color: var(--sanei-primary-text-color);
    margin: 0 0 0 10%;
}
.google_map{
    position: relative;
    width: 80%;
    height: 0;
    padding-top: 75%;
    margin: 0 0 0 10%;
}
.google_map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* ask part ***********************************/
.top_ask{
    width: 100%;
    height: fit-content;
}
.ask_frame{ 
    width: 80%;
    height: 500px;
    margin: 0 0 0 10%;
}
.ask_form{
    text-align: center;
    width: 100%;
    margin: 0 0 0 0;
    color: var(--sanei-primary-text-color);
}
.ask_form_table{
    width: 90%;
    margin: 0 0 0 5%;
}
.ask_form_line{
    width: 100%;
    height: 100%;
    text-align: left;
}
.ask_form input{
    font-size: 1.0rem;
    width: 100%;
}
.ask_form textarea{
    font-size: 1.0rem;
    width: 100%;
    height: 6rem;
}
.ask_form label{
    font-size: 1.2rem;
    font-weight: bolder;
}
.ask_form span{
    font-size: 0.8rem;
    color: red;
    vertical-align: middle;
}
.ask_form button{
    display       : inline-block;
    border-radius : 5%;
    font-size     : 1.2rem;
    text-align    : center;
    cursor        : pointer;
    padding       : 7px 12px;
    background    : var(--sanei-accent-color);
    color         : #ffffff;
    line-height   : 1em;
    opacity       : 0.9;
    transition    : .3s;
    box-shadow    : 6px 6px 3px #666666;
  }
.ask_form button:hover {
    box-shadow    : none;
    opacity       : 1;
}
/* single page ***********************************/
.single_background{
    background-color: ghostwhite;
    margin: 0 auto 2rem auto; /* Centered with bottom margin */
    padding: 3% 5%; /* Adjusted padding */
    width: 90%;
    max-width: 960px; /* Max width for readability on large screens */
    box-sizing: border-box;
}
.single_title{
    text-align: center;
	color: var(--sanei-primary-text-color);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
}
.single_meta{
    text-align: center;
	color: var(--sanei-primary-text-color);
}
.single_content img{
    width: 80%;
    border-radius: 10px;
    text-align: center;
    margin: 3% 0 0 10%;
}
.single_content p{
    width: 80%;
    margin: 1% 0 0 10%;
	color: var(--sanei-primary-text-color);
}
.single_prev_next{
    text-align: center;
    margin: 5% 0 0 0;
}
.single_prev_next a{
    text-decoration: none;
    font-weight: bolder;
	color: var(--sanei-primary-text-color);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
}
.single_prev_next a:hover{
	color: var(--sanei-primary-text-color);
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
}

/* Table Creator */
.page-content__heading4 {
    position: relative;
    color: var(--sanei-primary-text-color);
    font-size: 1.5rem;
    width: 80%;
    margin: 1% 0 1% 10%;
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
    clear: both;    
}

.page-content__heading3,
.page-content__block-heading {
    position: relative;
    color: var(--sanei-primary-text-color);
    font-size: 1.5rem;
    width: 80%;
    margin: 1% 0 1% 10%;
    text-shadow: 0 1px 0 #ccc, 0 3px 0 #ccc, 0 4px 10px rgba(0, 0, 0, .2);
    clear: both;
}

.page-content__list {
    padding-left: 2em;
    margin: 1em 0;
    list-style-type: disc; /* black circle */
}

.page-content__item {
    margin-bottom: 0.5em;
    line-height: 1.6;
    color: var(--sanei-primary-text-color);
    width: 80%;
    margin-left: 10%;
}

/* footer ***********************************/
footer .menu {
    display: flex;
    justify-content: center;
    list-style: none;
}
footer .menu li{
        display: inline-block;
        font-size:0.8rem;
        padding-right: 5%;
}
footer .menu a{
        color:var(--sanei-accent-color);
        text-decoration: none;
        font-weight: bold;
        position:relative;
}
footer .menu a::after{
        color: var(--sanei-accent-color);
        position: absolute;
        left: -20%;
        content: '';
        width: 140%;
        height: 3px;
        background: var(--sanei-accent-color);
        bottom: -16px;
        opacity: 0;
        visibility: hidden;
        transition: 0.5s;
}
footer .menu a:hover{
        color:var(--sanei-accent-color);
}
footer .menu a:hover::after{
        color: var(--sanei-accent-color);
        visibility: visible;
        left: 0;
        width: 100%;
        bottom: -4px;
        opacity: 1;
}

.allright{
    width: 100%;
    height: 5rem;
    font-size: 0.8rem;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    background-color: var(--sanei-accent-color);
}
.allright span{
    display: inline-block;
    padding-top: 2rem;
}