.cta-block { 
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  max-width: 100vw;
  width: 100vw;
  height: 100%;
}

.cta-block.blue {
  background: linear-gradient(0deg, rgb(3, 55, 77) 0%, rgba(16,77,199,1) 100%);
}

.cta-block > h3 {
  text-align: center;
}

.cta-block .person {
  display: flex;
  gap: 30px;
}

.cta-block .person > img {
  border-radius: 25px;
  width: 250px;
  height: 250px;
  object-fit: contain;
}

.cta-block .person .details p.name {
  font-size: 42px;
  line-height: 1.2;
  font-family: 'MontserratSemiBold', sans-serif;
  color: var(--it-blue);
  margin: 0;
  max-width: 100%;
}

.cta-block .person .details p.titel { 
  font-size: calc(16px + (21 - 16) * ((100vw - 300px) / (3840 - 300)))
}

.cta-block .person .details .number {
  display: flex;
  font-size: 35px;
  line-height: 1.2;
  margin-top: 25px;
  align-items: center;
}

.cta-block .person .details .number > p {
  text-transform: uppercase;
  margin: 0;
  margin-left: 15px;
}

.cta-block .person .details .number > img {
  width: 44px;
  height: 44px;
  object-fit: cover;
}

.cta-block.default .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.cta-block.default .content h4 {
  font-family: 'MontserratSemiBold', sans-serif;
}

.cta-block.blue .person .details p.titel,
.cta-block.blue .person .details p.name,
.cta-block.blue .person .details .number,
.cta-block.blue .content {
  color: #ffffff;
}

.cta-block .content > h1,
.cta-block .content > h2,
.cta-block .content > h3,
.cta-block .content > h4,
.cta-block .content > h5,
.cta-block .content > p {
  text-align: center;
  max-width: 100%;
} 

.cta-block .content h3 {
  font-size: calc(21px + (80 - 21) * ((100vw - 300px) / (3840 - 300)));
}

.cta-block.person .content h3,
.cta-block.person .content p
{
  text-align: left;
}

.cta-block.person .content {
  margin-top: 2rem;
}

.cta-block.person > div > h3 {
  text-align: center;  
  max-width: 100%;
  margin-bottom: 70px;
}

.cta-block.person.blue > div > h3 {
  color: #ffffff;
}

.cta-block.person .content {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}


@media only screen and (max-width: 1380px) { 

}

@media only screen and (max-width: 870px) { 
  .cta-block .person {
    flex-direction: column;
  }
  .cta-block .person > img {
    width: 100%;
    height: 100%;
  }
  .cta-block .person .details p.name {
    font-size: 2rem;
  }
  .cta-block.person > div > h3 {
    margin-bottom: 40px;
    text-align: left;
  }
  .cta-block .person .details .number > p {
    font-size: 2rem;
  }
  .cta-block.default .content h4 {
    text-align: start;
  }

}

.block-editor-block-list__block .cta-block {
  max-width: 100%;
  width: 100%; 
  padding-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 2rem;
  box-sizing: border-box;
}

.block-editor-block-list__block .cta-block .content > h1,
.block-editor-block-list__block .cta-block .content > h2,
.block-editor-block-list__block .cta-block .content > h3,
.block-editor-block-list__block .cta-block .content > h4,
.block-editor-block-list__block .cta-block .content > h5,
.block-editor-block-list__block .cta-block .content > p {
  margin: 0;
}

.block-editor-block-list__block .cta-block.default .button-primary > span {
  color: #000000;
}

 
.block-editor-block-list__block .cta-block .button-primary-wrapper {
  position: relative;
  width: fit-content;
}

.block-editor-block-list__block .cta-block .button-primary {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  min-width: fit-content;
  min-height: 56px;
  font-family: 'MontserratRegular', sans-serif;
  border: none;
  border-radius: 100px;
  cursor: pointer; 
  text-decoration: none;
  transition: all 0.5s linear;
  margin-top: 20px;
  position: relative;
  background: transparent;
  padding: 0;
  font-size: unset;
  line-height: unset;
}

.block-editor-block-list__block .cta-block .button-primary > span {
  font-size: 30px; 
  text-transform: lowercase;
  padding: 0 10px 0 0;
  z-index: 10;
  transform: translateX(30px);
  color: #ffffff;
}

.block-editor-block-list__block .cta-block .button-primary > .icon {
  font-size: 2em;
  transition: all 0.5s linear;
  width: 30px;
  height: 30px;
  margin-left: 40px;
  padding-right: 40px;
}

.block-editor-block-list__block .cta-block .button-primary:hover > .icon {
  transform: rotate(-90deg); 
}

.block-editor-block-list__block .button-.button-primary.blue {
  background: none;
  color: #000000; 
}

.block-editor-block-list__block .cta-block .button-primary.blue::before {
  content: "";
  display: block;
  width: 56px;
  height: 100%;
  background-color: #009DE2;
  position: absolute;
  border-radius: 100px;
  left: 0;
  z-index: 0;
  transition: all 600ms ease;
}

.block-editor-block-list__block .cta-block .button-primary.blue:hover::before {
  width: 100%;
  background-color: #037CB1;
}

.block-editor-block-list__block .cta-block .button-primary.blue:hover .icon {
  transform: translateX(10px);
}

.block-editor-block-list__block .cta-block .button-primary {
  margin-top: 20px;
}

.block-editor-block-list__block .cta-block .person {
  margin-top: 60px;
}

.block-editor-block-list__block .cta-block.default.blue .button-primary > span {
  color: #ffffff;
}

.block-editor-block-list__block .cta-block .person .details p.titel,
.block-editor-block-list__block .cta-block.person > div > h1,
.block-editor-block-list__block .cta-block.person > div > h2,
.block-editor-block-list__block .cta-block.person > div > h3,
.block-editor-block-list__block .cta-block.person > div > h4,
.block-editor-block-list__block .cta-block.person > div > h5
{
  margin: 0;
}

