body {
  font-family: "Lato", sans-serif;
  color: #374151;
  background-color: #e7e5e4;
  font-size: 18px;
  line-height: 1.6;
}

header {
  text-align: center;
}

header section {
  display: inline-flex;
  flex-direction: row;
  position: center;
}

header section div {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  margin: auto;
}

header section div.container {
  padding: 10px;
}

header section div.logo img {
  height: 150px;
}

header section div img {
  height: 30px;
  margin: 5px;
}

header section a {
  text-decoration: none;
  color: #4338ca;
  padding: 10px;
}

header nav a {
  text-decoration: none;
  text-transform: uppercase;
  color: #374151;
  padding: 5px 30px;
  display: block;
}

nav ul.menu {
  position: center;
  list-style-type: none;
  margin: 5px;
  padding: 0;
}

nav ul.menu li {
  display: inline-block;
  list-style-position: inside;
  border: 0px solid #374151;
  border-right-width: 1px;
}

nav ul li:first-of-type {
  border-left-width: 1px;
  border-right-width: 1px;
}

nav ul.menu li:hover {
  background-color: #312e81;
}

nav ul.menu li a:hover {
  color: white;
}

div.main_image {
  background-color: black;
  background-image: url("images/tlo3.jpg");
  height: 300px;
  background-size: 100%;
  background-position: center;
}

div.image_programy {
  background-image: url("images/tlo1.jpg");
}

div.image_szkolenia {
  background-image: url("images/tlo2.jpg");
}

div.image_firma {
  background-image: url("images/tlo4.jpg");
}

section {
  display: flex;
  justify-content: center;
  width: 1000px;
  margin: auto;
  align-items: flex-start;
}

h1 {
  font-size: 40px;
  text-align: center;
  color: #312e81;
  margin-bottom: 48px;
}

h2 {
  font-size: 32px;
  color: #312e81;
  margin-top: 0;
}

h3 {
  font-size: 24px;
  color: #312e81;
  margin-top: 0;
}

.header-link {
  font-size: 20px;
  color: #312e81;
  margin-bottom: 15px;
}

.icon {
  width: 60px;
  color: #374151;
  display: block;
  margin: 0 15px 0 30px;
}

.header-icon {
  width: 40px;
  color: #374151;
}

section section {
  width: 500px;
  align-items: baseline;
  margin: auto;
}

section section section {
  display: flex;
  flex-direction: column;
}

section div {
  margin: 5px;
}

div.textByIcon {
  display: flex;
  flex-direction: row;
  width: 100%;
}

section section img {
  height: 60px;
}

section section a {
  text-decoration: none;
  color: #312e81;
  text-transform: uppercase;
  font-weight: bold;
}

section section.contact {
  margin-top: 0;
  align-items: flex-start;
  padding: 20px;
}

section section.text {
  width: 1000px;
  display: block;
  padding: 15px;
}

.text li {
  margin-bottom: 15px;
}

.in-textList li {
  margin-bottom: 5px;
}

section section div.address a {
  text-decoration: none;
  text-transform: none;
  color: #4338ca;
}

section section div strong {
  text-transform: uppercase;
}

p,
ul {
  margin-block-start: 0px;
}

p.motto {
  font-variant: small-caps;
  color: #4338ca;
  font-size: 1.3em;
}

/* Style inputs with type="text", select elements and textareas */
input[type="text"],
select,
textarea {
  width: 100%; /* Full width */
  padding: 12px; /* Some padding */
  border: 1px solid #ccc; /* Gray border */
  border-radius: 4px; /* Rounded borders */
  box-sizing: border-box; /* Make sure that padding and width stays in place */
  margin-top: 6px; /* Add a top margin */
  margin-bottom: 18px; /* Bottom margin */
  resize: vertical; /* Allow the user to vertically resize the textarea (not horizontally) */
}

/* Style the submit button with a specific background color etc */
input[type="submit"] {
  background-color: #312e81;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* When moving the mouse over the submit button, add a lighter blue color */
input[type="submit"]:hover {
  background-color: #4338ca;
}

/* Add a background color and some padding around the form */
.contactform {
  border-radius: 5px;
  margin-top: 0;
}

.contactformConsent {
  font-size: 0.65em;
}

.blogText {
  line-height: 1.8;
}

/*Medium-narrow screen css*/
@media screen and (min-width: 580px) and (max-width: 1023px) {
  header section {
    flex-direction: column;
  }
  section {
    display: block;
    justify-content: center;
    width: 500px;
    margin: auto;
    align-items: flex-start;
  }
  section section {
    display: flex;
    margin-bottom: 10px;
  }
  section section.text {
    width: 500px;
  }
  section section.contact {
    margin: 0px;
  }
  div.address {
    margin-bottom: 0px;
  }
  .contactform {
    padding-top: 0px;
  }
  header section div.logo img {
    height: 100px;
  }
  nav ul.menu li {
    display: block;
    border-right: 0;
    border-left: 0;
  }
}

@media screen and (min-width: 401px) and (max-width: 579px) {
  div.main_image {
    height: 150px;
  }
  header section {
    flex-direction: column;
  }
  section {
    display: block;
    justify-content: center;
    width: 100%;
    margin: auto;
    align-items: flex-start;
  }
  section section {
    width: 90%;
    display: flex;
    margin-bottom: 10px;
  }
  section section.text {
    width: 80%;
  }
  section section.contact {
    margin: 0px;
  }
  div.address {
    margin-bottom: 0px;
  }
  .contactform {
    padding-top: 0px;
  }
  figure {
    margin-inline-start: 10px;
    margin-inline-end: 10px;
  }
  header section div.logo img {
    height: 100px;
  }
  nav ul.menu li {
    display: block;
    border-right: 0;
    border-left: 0;
  }
}

@media screen and (max-width: 400px) {
  div.main_image {
    height: 150px;
  }
  header section {
    flex-direction: column;
  }
  section {
    display: block;
    justify-content: center;
    width: 100%;
    margin: auto;
    align-items: flex-start;
  }
  section section {
    width: 90%;
    display: flex;
    margin-bottom: 10px;
  }
  section section.text {
    width: 80%;
  }
  section section.contact {
    margin: 0px;
    padding: 10px 5px 10px 5px;
  }
  div.address {
    margin-bottom: 0px;
  }
  .contactform {
    padding: 0px 5px 10px 5px;
  }
  figure {
    margin-inline-start: 10px;
    margin-inline-end: 10px;
  }
  section section img {
    height: 30px;
  }
  header section div.logo img {
    height: 100px;
  }
  nav ul.menu li {
    display: block;
    border-right: 0;
    border-left: 0;
  }
}
