body {
  font-family: "Helvetica", "Arial", sans-serif;
  margin: 0 auto;
  padding: 0 20px 0;
  max-width: 700px;
  min-width: 0;
  

  color: #444;

  display: grid;
  row-gap: 5px;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-template-areas:
	"header"
    "ct"
}

header {
  margin: 0;
  font-size: 23px;

  grid-area: header;
  align-self: end;
}

bt {
  margin: 0 30px 0 0;
  font-size: 23px;

  grid-area: bt;
  align-self: end;
  text-align:right;
}
nav {
  margin: 0 30px 0 0;
  font-size: 23px;
  color:#888

  grid-area: nav;
  align-self: end;
}
nav a{
	color:#444
}

/* nav {
  font-size: 18px;

  grid-area: nav;
  justify-self: right;
  align-self: end;
}

nav a {
  margin-left: 20px;
  text-align: right;
} */

 side{
  grid-area: side;
  font-size: 16px;
  align-self: start;
  text-align:left;
} 

article {
	/* margin:0 0 0 0; */
  font-size: 16px;
  grid-area: ct;
  align-self: end;
  justify-self: center;
  /* border-top: 3px double gray; */
}

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 0 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;
}
div.domanda {
	border: 1px solid gray;
	padding: 0 20px 0 20px;
	margin-bottom: 20px;
	
}


p.subs{
	font-size:12px; 
	text-align:center;
	filter: contrast(30%);
}

img.bt{
	vertical-align: top; 
	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: 218px;
  height: 218px;
  margin: 0 0 0 -6px;
  object-fit: fill;
}

img.imginbodyright{
	float: right; 
	/* width:100px;
	height:100px; */
}



@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"
	
  }
  nav{
	text-align: center;
	font-size: 32px;
	margin:0 0 20px 0;
  }
  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: 20px;
  margin: 0 15px 15px 0;
  }
  div {
	font-size: 20px;
  }
  table{
	  text-align:center;
	  margin: 0 15px 0 0;
  }
  bt {
  grid-area: bt;
  justify-self: center;
  align-self: end;
  }
  img.bt{
	width:64px;
	height:64px;
  }
  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;
  }
  /* nav a {
    margin: 0 10px;
  } */
 /*  dt {
  background-color: white;
  color: white;
  padding: 1px;
  position: sticky;
  top: 0;
  left: 0;
  margin: 10px 0;
	text-align: center;
  } */
}