/*
	SerHack theme. All rights reserved.
 */

:root{
	--background-grey: #9da7a626;
	--text: #202020;
	--sub-text-navbar: #757575;
	--title-measure: 1.4rem;
	--lineColor: #ededed;
	--background-color: #ffffff;
	--bio-color-bg: #000;
	--semiL: #212529;
	--light: #808080;
	--black: #000;
	--publish-date: #4d4d4d;
	--table-color: #fffff;
	--text-under-img: #585858;
	--text-mention: #ffffffcf;
}

@font-face {
font-display: swap;
font-family: "Menlo Regular";
font-style: normal;
font-weight: normal;
src: url("/fonts/Menlo-Regular.woff") format('woff');
}

@font-face{
    font-display: swap;
    font-family: "Menlo Bold";
    font-style: normal;
    font-weight: bold;
    src: url('/fonts/Menlo-Bold.eot');
    src: url('/fonts/Menlo-Bold.woff') format('woff'),
    url('/fonts/Menlo-Bold.woff2') format('woff2');
   /* src: local("Menlo Bold"), local("Menlo"); */
}

/*
	If the visitor has the preference for dark theme, switch colors
*/
@media screen and (prefers-color-scheme: dark) {
	:root{
		--light: #7f7f7f;
		--background-grey: #c5c4c4;
		--sub-text-navbar: #8b8b8b;
		--semiL: #dedad6;
		--black: #ffffff;
		--titleF: 1.4rem;
		--text: #dfdfdf;
		--cartBack: #363737;
		--background-color: #232323;
		--publish-date: #aeaeae;
		--table-color: #000;
		--bio-color-bg: #fff;
		--text-under-img: #aeaeae;
		--text-mention: #040404cf;
	}

	.subscribe-me h3{
		color: var(--background-color);
	}

	.banner-dark{
		display: block !important;
		color: white;
		font-weight: 600;
		text-align: center;
	}
}

/*
	General style  
*/

body{
	font-family: inter,inter var,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;
	background-color: var(--background-color);
	color: var(--text);
}

h1, h2, h3, .main-nav{
	font-family: "Menlo Bold", Menlo, Inter, Inter Var, -apple-system, sans-serif;
	color: var(--text);
}

a:visited, a {
  color: inherit;
  font-weight: 700;
}

/* 
	Containers
*/

.container, .container-home, .container-page{
	margin: 0 auto;
}


/* 
	Navbar
*/

nav{
	display: flex;
	flex-wrap: nowrap;
}

.nav-brand a{
	display: flex;
	color: var(--semiL);
	text-decoration: none;
}

.nav-brand h2{
	display: flex;
}

.nav-sub{
	color: var(--sub-text-navbar);
}

.nav-links{
	display: flex;
	list-style: none;
}

.nav-item{
	text-decoration: none;
	font-weight: 700;
	text-transform: capitalize;
}

/*
	Home
*/

.home-main{
	display: flex;
}

.section-title{
	width: 100%;
	border-bottom: 4px solid var(--lineColor);
}

.section-title p, .section-title-flex p{
	line-height: 150%;
}

.section-title h3{
	font-size: var(--title-measure);
}

.bio-box{
	background-color: var(--black);
	border-radius: 4px;
	color: var(--background-color);
	padding: 22px;
}

.bio-box h3{
	margin: 0;
	color: var(--background-color);
}

.bio-box p{
	line-height: 1.5rem;
}

.contact-text{
	padding-top: 20px;
	line-height: 130%;
	color: var(--text);
}

.contact-text a{
	color: var(--semiL);
}

.article-item{
	border-bottom: 2px solid var(--lineColor);
	display: flex;
}

.article-item-illustration{
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
}


.article-item-body{
	line-height: 150%;
	color: var(--text);
	margin-right: 10px;
}

.book-items{
	display: flex;
}

.single-book{
	display: flex;
	flex: 1;
}

.book-content p{
	line-height: 150%;
	color: var(--text);
}

.book-cover{
	flex: 1;
}

.book-content{
	flex: 2;
}

.book-cover img{
	width: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.quote-items{
	display: flex;
}

.quote-box{
	background-color: var(--bio-color-bg);
	border-radius: 4px;
	color: var(--background-color);
	flex: 1;
	height: fit-content;
}

.quote-box-container{
	font-size: 1.1rem;
	padding: 10px 20px;
	line-height: 130%;
	margin-bottom: 10px;
}

.quote-box span{
color:var(--text-mention);
}

.article-cheatsheet{
	width: 100% !important;
}

/* 
	Buttons
*/

.btn-inner{
	display: flex;
	justify-content: flex-start;
}

.btn{
	display: block;
	text-decoration: none;
	padding: 10px 18px;
	border-radius: 4px;
	font-weight: 700;
}

.btn-white{
	background-color: var(--background-color);
	color: var(--black) !important;
}

.btn-dark{
	background-color: var(--bio-color-bg);
	color: var(--background-color) !important;
}

.btn-with-margins{
		margin: 20px 0;
}

/*
	Components
*/

.tags{
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	flex-wrap: wrap;
}

.tags li{
	display:inline-block
}

/* TODO!! */
.tag-block{
	display: block;
	background:#ededed;
	border-radius:3px;
	color:#4e4e4e !important;
	padding:10px;
	font-weight: 400;
	margin-right:10px;
	margin-top: 10px;
	text-decoration:none
}

/*
	Article Page
*/


.publish-date{
	color: var(--publish-date) !important;
}

.text-content figcaption h4{
	text-align: center;
	color: var(--text-under-img);
	font-weight: 500;
	font-style: italic;
}

.text-content img{
	width: 100%;
	height: auto;
}

.text-content p > code, .text-content li > code{
	background-color: var(--text);
	color: var(--background-color);
	padding: 2px;
}

.highlight pre{
	font-family: menlo bold,droid sans mono,Consolas,lucida console,courier new,monospace;
	font-style: normal;
	font-weight: 400;
	overflow: scroll;
}

.next-article-row{
	display: flex;
	line-height: 150%;
}

.next-article-right{
	flex: 1;
}

.next-article-left{
	flex: 2;
}

.next-article-left h2{
	line-height: 1.2;
}

.next-article span{
	color: var(--text-under-img);
	font-weight: 400;
	margin-bottom: 10px;
}

.credits{
	line-height: 17px;
    color: #606060;
    font-size: 14px;
    margin-bottom: 30px;
    margin-top: 20px;
}

article{
	border-bottom: 4px solid var(--background-grey);
}

.text-content blockquote{
	background-color: var(--text);
	margin: 0;
	padding: 0;
}

.text-content blockquote p{
		color: var(--background-color);
		padding: 20px;
}

.text-content table{
	border-collapse: collapse;
}

.text-content th, td {
  border: 1px solid #ccc;
  padding: 8px;
}

.text-content tr:nth-child(even) {
  background: #efefef;
  color: var(--table-color);
}

.text-content tr:hover {
  background: #dad8d8;
}

.text-content pre{
	overflow-x: scroll;
    background-color: #272822;
    color: white;
    padding: 20px 25px;
    line-height: 1.5;
}

.text-content pre > code{
	font-family: Menlo Bold,droid sans mono,Consolas,lucida console,courier new,monospace;
    font-style: normal;
    font-weight: 400;
    margin: auto;
}

.text-content h4{
	font-size: 1.2rem;
	line-height: 150%;
}

.text-content img{
	display: block;
}

.bio-row{
	display: flex;
}

.bio-left{
	flex: 1;
}

.mm-cover{
	width: 100%;
	max-width: 200px;
}

.section-title-flex{
	display: flex;
	justify-content: center;
    align-content: center;
    align-items: center;
   	border-bottom: 4px solid var(--lineColor);
}

.section-title-flex img{
	width: 100%;
	height: auto;
}

.disabled{
	background-color: var(--lineColor);
}

.disabled a{
	cursor: not-allowed;
}

/*
	Single Page 
*/

.text-content{
	word-break: break-word;
	overflow-wrap: break-word;
}

.text-content p{
	color: var(--text);
}

.text-content p, .text-content li, .text-content ul{
		line-height: 150%;
}

/*
	Book page
*/
.review{
	background-color: #eeee;
    padding: 10px 20px;
}

.review h5{
	padding: 0;
	margin: 0;
}

.book-head{
	display: flex;
}

.book-left{
	flex: 1;
}

.book-right{
	flex: 2;
}

.book-subtitle {
    font-size: large!important;
    color: dimgrey;
}

/*
	Media query
*/

@media only screen and (min-width: 300px) and (max-width: 768px) {
	.article-content{
		    padding: 0px 10px;
	}

	.subscribe-box{
		margin: 20px 0px;
	}

	.bio-row{
		flex-direction: column-reverse;
	}

	.text-content figure{
		margin: 0;
		padding: 0;
	}

	.text-content p{
		font-size: 1.1rem;
	}

	.section-title-flex img{
		margin: 0 auto;
		max-width: 100px;
	}

	.section-title{
		flex-direction: column-reverse;
	}

	.block-grey{
		  margin: 0;
	}

	.tags{
			margin:20px 0
	}

	.home-left{
		width: 100%;
	}

	.subscribe-me{
		flex-direction: column;
  		flex-wrap: nowrap;
  		align-content: center;
  		justify-content: center;
  		align-items: center;
  		padding-bottom: 20px;
	}

	.section-title h3{
		font-size: 1.3rem;
		color: var(--semiL)!important;
	}

	.article-item{
		flex-direction: column-reverse;
	}

	.article-item-body h2{
		line-height: 120%;
	}

	.quote-box{
		margin: 8px 0px;
	}

	.container{
		padding: 2px 10px;
	}

	nav{
		flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
	}

	.nav-brand{
		width: 100%;
	}

	.nav-brand h2{
	flex-direction: column;
	align-content: center;
    flex-wrap: nowrap;
    justify-content: center;
    font-size: 1.5rem;
	}

	.nav-brand a{
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
    justify-content: space-evenly;
	}

	footer .nav-brand a h2{
		flex-direction: row;
	}

	footer .nav-sub{
		padding-left: 10px;
	}

	footer .nav-links{
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	footer .nav-item{
		padding: 0px 20px;
	}

	.nav-links{
		width: 100%;
		padding: 0;
		flex-direction: row;
    	flex-wrap: nowrap;
    	align-content: center;
    	justify-content: space-evenly;
    	align-items: center;
    	font-size: 1.5rem;
    	margin: 10px;
	}

	.home-main{
		flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
	}

	.quote-items{
		flex-direction: column;
	}

	.book-items{
		flex-direction: column;
	}

	.single-book{
		flex-direction: column;
		padding-top: 10px;
	}

	.next-article-row{
		flex-direction: column-reverse;
	}

	.book-head{
		flex-direction: column-reverse;
	}

	.book-head  .btn-inner{
		justify-content: space-around;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.no-disp-mobile{
		display: none;
	}

	.section-title-flex h3{
		font-size: 1.8rem;
	}

	.section-title-flex{
		padding-bottom: 10px;
	}

	.highlight pre{
		padding: 20px;
	}

	.next-article{
		padding: 20px 0px;
	}

	.bio-right{
		margin: 0 auto;
	}

	footer .nav-brand h2{
		font-size: 1.3rem;
	}

	.container-home{
		padding: 0px 10px;
	}

	.warn{
		padding: 20px;
	}

}

/* Medium devices (tablets, 768px and up) */
@media only screen and (min-width: 768px) {
	.section-title h3{
		margin-bottom: 30px;
		margin-top: 0px;
	}

	.home-main{
		margin-top: 20px;
	}

	/* Spostato per evitare problemi sul CSL Content Shift Layout. Aggiunge circa 0,44 */
	.article-content p:nth-child(2):not(.publish-date){
    font-size: 1.15em;
    font-weight: 700;
	}


	.text-content img{
		padding: 20px 0px;
	}


	.book-left .btn-inner{
		padding: 10px 0px;
	}

	.book-items{
		padding-top: 20px;
	}

	.book-head{
		align-content: center;
    	flex-wrap: nowrap;
    	flex-direction: row;
    	align-items: flex-start;
	}

	.next-article{
		margin-top: 20px;
		margin-bottom: 10px;
	}

	.block-grey{
		  margin: 20px 0px;
	}

	.highlight pre{
		line-height: 140%;
		padding: 30px 25px;
	}

	.article-content h2{
		font-size: 2em;
	}

	.article-content h3{
		font-size: 1.7em;
	}

	.article-body h2:before{
		content: "#";
		color: var(--lineColor);
		position: absolute;
		font-size: 5rem;
		margin-left: -80px;
		margin-top: -30px;
	}

	.article-body h3:before{
		content: "##";
		color: var(--lineColor);
		position: absolute;
		font-size: 3rem;
		margin-left: -80px;
		margin-top: -15px;
	}

	.warn{
		padding: 20px 40px;
		font-size: 1rem;
		margin: 20px 0px;
	}

	.text-content h1{
		font-size: 2.2em;
	}

	.text-content p, .text-content li{
		font-size: 1.1rem;
	}

	.container-page{
		width: 50%;
		max-width: 800px;
	}

	.tags{
			margin:20px 0px 20px;
	}

	.subscribe-me{
		flex-direction: row;
  		flex-wrap: nowrap;
  		align-content: center;
  		justify-content: center;
  		align-items: center;
  		padding: 10px 0px;
	}

	.form form{
		padding-left: 20px;
	}

	.footer-container{
		width: 70%;
		margin: 0 auto;
	}

	.article-item{
		align-content: center;
    justify-content: center;
    align-items: center;
	}

	.book-content{
		padding: 0 30px;
	}

	.article-item-body h2{
		padding-top: 15px;
		line-height: 130%;
	}

	.container{
		width: 80%;
	}

	.nav-brand span{
		padding-left: 20px;
	}

	.nav-brand h2{
		padding-left: 20px;
	}

	.nav-brand a {
		align-items: center;
	}

	.home-left{
		flex: 1;
		width: 80%;
		padding-right: 40px;
	}

	.home-right{
		width: 20%;
	}

	.article-item{
		width: 100%;
	}

	.article-item-body{
		width: 70%;
	}

	.article-item-img{
		width: 30%;
	}

	.nav-links{
		list-style: none;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }

  .footer{
  	margin-top: 20px;
  }

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.quote-box{
		margin: 20px;
	}

	.container-home, .container{
		width: 85%;
	}

	nav, .nav-item{
		font-size: 1rem;
	}

	.main-nav{
		flex-direction: row;
    	flex-wrap: nowrap;
    	align-content: space-around;
    	justify-content: space-between;
    	align-items: center;
	}

	.nav-item{
		padding: 0 20px;
	}

}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.container-home{
		width: 75%;
	}

	.container{
		width: 85%;
	}
}


/* 
	Shortcodes
*/

.warn{
	background-color: var(--background-grey);
	color: var(--cartBack);
	line-height: 160%;
}

.block-grey{
	background-color: var(--background-grey);
}

.subscribe-me{
	display: flex;
}

.subscribe-me h3{
		font-family: inherit;
}

.form form{
	display: flex;
}

.input-email input{
	width: 200px;
	height: 35px;
}

#mc-embedded-subscribe{
	background-color: var(--text);
	color: var(--background-color);
	border: 2px solid black;
	height: 100%;
	border-radius: 0px 2px 2px 0px;
	text-shadow: none;
	-webkit-appearance: none;
	font-weight: 700;
}

#mc-embedded-email{
	border-radius: 2px 0px 0px 2px;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
	border-left: 1px solid black;
	border-right: 0px;
	padding: 4px 15px;
	background: var(--background-color);
    color: var(--text);
}


.exercise{
        background-color: #ececec;
        padding: 20px 20px;
        border: dashed 2px #bdbdbd;
}


.exercise h4{
        font-family: "Menlo Bold", monospace;
}
/*
	Pagination
 */

.pagination{
    list-style: none;
    font-size: 1.2em;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.page-item{
    display: inline-block;
    border: 2px solid #212529;
}

.active a{
    background-color:  var(--semiL);
    color: var(--background-color) !important;
}

.page-item a{
padding: 8px 16px;
text-decoration: none;
}

.img-custom{
		margin: 0 auto !important;
	}

.img-little-2x{
		max-height: 200px;
		max-width: 400px;
		width: fit-content!important;
		display: block;
}

.img-little {
    max-width: 400px!important;
    max-height: 400px!important;
}

.banner-dark{
	display: none;
}