.columns{
	display: grid;
	grid-template-columns: 40% 60%;
	grid-gap: 1em;
}

.empty{
	display: none;
}

.popup {
    position: fixed;
    top: calc(25% - 1mm - 1em);
    left: calc(25% - 1em);
    width: 50%;
    height: 50%;
    overflow: auto;
    background: #fff;
    border: 1mm solid;
    padding: .5em;
}
.popup > *:first-child{
    position: fixed;
    right: calc(25% - .5em);
    top: calc(25% - 1em);
    background: #000;
    color: #fff;
    font-size: 2em;
    padding: .25em;
    border: .75mm solid;
		transition: background .5s;
}
.popup > *:first-child:hover{
	cursor: pointer;
	background: #c00;
}
.popup > header {
    margin-bottom: 2em;
}

.table{
	display: table;
	width: 100%;
}
.table > *{
	display: table-cell !important;
}


a {
  color: #c00;
}

body {
  font-family: sans-serif;
  font-size: 11pt;
	padding: 0;
	margin: 0;
	font-weight: lighter;
}
body > main{
	transition: opacity .5s;
}
body.disabled{
	background: #000;
}
body.disabled > *{
	opacity: .25;
}
body.disabled > .popup{
	opacity: 1;
}


dd {
display: inline-block;
padding: .5em;
margin: .25em;
font-size: .75em;
}
dd::before{
  content: ': ';
  color: #c00;
  font-weight: bold;
}
dd:empty{
	display: none;
}
dt{
	font-weight: bolder;
}

h1 {
  border-bottom: .25mm solid #777;
}
h2,h3{
	margin: .5em 0 0 0;
	padding-left: .25em;
	width: 100%;
	font-weight: normal;
}
h2{
	box-shadow: inset 0 0 0 100em #77787c;
  color: transparent;
  display: block;
  text-shadow: 0 0 0 #fff;
}

main{
	background: #fff;
	font-weight: lighter;
}


[data-section="communication"] > *{
	display: grid;
  grid-template-columns: 50% 50%;
  grid-gap: 0 2em;
}
[data-section="communication"] p{
	margin: 0 .3em;
}

[data-section="details"]{
	width: 30%;
}
[data-section="details"] h1{
	font-size: 2.5em;
}

[data-section="skills"] dt{
	box-shadow: inset 0 0 0 100em #d0d0d0;
  margin-top: .5mm;
	padding: 0 0 0 .25em;
  width: 100%;
}
[data-section="skills"] dt:first-of-type{
    margin-top: .25mm;
}
[data-section="skills"] dt > span {
  font-weight: normal;
  float: right;
  margin-right: 1em;
}
[data-section="skills"] > [data]{
  cursor: pointer;
  transition: background .5s, box-shadow .5s;
}
[data-section="skills"] > [data]:hover{
	background: lightgreen;
	box-shadow: none;
}


[data-section="summary"] li {
    display: block;
		font-size: 11pt;
    border-left: 1mm solid #c00;
    padding: 0 0 0 .5em;
    margin-bottom: .5em;
}
[data-section="summary"] li a {
	display: inline-block;
}

[data-section="summary"] ul{
	padding: 0 0 0 .5em;
}


/*
[data-section="skills"]{
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
[data-section="skills"] > * {
width: calc(50% - 1.5em);
border: .1mm solid;
margin: .5em;
}
*/



[data-template="experience"] {
  display: grid;
	grid-column-gap: 4em;
	grid-template-columns: 33% auto;
	margin-bottom: 2em;
  border-bottom: .25mm solid #777;
}
[data-template="experience"]:last-child{
	border-bottom: none;
}
[data-template="experience"] > [data-field] {
    grid-column-end: 2;
}
[data-template="experience"] > [data-field="companyName"] {
    font-weight: bold;
    grid-area: 1;
}
[data-template="experience"] > [data-field="description"] {
    grid-row: 1/7;
    grid-column: 2/4;
}
[data-template="experience"] > [data-field="description"] > *:first-child{
	margin-top: 0;
}
[data-template="experience"] > [data-field="skills"] {
  grid-column: 1;
  grid-column-end: 3;
}
[data-template="experience"] > [data-field="skillsSecondary"] {
	width: 20em;
	grid-column: 3;
  grid-column-end: 3;
  grid-row: 7;
  border-left: .5mm solid #c00;
  padding-left: 1em;
}



[data-template="portfolio"] {
  display: grid;
	grid-column-gap: 4em;
	grid-template-columns: 33% auto;
	margin-bottom: 2em;
  border-bottom: .25mm solid #777;
}
[data-template="portfolio"]:last-child{
	border-bottom: none;
}
[data-template="portfolio"] > [data-field] {
  grid-column-end: 2;
}
[data-template="portfolio"] > [data-field="description"] {
  grid-row: 1/7;
  grid-column: 2/4;
}
[data-template="portfolio"] > [data-field="description"] > *:first-child{
	margin-top: 0;
}
[data-template="portfolio"] > [data-field="skills"] {
	grid-column: 1/3;
	grid-column-end: 4;
}
[data-template="portfolio"] > [data-field="title"] {
  font-weight: bold;
  grid-area: 1;
}
[data-section="portfolio"] [data-field="tags"] > dd{
    display: block;
		font-size: 11pt;
    border-left: 1mm solid #c00;
    padding: 0 0 0 .5em;
    margin-bottom: .5em;
		background: unset;
}


[data-template="publication"] {
  display: grid;
	grid-column-gap: 4em;
	grid-template-columns: 33% auto;
	margin-bottom: 2em;
  border-bottom: .25mm solid #777;
}
[data-template="publication"]:last-child{
	border-bottom: none;
}
[data-template="publication"] > [data-field] {
  grid-column-end: 2;
}
[data-template="publication"] > [data-field="description"] {
  grid-row: 1/7;
  grid-column: 2/4;
}
[data-template="publication"] > [data-field="description"] > *:first-child{
	margin-top: 0;
}
[data-template="publication"] > [data-field="skills"] {
	grid-column: 1/3;
	grid-column-end: 4;
}
[data-template="publication"] > [data-field="title"] {
  font-weight: bold;
  grid-area: 1;
}


@media print{
	[data-section] > *{
		page-break-inside: avoid;
	}
	[data-section="experience"]{
		page-break-before: always;
	}
	[data-section="skills"] dt{
		margin-top: .5em;
	}
	[data-section="skills"] dt:first-of-type{
		margin-top: .25mm;
	}
	dd{
		padding-bottom: 0;
		margin-top: 0;
	}
}


@media screen{
	main{
		max-width: 20cm;
		margin: 0 auto;
	}
}


@media screen and (max-width:12cm){
	main{
		font-weight: 400;
	}
	.columns{
		display: block;
	}

	.table > * {
    display: table-row !important;
	}
}
