body {
  font-family: "Helvetica", "Arial", sans-serif;
  margin: 0 auto;
  max-width: 700px;
  min-width: 0;
  padding: 0 130px 25px 30px;

  color: #444;

  display: grid;
  row-gap: 5px;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-template-areas:
    "header header bt nav"
    "side ct ct ct"
}

header {
  margin: 0;
  font-size: 23px;

  grid-area: header;
  align-self: end;
}

 bt {
  margin: 0 0 0 0;
  font-size: 20px;
  visibility:visible;
  align-self: end;
} 

  nav {
  margin: 0 30px 0 0;
  font-size: 24px;

  grid-area: nav;
  justify-self: right;
  align-self: end;
}

table{
	visibility:hidden;
}

nav a {
  text-align: right;
} 

 side{
  grid-area: side;
  font-size: 16px;
  align-self: start;
  text-align:left;
} 

article {
	margin:0 30px 0 0;
  font-size: 16px;
  grid-area: ct;
  align-self: start;
  justify-self: center;
}

a {
  color: #272727;
}
a:hover{
	color: #888;
}
h1, h2, strong {
  color: #222;
}

h1 {
  font-size: 30px;
}
h2 {
  font-size: 23px;
}
h3 {
     font-size:20px; 
	filter: contrast(30%);
}
h1.cvsub{
	margin-bottom: 0;
}
h3.cvsub{
	margin:0 0 13px 0;
}
dd{
	margin: 0 0px 0 20px;
}

td{
	text-align: center;
}

div.hline {
	margin-bottom:0;
    border: none;
    border-top: 3px double gray;
    color: gray;
    overflow: visible;
    text-align: center;
    height: 0px;
}
div.hlinesd {
	margin-bottom:5px;
    border: none;
    border-top: 3px double gray;
    color: gray;
    overflow: visible;
    text-align: center;
    height: 0;
}

p.subs{
	font-size:12px; 
	text-align:center;
	filter: contrast(30%);
}

img.bt{
	vertical-align: middle; 
	width:32px;
	height:32px;
	filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(229deg) brightness(0%) contrast(70%);
}


img.imgprofile {
  border: 3px double gray;
  width: 200px;
  height: 250px;
  margin: 15px 15px 0 0;
  object-fit: fill;
}

img.imgqr {
  width: 216px;
  height: 216px;
  margin: 0 0 0 -6px;
  object-fit: fill;
}

img.sidecontacts{
	vertical-align: text-bottom; 
	width:20px;
	margin: 0 0 0 0;
	height:20px;
	filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(229deg) brightness(0%) contrast(70%);
}



@media screen and (max-width: 430px) {
  body {
    grid-template-columns: auto;
    grid-template-rows: minmax(40px,auto) minmax(30px,auto) auto;
    grid-template-areas:
    "header"
	"nav"
	"bt"
	"ct"
    "side"
	
  }
  header {
  text-align: center;
  }
  side{
  justify-self: center;
  } 
  h1{
  font-size: 50px
  }
  h2 {
  font-size: 32px;
  }
  h3 {
     font-size:30px; 
	filter: contrast(30%);
  }
  p {
  font-size: 30px;
  }
  table{
	text-align:center;
	margin: 0 15px 0 0;
  }
  bt {  
	visibility:visible;
	font-size: 30px;
	grid-area: bt;
	text-align:center;
	justify-self: center;
	align-self: end;
  }
  nav {
	margin:0;
	font-size:40px;
	grid-area: nav;
	justify-self: center;
	text-align:center;
	align-self: end;
  }
  img.bt{
	width:45px;
	height:45px;
  }
  img.imgprofile {
	  margin:0;	
  }
  img.imgqr {
  width: 200px;
  height: 200px;
  margin: 0 0 0 0;
  object-fit: fill;
  vertical-align:bottom;
  }
  img.sidecontacts{
	vertical-align: middle; 
	width:30px;
	margin: 0 0 0 0;
	height:30px;
	filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(229deg) brightness(0%) contrast(70%);
}
  div.hline {
    border-top: 5px double gray;
  }
  div.hlinesd {
    border-top: 0px double gray;
  }
  
  p.subs{
	  font-size:14px:
  }

  header, /* nav */ {
    justify-self: center;
    text-align: center;
	font-size: 40px;
  }
}