@font-face {
  font-family: 'Fira Code';
  src: url('font/FiraCode-Regular.woff2') format('woff2'),
    url("font/FiraCode-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
*,*:before,*:after{
	box-sizing: border-box;
	outline: none;
}
html{height:100%;}
body{
	background-color: white;
	font-family: courrier, monospace;
	margin:0;
	padding:0;
	height:100%;
	display: grid;
    grid-template-rows: auto 1fr auto;
    grid-template-columns: 100%;
    background-color: var(--theme_light_color);
    overflow-y: scroll;
}
h1{
	color:var(--theme_base_color);
}
main{
	display:grid;
	grid-template-columns: minmax(320px , 25%) 1fr;
	
}
a{
	text-decoration: none;
	color:var(--theme_dark_color);
	font-size: 100%;
	vertical-align: baseline;
	background:transparent;
}
.content a{
	font-weight: bold;
}

input[type=submit],button{
	padding:15px;
	background-color: var(--theme_base_color);
	border:1px solid rgba(0,0,0,0.2);
	border-radius:3px;
	cursor:pointer;
	color:var(--theme_light_color);
	font-size:18px;
	transition: opacity 300ms
}
.overlay{
	position:fixed;
	width:100%;
	height: 100%;
	background-color: var(--transparent_dark_color);
	top:0;
	left:0;
}
.search_terms{
	color:var(--theme_dark_color);
}
.fixed_buttons_wrapper .pack{
	display:none;
}
.show_pack_button .fixed_buttons_wrapper .pack{
	display:inline-block;
}

.fixed_buttons_wrapper{
	position:fixed;
	top: 25px;
	right:25px;
}

.fixed_buttons_wrapper a{
	display:inline-block;	
	width:48px;
	height:48px;
	padding:5px;
	line-height: 41px;
	border-radius: 24px;
	background-color: var(--theme_base_color);
	color:var(--transparent_light_color);
	font-weight: bolder;
	text-align: center;
	overflow:hidden;
	transition: width 300ms;
}

.fixed_buttons_wrapper a:hover{
	width:256px;
	transition: width 300ms;
}

.fixed_buttons_wrapper a span.text{
	transition: opacity 300ms;
	opacity:0;
	font-size:20px;
	line-height:14px;
	
}

.fixed_buttons_wrapper a:hover span{
	opacity:1;
	transition: opacity 300ms ease;
}
.get_pack:before{
	position:fixed;
	top:25px;
	margin-left:15px;
	border-radius: 24px;
	padding:3px;
	height:24px;
	width:24px;
	line-height:18px;
	font-size: 14px;
	background-color: var(--transparent_dark_color);
	color:var(--transparent_light_color);
	content:attr(counter);
}
.content{
	padding:20px;
}

nav.tools{
	background-color: var(--theme_base_color);
	padding:5px;
	box-shadow:0 2px 2px rgba(0,0,0,0.2);
	display:grid;
	grid-template-rows:auto 32px;
	min-height: 100vh;
}
nav.tools footer{
	opacity:0.2;
}
nav.tools footer:hover{
	opacity:1;
}

nav.tools footer a{
	color: white;
}

nav.tools input[type="text"]{
	opacity:0.4;
	transition: opacity 300ms ease;
}
nav.tools input[type="text"]:hover,
nav.tools input[type="text"]:focus{
	opacity:1;
}

nav.tools .menu{
	display:grid;
	grid-template-columns: 1fr 1fr;
}

nav.tools .menu a{
	font-size: 24px
}

nav.tools .menu a:hover{
	color: var(--theme_light_color);
}


nav.tools h1 *{
	vertical-align: middle;
}

nav.tools .logo{
	width:32px;
	height:auto;
}

.col-left{
	text-align:left;
}


.col-right{
	text-align:right;
}


nav.tools .search_bar{
	grid-template-columns: 1fr 32px;
	border-radius: 3px;
	background-color: var(--transparent_light_color);
	color:var(--transparent_dark_color);
}

nav.tools .search_bar input{
	width: calc(100% - 32px);
	background-color: transparent;
	border:none;
	padding:10px;
}

.tags{

}

.tags a{
	display:inline-block;
	padding:5px;
	margin:1px;
	border-radius:3px;
	white-space: nowrap;
	font-size:inherit;
	color:var(--transparent_light_color);
	transition: background-color 300ms, color 300ms, opacity 300ms;
}
.tags a:hover{
	background-color: var(--transparent_dark_color);
}
.tags a:hover .badge{
	color: var(--theme_light_color);
}
.tags a .badge{
	color:var(--transparent_dark_color);
}


.message{
	color:var(--theme_dark_color);
	padding:15px;
}
.snippet_box{
	margin:10px;
	box-shadow: 0 -1px 0 #e5e5e5,0 0 2px rgba(0,0,0,.12),0 2px 4px	rgba(0,0,0,.24);
	background:	#f2f2f2;
	border-radius: 0 0 2px 2px;
	margin-right: 10px;
}

.snippet_box details{
	background-color: white
}
.snippet_box summary{
	margin: 0px;	    
	margin-top: 15px;
	font-size: 18px;
	display: block;
	padding: 10px;
	background-color:#fff;
	border-bottom:1px solid rgba(0,0,0,0.1);
	vertical-align: middle;
	white-space: normal;
	color:	var(--theme_base_color);
	text-decoration: none;
	font-weight: 700;
	font-size: 12pt;
	border-radius: 2px;
	cursor: pointer;
}

.snippet_box footer{
	background-color:var(--theme_light_color);
	padding:15px;
	color:var(--transparent_dark_color);
	font-size:12px;
}
.snippet_box footer a{
	opacity:0.7;
	color:var(--transparent_dark_color);
}
.snippet_box footer *:hover{
	opacity:1;
}
.snippet_box footer a{	
	color:var(--transparent_dark_color);
}
.snippet_box footer .tags_list{	
	margin-bottom:5px;
}
.snippet_box  .tag{	
	line-height: normal;
	vertical-align: middle;
	white-space: nowrap;
	text-decoration: none;
	padding: 3px 10px;
	border: 1px solid #ccc;
	font-size: 90%;
	font-weight: 400;
	text-transform: none;
	border-radius: 20px;
	margin: 2px;
	background-color:var(--transparent_light_color);;
	color:var(--transparent_dark_color);
	cursor: pointer;
}
.padding{	
	padding:25px;
}
body.add .snippet_box,
body.vamp .snippet_box{	
	margin:0;
}
body.add .snippet_box input[type=text],body.vamp .snippet_box input[type=text], textarea{
	width:100%;
	border:1px solid rgba(0,0,0,0.2);
	border-radius:3px;
	padding:10px;
}
body.add textarea, 
body.vamp textarea{
	height:250px;
	resize:vertical; 
	font-family: Fira Code;
}

body.add .tags, 
body.vamp .tags{
	line-height:18px;
}

body.add .snippet_box input.button,
body.vamp .snippet_box input.button{
	display:none;
}

body.add .snippet_box input.button+label,
body.vamp .snippet_box input.button+label{
	opacity:0.5;
	display:inline-block;
	transition: background-color 300ms, color 300ms, opacity 300ms;
}

body.add .snippet_box input.button+label:hover,
body.vamp .snippet_box input.button+label:hover{
	opacity:1;
	display:inline-block;
	transition: background-color 300ms, color 300ms, opacity 300ms;
}

body.add .snippet_box input.button:checked+label,
body.vamp .snippet_box input.button:checked+label{
	opacity:1;
	color:var(--transparent_light_color);
	background-color: var(--theme_base_color);
	transition: background-color 300ms, color 300ms, opacity 300ms;
}

body.add .snippet_box input[type=radio]+label:first-of-type,
body.vamp .snippet_box input[type=radio]+label:first-of-type{
	border-radius:15px 0 0 15px;
	margin-right:0;
}
body.add .snippet_box input[type=radio]+label:last-of-type,
body.vamp .snippet_box input[type=radio]+label:last-of-type{
	border-radius:0 15px 15px 0 ;
	margin-left:0;
}
body.add .snippet_box footer,
body.vamp .snippet_box footer{
	text-align: right
}

code{
	
	display:block;
	padding:15px;
	font-family: Fira Code;
	word-wrap: break-word;
	white-space: pre-wrap;
}
pre .hljs{
	background-color: transparent;
}

.rounded_button{
	display:inline-block;
	text-align: center;
	vertical-align: middle;	
	white-space: nowrap;
	padding: 5px 15px;
	border: 1px solid #ccc;
	border-radius: 20px;
	margin: 2px;
	background-color:var(--transparent_light_color);;
	color:var(--transparent_dark_color);
}
.edit_buttons *,
.edit_buttons span a{
	vertical-align: middle;
	color:red;
}

body.login,
body.firstuserpage{
	overflow:hidden;
}


form.login_form{
	width:512px;
	margin:auto;	
	background-color: white;	
	border-radius: 3px;
	box-shadow: 0 3px 3px var(--transparent_dark_color);
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

form.login_form header{
	background-color: rgba(0,0,0,0.1);
	text-align: center;
}

form.login_form div{
	display:grid;
	grid-template-columns: 32px 1fr;
	max-width:320px;
	margin:auto;
}

form.login_form header span.logo{
	display: block;
	font-size:128px;
	text-align: center;
	color:var(--theme_base_color);
}
form.login_form  span[class^="icon-"]{
	font-size:24px;
	color:var(--theme_base_color);
}
form.login_form  p{
	text-align: center;
}

body.config .box{
	background-color: white;	
	border-radius: 3px;
	box-shadow: 0 3px 3px var(--transparent_dark_color);
}

body.config li{
	list-style: none;
	display:grid;
	grid-template-columns: 1fr 1fr;
	padding:15px;
}


body.config li label{
	border-bottom: 1px solid rgba(0,0,0,0.1);
	padding-bottom:15px;
	margin-bottom:15px;
	display:block;
}


body.config li input[type=text],
body.config li input[type=number],
body.config li input[type=checkbox],
body.config li select
{
	height:32px;
	display:flex;
}

footer.access_links{
	margin-top:25px;
	display:grid;
	grid-template-columns: 1fr 1fr;
}
.json{
	text-align: right;
}
.rss{
	text-align: left;
}

@media (max-width: 800px){
	main{
		display:block;
	}
	nav.tools{
		min-height:auto;
		display:block;
	}
	nav.tools .tags a{
		font-size: 20px;
		padding:10px;
	}
	nav.tools footer{
		display:none;
	}
}
.email:before{content: "contact@";}
.email:after{content: "snippetvamp.warriordudimanche.net";}