/* style.css */

@font-face {
    font-family: 'meta_procond_regular';
    src: url('font/ffmetaprocondrg-webfont.woff2') format('woff2'),
         url('font/ffmetaprocondrg-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

* {
	font-family: 'meta_procond_regular';
    font-size: 18px;
}

body {
    background: lightblue;
	margin: 0px;
}

h2 {
	font-size: 26px;
}

/* main container */
#container {
	background-color: #f39c6a;
	padding-top: 10px;
}

/* "add a book" button styling */
#addBook {
	border: none;
	border-radius: 10px;
	background-color: #facc77;  /* #facc77 */
	color: #2a3a56;
	border: 2px solid white; 
	margin-bottom: 20px;
	padding: 15px 32px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
	box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
}

#addBook:active {
	background-color: #2a3a56;
	box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
	transform: translateY(4px);
	color: #facc77;
}

/* container to hold all created books */
#bookContainer {
    background-color: lightblue; 
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	padding-top: 20px;
	border-top: solid thick #2a3a56;
}

/* book card styling */
.bookCard {
    position: relative;
    background-color: #fff;
    border: 0.15em solid #2a3a56;
	border-left: 0.5em solid #2a3a56;
    width: 325px;
    height: 400px;
    border-radius: 10px;
    /* horizontal lines through card */
    line-height: 30px;
    background-image: linear-gradient(#b7d1e9 1px, transparent 1px);
    background-size: 100% 30px;
    overflow: hidden;
    padding-left: 20px; /* allows space beside the line */
	margin-bottom: 20px;
}

/* move book icon to left side of red line */
.book-icon-left {
    position: absolute;
    left: 2px;
    top: 15px;
    transform: translateY(-50%);
    z-index: 2;
}

/* vertical red line */
.bookCard::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50px;
    width: 2px;
    background-color: #E6245F;
    z-index: 1;
}

/* vertical dots */
.holePunch1::before,
.holePunch2::before,
.holePunch3::before {
	content: "";
	border-radius: 50%;
	border: solid thin gray;
	height: 20px; 
	width: 20px; 
	background-color: #fff;
	position: absolute; 
	left: -170px; 
}

.holePunch1::before {
	top: 35px;
}

.holePunch2::before {
	top: 185px;
}

.holePunch3::before {
	top: 335px;
}

.holePunch1,
.holePunch2,
.holePunch3 {
	position: relative; 
}

/* stamp background effect for book cover images */
.stamp {
	width: 280px;
	height: 180px;
	display: inline-block;
	padding: 10px;
	background: white;
	position: relative;
    filter: none;
	-webkit-filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.5));
	background: radial-gradient(
		transparent 0px, 
		transparent 4px, 
		white 4px,
		white
	);
	background-size: 20px 20px;
	background-position: -10px -10px;
	transition-duration: 0.4s;
}

.stamp:after {
	content: '';
	position: absolute;
	left: 5px; top: 5px; right: 5px; bottom: 5px;
	z-index: -1;
}

.stamp:before {
	content: 'CSS3';
	position: absolute;
	bottom: 0; left: 0;
	font: bold 24px arial;
	color: white;
	opacity: 0.75;
	line-height: 100%;
	padding: 20px;
}

.stamp:not(:hover) {
	filter: none;
	-webkit-filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.5)) grayscale(80%);
}

/* section to hold book and x icons */
.icon-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* X icon to remove book */
.cross {
	filter: 
		invert(25%) 
		sepia(90%) 
		saturate(7469%) 
		hue-rotate(359deg) 
		brightness(90%) 
		contrast(127%);
	height: 25px;
	width: auto;
	margin-left: 300px;
}

.cross:active {
	transform: translateY(4px);
}

/* book icon to toggle read/unread status */
.book-bold,
.book-outline {
	height: 25px;
	width: auto;
}

.book-bold,
.book-outline {
	filter: 
	invert(54%) 
	sepia(93%) 
	saturate(2724%) 
	hue-rotate(60deg) 
	brightness(97%) 
	contrast(82%);
}

/* form within modal */
#cover {
	text-align: center;
}

input:invalid {
    border-style: solid;
    border-width: thin;
    border-color: red;
}