/* Base items */
html {
	height: 100%;
    width: 100%;
}

body {
	height: inherit;
    width: inherit;
    padding: 0;
    margin: 0;
    background: #FFFFFF;
    color: #000000;
    font-family: 'Work Sans', sans-serif;
}

p {
	margin: 0;
}

/* Common items */
.filled_button {
	width: auto;
	margin: 0;
	padding: 16px 64px;
	display: inline-block;
	background: #000000;
	color: #FFFFFF;
	border-radius: 32px;
	text-decoration: none;
}

.text_link {
	color: inherit;
	display: block;
	text-decoration: none;
}

.image_link {
	color: #00000000;
	display: block;
	text-decoration: none;
}

/* Containers */
.content_box {
	height: inherit;
	width: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
}

.content {
	height: auto;
	width: auto;
	margin: 0 15%;
	display: grid;
	grid-template-columns: min-content 1fr;
	grid-template-rows: 1fr;
	column-gap: 5%;
	row-gap: 1%;
	flex-wrap: wrap;
}

.block {
	height: 100%;
	width: 100%;
	margin: 0;
	display: flex;
	overflow: hidden;
}

/* Left (Top) side block */
.photo_box {
	height: auto;
	width: inherit;
	text-align: center;
	margin: auto 0 auto auto;
}

.photo {
	height: 35%;
	width: auto;
	min-height: 192px;
	max-height: 384px;
	object-fit: contain;
	object-position: center;
}

/* Right (Bottom) side block */
.info_box {
	height: auto;
	width: inherit;
	text-align: center;
	margin: auto auto auto 0;
}

.name_box {
	text-align: center;
	margin: 32px 0 16px 0;
}

.name {
	font-family: 'Playfair Display', sans-serif;
	font-style: normal;
    font-weight: 700;
}

.desc_box {
	text-align: center;
	margin: 16px 0 32px 0;
}

.desc {
	font-weight: 400;
}

.resume_box {
	text-align: center;
}

.resume {
	font-weight: 400;
}

.social_box {
	margin: 32px 0 16px 0;
	text-align: center;
}

.social {
	display: inline-block;
}

.social_icon {
}

.contacts_box {
	margin: 16px 0 32px 0;
	text-align: center;
}

.contact {
	font-weight: 400;
}

/* Adaptive */
/* 1440p and bigger */
@media screen and (min-width: 1920px) {
	.content {
		margin: 0 25%;
		grid-template-columns: min-content fit-content(1024px);
	}

	.text_l {
		font-size: 48px;
		line-height: 52px;
	}
	.text_m {
		font-size: 20px;
		line-height: 24px;
	}
	.text_s {
		font-size: 16px;
		line-height: 20px;
	}

	.image_l { d t
		width: 512px;
		height: 512px;
		border-radius: 256px;
	}
	.image_m {
		width: 256px;
		height: 256px;
		border-radius: 128px;
	}
	.image_s {
		width: 64px;
		height: 64px;
		border-radius: 32px;
	}
}

/* 1080p */
@media screen and (min-width: 1280px), (max-width: 1920px) {
	.text_l {
		font-size: 40px;
		line-height: 42px;
	}
	.text_m {
		font-size: 16px;
		line-height: 20px;
	}
	.text_s {
		font-size: 12px;
		line-height: 18px;
	}

	.image_l {
		width: 256px;
		height: 256px;
		border-radius: 128px;
	}
	.image_m {
		width: 128px;
		height: 128px;
		border-radius: 64px;
	}
	.image_s {
		width: 32px;
		height: 32px;
		border-radius: 16px;
	}
}

/* 720p */
@media screen and (max-width: 1280px) {
	.content {
		margin: 0 10%;
	}

	.text_l {
		font-size: 32px;
		line-height: 36px;
	}
	.text_m {
		font-size: 12px;
		line-height: 16px;
	}
	.text_s {
		font-size: 10px;
		line-height: 14px;
	}
}

/* 480p */
@media screen and (max-width: 854px) and (orientation: portrait) {
	.photo {
		height: 35%;
		width: auto;
		min-height: 64px;
		max-height: 256px;
	}
}
@media screen and (max-width: 854px) and (orientation: landscape) {
	.photo {
		height: auto;
		width: 25%;
		min-width: 64px;
		max-width: 256px;
	}
}
@media screen and (max-width: 854px) {
	.content {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1fr;
	}

	.photo_box {
		height: auto;
		width: inherit;
		margin: auto auto 0 auto;
	}

	.photo {
		object-position: bottom;
	}

	.info_box {
		height: auto;
		width: 100%;
		margin: 0 auto auto auto;
	}

	.text_l {
		font-size: 24px;
		line-height: 28px;
	}
	.text_m {
		font-size: 10px;
		line-height: 14px;
	}
	.text_s {
		font-size: 8px;
		line-height: 12px;
	}

	.image_l {
		width: 128px;
		height: 128px;
		border-radius: 64px;
	}
	.image_m {
		width: 64px;
		height: 64px;
		border-radius: 64px;
	}
	.image_s {
		width: 24px;
		height: 24px;
		border-radius: 12px;
	}
}

/* 360p */
@media screen and (max-width: 640px) {
	.image_l {
		width: 64px;
		height: 64px;
		border-radius: 32px;
	}
	.image_m {
		width: 32px;
		height: 32px;
		border-radius: 16px;
	}
	.image_s {
		width: 16px;
		height: 16px;
		border-radius: 8px;
	}
}
