body {
  background: white;
  background: white;
  font-family: 'Lato', sans-serif;
  overflow-x:hidden;
  
}

p,li {
  font-weight: 400;
  line-height: 1.5;
  font-size: 16px;
}
main {
  overflow-y:hidden;
}

main li {
  margin-bottom:8px;
}

h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 28px;
  margin-top: 8px !important;
  font-family: 'PT Sans', sans-serif;
}

h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 15px;
  font-family: 'PT Sans', sans-serif;
}

.font400 {
  font-weight:400;
}

.vertical-center {
  position:absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.lang a {
  color: white;
}

.lang a.active {
  font-weight: 700;
}

aside header {
  margin-top:64px;
}

aside header h1, aside header h2  {
  color: white;
  font-weight: 400;
  padding: 0 15px;
  font-family: 'PT Sans', sans-serif
}

aside header h1 {
  font-size: 24px;
  margin-top:8px;
}
aside header h2 {
  font-size: 16px;
  margin-top: 8px;
  margin-bottom: 5px;  
}

aside footer {
  color: white;
  padding: 0 15px;
  position: fixed;
  bottom:30px;
  left:0 ;
}

.sidebar {
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  width: 300px;
  background-color: #1F3A93;
  background-color: #2f407a;
  z-index:100;
}

.sidebar nav {
  margin-top: 50px;
  font-family: 'PT Sans', sans-serif;
  font-weight: 400;
  
}

.sidebar nav > ul {
  margin: 0;
  padding:0;
}

.sidebar nav > ul > li {
  list-style:none;
  margin:0;
  padding:0;
}

.sidebar nav > ul > li {
  background-color: #1F3A93;
  background-color: #2f407a;
  transition: 300ms all ease;
}
.sidebar nav > ul > li > a{
  display: block;
  font-size: 16px;
  color: white;
  padding: 15px;
}
.sidebar nav > ul > li.a-inline > a {
  display: inline-block;
}

.sidebar nav > ul > li:hover {
  background-color: rgba(255,255,255,0.2);
}

.sidebar nav > ul > li.active {
  background-color: white;
}

.sidebar nav > ul > li:hover a {
  color: white;
}

.sidebar nav > ul > li.active a {
  color: #1F3A93;
}

.sidebar nav > ul > li > ul {
  list-style:none;
  margin: 0;
  padding:15px;
  padding-top: 0;
}

.sidebar nav > ul > li > ul i {
  font-size: 20px;
  margin-right: 10px;
  transform: translateY(1px);
}

.sidebar nav #nav-curriculum-vitae {
  display:none;
}


main {
  width: calc(100% - 300px);
  margin-left: 300px;
  padding: 50px;
  *min-height: 100vh;
  position: relative;
  *padding-bottom: 60vh;
}
main .content {
  position: relative;
  z-index:3;
  min-height: calc(100vh - 200px);
}

main .overlay, main .background-image {
  position: fixed;
  top:-5px;
  left:-5px;
  right:-5px;
  bottom:-5px;
}
main .overlay {
  *background-color: rgba(31, 58, 147,0.25);
  z-index:2;
}
main .background-image {
  background-size:cover;
  background-repeat: no-repeat;
  *background-attachment:fixed;
  background-position: center center;
  
  z-index:1;
}

.box {
  padding: 20px;
  background-color: rgba(255,255,255,0.95);
  margin-bottom: 50px;  
}
.box ul {
  list-style:none;
  margin:0;
  padding:0;
  margin-left: 20px;
}
.box li:before {    
  font-family: 'FontAwesome';
  content: '\f105';
  margin:0 10px 0 -16px;
  color: :blue;
}


/* Timeline */

.timeline {
  margin-bottom: 30px;
}

.timeline h3 {
  margin-bottom: 15px;
}

.timeline-item p {
  margin-bottom:0;
}

.timeline-item {
  position:relative;
  padding: 5px 0;
}
.timeline-item .dot {
  display:none;
  position:absolute;
  left:15%;
  margin-top: 6px;
  margin-left:-6px;
  width:10px;
  height:10px;
  border-radius:100%;
  background-color:#1F3A93;
}
.timeline-item .line{
  display:none;
  position:absolute;
  left:15%;
  top:0;
  bottom:0;
  margin-left:-3px;
  width:4px;
  background-color:#1F3A93;
}

.timeline-item .year {
  font-weight: 400;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
}

.timeline-item .description {
  left: 35%;
}

.dis-type {
  margin-bottom: 30px;
}

.jk-collapse {
  min-height: 0 !important;
}

.jk-collapse.collapsed {
  min-height: 1px;
}

#map_canvas {
  padding-top: 50%;
  margin-bottom: 20px;
}

.mobile-header {
  z-index:100;
  position:fixed;
  left:0;
  right:0;
  top:0;
  background: #2f407a;
  padding: 10px;
  height: 80px;
}
.mobile-header h2, .mobile-header h1 {
  font-size: 18px;
  color: white;
  margin: 0;
}

.mobile-header h2:first-child {
  margin-bottom:5px;
}

.nav-toggle{
  display:block;
  position:fixed;
  top:20px;
  right:10px;
}

.nav-toggle a{
  display:block; 
  width:40px;
  height:15px;
  text-decoration:none;
}
.nav-toggle a span, .nav-toggle a span:after, .nav-toggle a span:before {
  content: ' ';
  width: 30px;
  height: 2px;
  background-color: white;
  position:absolute;
  display: block;
  margin: 9px auto;
  -webkit-transition: transform 0.5s, margin 0.5s, background-color 0.5s;
  -moz-transition: transform 0.5s, margin 0.5s, background-color 0.5s;
  -ms-transition: transform 0.5s, margin 0.5s, background-color 0.5s;
  -o-transition: transform 0.5s, margin 0.5s, background-color 0.5s;
  transition: all 0.5s;
}
.nav-toggle a span:after {
  bottom: 0px;
}
span.cross{
  background-color:#1F3A93 !important;
}
span.cross:after {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  margin:0px auto !important;
  background-color: white!important;
}
span.cross:before{
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin:0px auto !important;
  background-color: white!important;
}

@media screen and (max-height: 850px) {
aside header {
  margin-top: 20px;
}
aside header h2 {
  font-size: 16px;
  margin-top: 2px;
  margin-bottom: 3px;
}
.sidebar nav {
  margin-top: 30px;
}
.sidebar nav > ul > li > a {
  padding: 10px 15px;
}
}

.ipad-only {
  display:none;
}
.tel-link {
  color: white !important;
}

@media screen and (max-height: 700px) {
.not-ipad {
  display:none;
}
.ipad-only {
  display:block;
  color: white;
}
aside footer {
  *display:none;
}
}



@media screen and (max-width: 767px) {
main {
  margin-left:0;
  padding: 0px;
  width: 100%;
}

main .content {
  margin-top: 0px;
  padding: 10px;
  width: 100%;
  min-height: calc(100vh - 64px - 55vw);
}

main .background-image {
  top:0;
  left:0;
  right:0;
  bottom:0;
  display:block;
  position: static;
  height: 55vw;
  margin-top: 64px;
}
main .overlay {
  display:none;
}


aside header > a{
  display:none;
}
aside footer {
  display:none;
}

.sidebar {
  left:-100%;
  width: 100%;
  transition: 500ms left ease;
}
.sidebar.open {
  left: 0;
}

.sidebar nav {
  margin-top: 0px;
  padding-top: 64px;
}

.sidebar nav > ul > li > a {
  font-size: 18px;
}

.sidebar nav > ul > li > a {
  padding: 10px;
}

.page-title > a {
  display:inline-block;
}
.box {
  margin-bottom: 0;
  padding: 10px;
}
}

/* Form */

.responsive-form label { display:block; margin-top:12px; font-weight:bold; }
.responsive-form input,
.responsive-form textarea,
.responsive-form select {
  width:100%;
  padding:8px;
  margin-top:4px;
  border:1px solid #ccc;
  border-radius:4px;
  font-size:14px;
}
.responsive-form textarea { min-height:80px; }
.responsive-form .formrow { display:flex; gap:10px; flex-wrap:wrap; }
.responsive-form .formrow div { flex:1 1 48%; min-width:200px; }
.responsive-form .checkbox-group {
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:4px;
}
.responsive-form .checkbox-group label {
  display: flex;
  align-items: center;
  font-weight: normal;
  gap: 8px;
  margin: 0;
}
.responsive-form .checkbox-group input[type="radio"] {
  width: auto;
  margin: 0 6px 0 0;
  accent-color: #0b63d5;
}
.responsive-form button {
  margin-top:20px;
  padding:10px 14px;
  border:none;
  border-radius:6px;
  background:#0b63d5;
  color:white;
  cursor:pointer;
}
.responsive-form button:hover { background:#094fa9; }
@media (max-width: 600px) {
.responsive-form .formrow div { flex:1 1 100%; }
.responsive-form .checkbox-group { flex-direction:column; }
}