@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/roboto-v30-latin-regular.eot');
  src: url('../fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'), url('../fonts/roboto-v30-latin-regular.woff') format('woff'), url('../fonts/roboto-v30-latin-regular.ttf') format('truetype'), url('../fonts/roboto-v30-latin-regular.svg#Roboto') format('svg');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-v30-latin-700.eot');
  src: url('../fonts/roboto-v30-latin-700.eot?#iefix') format('embedded-opentype'), url('../fonts/roboto-v30-latin-700.woff2') format('woff2'), url('../fonts/roboto-v30-latin-700.woff') format('woff'), url('../fonts/roboto-v30-latin-700.ttf') format('truetype'), url('../fonts/roboto-v30-latin-700.svg#Roboto') format('svg');
}

@font-face {
  font-display: swap;
  font-family: 'DM Serif Text';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/dm-serif-text-v12-latin-regular.eot');
  src: url('../fonts/dm-serif-text-v12-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/dm-serif-text-v12-latin-regular.woff2') format('woff2'), url('../fonts/dm-serif-text-v12-latin-regular.woff') format('woff'), url('../fonts/dm-serif-text-v12-latin-regular.ttf') format('truetype'), url('../fonts/dm-serif-text-v12-latin-regular.svg#DMSerifText') format('svg');
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  font-size: 16px;
}

body {
  color: #363642;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5em;
  font-weight: 400;
}

#wrapper {
  max-width: 910px;
  margin: 16px auto;
  border: 1px solid #363642;
  background: linear-gradient(90deg, rgba(241, 226, 226, 1.0) 0%, rgba(241, 226, 226, 1.0) 100%);
  position: relative;
}

header {
  padding: 16px;
  background: #fff;
}

.box p:last-child {
  text-align: center;
}

article {
  padding: 48px 16px 0;
}

.info {
  display: flex;
  gap: 8px;
  align-items: center;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 44px;
  align-items: center;
  flex-direction: row-reverse;
  padding: 0 0 48px;
}

.box {
  margin: 0;
  flex: 1 1 0;
}

.background {
  background: linear-gradient(90deg, rgba(252, 250, 252, 1.0) 0%, rgba(252, 250, 252, 1.0) 100%);
  margin: 0 -16px;
  padding: 16px 16px 32px;
}

.background-white {
  margin: 0 -16px;
  padding: 16px 16px 32px;
  background: #fff;
}

.flexbox-traumjob {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flexbox-traumjob div {
  width: 30%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.flexbox-traumjob div img {
  margin-bottom: 20px;
}

.flexbox-traumjob div p {
  width: 100%;
}

.flexbox-traumjob div p strong {
  letter-spacing: 1px;
}

.flexbox {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  padding: 16px 0;
}

.flexbox .box-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  flex: 1 1 0;
}

.flexbox .box-flex div {
  background: #fff;
  border-radius: 15px;
  padding: 16px;
  width: 48%;
}

.margin {
  margin: 48px 0 !important;
}

footer {
  padding: 48px 16px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 48px;
  align-items: flex-end;
}

.kontakt {
  flex: 1 1 0;
  padding: 32px 0;
}

.kontakt h2 {
  margin: 0;
}

.kontakt p:last-of-type a {
  display: flex;
  align-items: center;
  gap: 16px;
}

p:not(:last-of-type) {
  margin: 0 0 16px;
}

strong {
  font-weight: 700;
}

h1 {
  margin: 16px 0;
  font-weight: 400;
  font-size: 44px;
  line-height: 48px;
  font-family: 'DM Serif Text', Arial, sans-serif;
}

h2 {
  margin: 0 0 32px;
  font-weight: 400;
  font-size: 22px;
  line-height: 26px;
}

h3 {
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
}

h4 {
  margin: 32px 0;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
}

ul {
  margin: 0 0 48px;
  list-style: none;
}

ul li {
  padding-left: 40px;
  margin: 0 0 32px;
}

li:before {
  content: '\2022';
  color: #BD3360;
  float: left;
  font-size: 22px;
  text-indent: -34px;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

:is(a:link, a:visited, a:hover, a:active) {
  color: #363642;
  text-decoration: none;
}

@media all and (max-width: 910px) {
  #wrapper {
    margin: 0;
    border: none;
  }

  footer figure {
    position: static;
    display: flex;
    justify-content: center;
  }

  :is(p, ul) {
    hyphens: auto;
    text-wrap: pretty;
  }

  :is(a, span) {
    white-space: nowrap;
  }

  br:not(footer br) {
    display: none;
  }
}

@media all and (max-width: 767px) {
  header {
    display: flex;
    justify-content: center;
  }

  .flex, .flexbox {
    flex-direction: column;
    padding: 16px 0;
  }

  .flexbox {
    gap: 0;
  }

  .flexbox-traumjob div {
    width: 48%;
  }

  .box {
    width: 100%;
  }

  footer {
    gap: 32px;
    flex-direction: column;
    align-items: center;
    padding: 16px;
  }

  .kontakt {
    padding: 0;
  }

  .kontakt :is(p, h2) {
    text-align: center;
  }

  ul li {
    padding-left: 34px;
  }
}

@media all and (max-width: 480px) {
  .box-flex, .flexbox-traumjob {
    flex-direction: column;
  }

  .flexbox .box-flex div, .flexbox-traumjob div {
    width: 100%;
  }
}