

/* simple PHOTO GALLERY */






.background_div {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	z-index: 10;
}


.background_div .photo_description {
	position: absolute;
	color: white;
	width: 100%;
	top: 0;
	text-align: center;
	margin-top: 50px;
	background-color: black;
	z-index: 1;
	font-size: x-large;
}


.photo_gallery_close_button {
	position: absolute;
	right: 16px;
	top: 16px;
	z-index: 10;
}



.background_div #big_img {
	overflow: hidden;
	/*position: relative;*/
	position: initial;
	border: none;
	flex: 1 1 auto;
	padding: 10px;
	/*max-height: 75vw;*/ /* for clients that have the first picture vertical */
}

/* this empty span before each img makes it vertically centered inside all_img div */
.helper {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.all_img {
	width: 100%;
	height: 100%;
	text-align: center;
	position: absolute !important;
	top: 0;
	bottom: 0;
	left: 0;
}

/* the reason imgs are not directly in .all_img but in these divs is so that each img would be centered inside a container that has the same size as #big_img */
.all_img div {
	position: absolute;
	width: 100%;
	height: 100%;
}

.background_div div {
	background: none;
}

/* in order to have img vertically aligned inside .all_img we have to have this and then img to be display: inline-block; and vertical-align: middle; */
.all_img div:before {
    content: ' ';
    width: 0;
    display: inline-block;
    vertical-align: middle;  /* vertical alignment of the inline element */
    height: 100%;
}

.all_img div img {
	display: inline-block;
	vertical-align: middle;
	/*max-height: 100%;*/
	max-height: calc(100% - 20px);
	/*max-height: calc(100% - 15px);*/ /* this made that images were not displayed anylonger in chrome 77 (74 was ok) */
	/*max-width: 100%;*/
	max-width: calc(100% - 20px);
}

.all_img img {
	max-width: 100vw;
	/*border-radius: 4px;*/
	/*border: 1px solid #0099ff;*/
	/*box-shadow: 3px 3px 8px #818181;
	box-sizing: border-box;*/
	padding: 0; /* eliminate the padding that may be added by the css of the user page */
}

.background_div img {
	border-radius: 0;
	box-shadow: none;
	box-sizing: unset0;
}

.all_img #main {
	height: 100%;
	top: 50%;
	transform: translate(-50%, -50%);
	left: 50%;
}

.all_img #left {
	right: 100%;
	top: 0;
}

.all_img #right {
	left: 100%;
	top: 0;
}


.background_div .img_arrow {
	width: 64px;
	position: absolute;
	/*top: 50%;*/
	top: calc(50% - 20px);
	/*margin-top: -25%;*/
	z-index: 1;
	right: 0;
}

.background_div .img_arrow:nth-of-type(2) {
	left: 0;
}

.background_div .img_arrow a {
	/*position: absolute;*/
	/*top: 50%;*/
	margin-top: -25%;
}

.background_div .photo_gallery_bottom {
	position: absolute;
	bottom: 20px;
	width: 100%;
}

.background_div .photo_gallery_photo_actions {
	display: table;
	table-layout: fixed;
	width: 70%;
	margin: 0 auto 20px;
}

.background_div .photo_gallery_photo_actions > div {
	display: table-cell;
	text-align: center;
}

.background_div .photo_gallery_photo_actions a {
	color: white;
	text-shadow: 1px 1px black;
}

.background_div .circles {
	text-align: center;
	padding: 0 10px;
}

.background_div .circles .circle {
	display: inline-block;
	height: 4px;
	width: 4px;
	/*border: 1px solid black;*/
	border-radius: 6px;
	margin: 0 1px;
	/*box-shadow: 0 0 1px black;*/
	background-color: gray;
}

.background_div .circles .active {
	background-color: #ffae00;
	height: 8px;
	width: 8px;
	position: relative;
	top: 2px;
}


.nb {
	border: 0;
}


/* medium */

@media (max-width: 880px) {

	/* the big picture smaller */
	.nb {
		max-width: 100%;
	}

	#background_div .img_arrow img {
		max-width: 28px;
		border-radius: 5px !important;
		padding: 5px 0;
		box-shadow: 0 0 0 100vw rgba(0, 0, 0, 0.5) inset !important;
	}

	.photo_gallery_close_button img {
		width: 24px;
	}
}


/* small */

@media (max-width: 680px) {

	#c_f_phg .img_arrow img {
		max-width: 36px;
	}
}

