:root {
	--faded-text: #555555;
}

html, body {
	margin: 0;
	padding: 0;

	font-size: 0.91em;
	line-height: 120%;

	font-family: sans-serif, verdana, arial;
}

a {
	color: #1b5ace;
}

a::after {
	content: "\00a0»";
}

.mypic {
	width: 180px;
}

.header {
	border-bottom: 1px solid #cccccc;
	background-color: #eeeeee;
	padding-top: 10px;
	padding-bottom: 10px;
}

.header h1 {
	width: 45%;
	float: left;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
	font-size: 2.5em;
	line-height: 125%;
}

.header .contact {
	width: 55%;
	float: left;
	padding-left: 10px;
	box-sizing: border-box;
}

.header .contact p {
	margin: 5px;
	text-align: right;
}

.footer {
	border-top: 1px solid #cccccc;
	padding-top: 20px;
	padding-bottom: 15px;
	background-color: #eeeeee;
	padding: 10px;
}

.footer .thanks {
	float: left;
	font-size: 1.2em;
	font-weight: normal;
	width: 25%;
	line-height: 150%;
}

.footer .thanks strong {
	font-size: 1.5em;
	font-weight: bold;
}

.footer .additional-contact {
	float: right;
	width: 75%;
	text-align: right;
}

.main-width {
	max-width: 900px;
	margin: 0 auto;
}

.info {
	margin: 20px;
	border-bottom: 1px dashed #cccccc;
}

.info:last-child {
	border-bottom: none;
}

.info p {
	margin: 0;
	margin-top: 5px;
	text-align: justify;
}

.info h4 {
	margin-bottom: 0;
	margin-top: 0;
}

.info .organization-name {
	font-weight: bold;
}

.info .title {
	float: left;
	width: 15%;
	box-sizing: border-box;
	font-size: 1.5em;
	padding-bottom: 20px;

	/*writing-mode: vertical-rl;*/
	writing-mode: horizontal-tb;
	text-orientation: mixed;
}

.info .box {
	float: left;
	box-sizing: border-box;
	width: 85%;
	padding: 20px;
	padding-top: 0;
}

.info .box .desc {
	text-align: justify;
}

.info .box .tech-skill-category {
	width: 33%;
	float: left;
}

.info .box .tech-skill-category h3 {
	font-weight: normal;
	margin-top: 0;
	margin-bottom: -5px;
	text-align: center;
}

.info .box .exp-detail {
	color: var(--faded-text);
	font-style: italic;
	font-weight: normal;
}

.info .box .inner-left {
	float: left;
}

.info .box .inner-right {
	float: right;
}

.info:last-child { margin-bottom: 0; }

.clr {
	clear: both;
}

.clr.space {
	height: 15px;
}

.print { display: none; }

/* Small display definitions */
@media screen and (max-width: 950px) {
	.mypic {
		text-align: center;
	}

	.info .title {
		width: 100%;

		writing-mode: horizontal-tb;
		text-orientation: mixed;
	}

	.info .box {
		width: 100%;
	}

	.info .box .inner-left {
		width: 100%;
	}
	
	.info .box .inner-right {
		width: 100%;
		/* text-align: center; */
	}

	.footer .thanks {
		width: 40%;
	}
	
	.footer .additional-contact {
		width: 60%;
	}
}