.rich_font {
	font-family: 'Source Sans Pro', sans-serif;
}

body.page,body.single,body.blog,body.archive {
	margin-top: 70px;
}

body.home {
	margin-top: 0;
}

nav ul#menu-globalmenu li {
	display: inline-block;
	color: black;
	border: none;
	padding: 1rem 0.5rem;	
}

nav ul#menu-globalmenu li ul.sub-menu {
/* 	display: flex; */
/* 	flex-direction: column; */
}

.home .news {
    background-color: rgba(0,0,0,0.8);
  }
  .news ul li {
    border-bottom: 1px dotted rgba(255,255,255,0.3);
    padding: .5em 0;
  }
  .news ul li:last-child {
    border-bottom: none;
  }
  hr.custom {
    background: url(../img/border-img.png);
    height: 10px;
    border: none;
    background-size: 30px;
    opacity: 0.25;
  }
  .footer-bg-img {
    z-index: -1;
  }
  nav#header {
    background-color: rgba(255,255,255,0.5);
    z-index: 999;    
    height: auto;
    position: fixed;
    top: 0;
    left: 0;
  }  
  nav#header ul li {
    position: relative;
  }
  nav#header .sub-menu{
    position: absolute;
    top:63px;
    height: 0;
    max-height: 0;
    overflow: hidden;
    z-index: 9999;
    background-color: rgba(255,255,255,0.9);
  }
  nav#header .sub-menu.on{
    height: auto;
    max-height: 100vh;
    transition: max-height .3s;    
  }
  nav#header .sub-menu li{
    position: relative;
    min-width: 10rem;
    padding: 1rem 1rem;
  }
  
    nav#header a#header_register, nav#header a#header_logout, nav#header a#header_login {
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    padding: 0 0.5rem;
    }
  
  .contents-menu-item .img {
	height: 30vh;
	overflow: hidden
  }
  
  .button .btn a {
	  border-radius: 10rem;
  }
  
  .button .btn {
	  border-radius: 10rem;
  }  
  
  
.breadcrumbs span{
	margin: 0 .5em;
	color: #000;	
}

.archive #news_list .item {
	height: auto;
	display: flex;
	align-items: center;
}

.archive #news_list .title_area {
	padding-top: 56px;
}

.archive #news_list .title_area_inner {
	position: relative;
	top: inherit;
	transform: inherit;
}

@media (max-width: 640px) {
	body.home,body.page,body.single,body.blog,body.archive {
		margin-top: 48px;
	}

	 .contents-menu-item .img {
		height: 24vh;
	 }
	 
	 .contents-menu-item .img img{
	    object-fit: cover;
	    height: 100%;
	    width: 100%;
	 }	 
	 
	nav#header {
	}
	nav#header ul{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		height: 100%;
		overflow: auto;		
	}	
	 
	nav ul#menu-globalmenu li {
		padding: .5rem 1rem;
	}
	nav#header {
		background-color: rgba(255,255,255,0.9);
	}  
	
	nav#header .sub-menu{
		position: relative;
		top: inherit;
		height: auto;
		max-height: 100vh;
		overflow: auto;
	   background-color: rgba(0,0,0,0);			
	}	
  
	nav#header .sub-menu li {
	   background-color: rgba(0,0,0,0);	
	   color: black;     	
	   padding: .5rem .5rem;	   
	}
  
  	nav#header .sub-menu li:last-child {
	  	padding-bottom: 0em;
	}
	
	#header_button_area {
		height: auto;
	}
	.archive #news_list .title_area {
		padding-top: inherit;
	}
	
	.archive #news_list .title_area_inner {
		right: inherit;
		left: inherit;
		margin-left: 1em;	
	}
	
	.archive #news_list .title span {
		line-height: 1.5em;
	}
	
	.archive #news_list .image_wrap {
		height: 80px;
	}
	
	.archive #news_list .link {
		display: flex;
	}

	.breadcrumbs a {
		font-size: 0.7em;
	}
	
	.breadcrumbs .current-item {
		display: none;
	}
	
	#header_button_area {
		top: 8px;
	}
}


/* card */
  .card-modal {
	background-color: rgba(0,0,0,0.8);
	z-index: 9999;	
	overflow-y: hidden;
	display: none;
  }
  .card-modal.show {
	   display: flex;
  } 
  .modal-inner .button {
	  position: absolute;
	  bottom: 10vh;
  }
  .card-wrap {
    position: absolute;
    width: 424px;
    height: 269px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotateZ(0); 
    transform-origin: center center;
    transition: transform .5s;      
  }
  .card-wrap.on {
    transform: translate(-50%,-60%) rotateZ(90deg);  
    transition: transform .5s;          
  }      
  .card {
    width: 424px;
    height: 269px;
    border-radius: 21px;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
  }
  .card.front {
    animation: turnBackward .25s forwards linear;
    animation-delay: .125s;
    transform: rotateX(90deg);
  }
  .card.front .profile {
    position: absolute;
    right: 1em;
    bottom: 1em;
    text-align: right;
  }
  .card.front .profile p{
   font-family: 'Josefin Sans', sans-serif;
    margin-bottom: .25em;
    color: #fff;
    text-transform: uppercase
  }
  .card.front .profile p.name{
    font-size: 23px;
  }
  .card.front img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
  }
  .card.front.on{
    animation: turnForward .25s forwards linear;
    transform: rotateX(90deg);
  }
  .card.back {
    animation: turnForward .25s forwards linear;
    transform: rotateX(90deg);
    overflow: hidden;
  }
  .card.back img.gif {
    transform: rotateZ(270deg);
    border-radius: 20px;
    position: absolute;
    left: 0;
    top: -50%;
    object-fit: cover;
  }
  .card.back img.logo {
    transform: rotateZ(270deg);
    position: absolute;
    top: 1em;
    right: 1em;
    width: 100px;
    height: 100px;
    z-index: 999;
  }
  .card.back.on{
    animation: turnBackward .25s forwards linear;
    animation-delay: .125s;
  }
  
  .card-modal .button .btn.close {
	background-color: #c8c8c8;
  }
  
  .my_account_content {
	background-color: #fff;
  }

  @keyframes turnForward {
    0% {
    transform: rotateX(0deg);
    }
    100% {
    transform: rotateX(-90deg);
    }
  }

  @keyframes turnBackward {
    0% {
    transform: rotateX(-90deg);
    }
    100% {
    transform: rotateX(0deg);
    }
  }

@media (max-width: 640px) {
  .card-wrap {
    transform: translate(-50%,-50%) rotateZ(90deg); 
  }
  .card-wrap.on {
    transform: translate(-50%,-50%) rotateZ(90deg);  
  }  
  .modal-inner .button {
	  bottom: 5vh;
  }    	
}