/********** common setting **********/
h2 {
  font-size: 2.8rem !important;
  font-weight: 700;
  color: #2f356d;
}

* {
  font-family: "Nunito", sans-serif; /* Use Nunito for the body text as well */
}

img {
  display: block;
  max-width: 100%;
}

body p,
h1,
h2,
h3,
h4,
h5 {
  color: #2f356d !important;
}

a,
button {
  cursor: pointer;
}

.jumbotron {
  margin-bottom: 0 !important;
}

.atlas-cta {
  border-radius: 22px !important;
  padding: 12px 30px !important;
  font-weight: 700;
  transition: 0.3s ease-in-out !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}

.atlas-cta:hover {
  text-decoration: none;
  transform: translateY(-5px);
}

.atlas-cta-wide {
  width: 100%;
}

.cta-java {
  color: #fff;
  background: #18e1d0;
}

.cta-java:hover {
  color: #2f356d;
  background: #18e1d0;
}

.cta-pink {
  background: #cd3788;
  color: #ffffff;
}

.cta-pink:hover {
  color: #2f356d;
  background: #cd3788;
}

.cta-contact-header {
  margin-left: 15px;
}

.cta-rhino {
  background: #2f356d;
  color: #ffffff;
}

.btn-language {
  border-radius: 22px !important;
  font-weight: 700;
  right: 20px;
  top: 20px;
  transition: 0.3s ease-in-out !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
  position: absolute;
  top: 10px;
  background: #2f356d;
  color: #ffffff;
  z-index: 10;
}

.btn-language:hover {
  text-decoration: none;
  transform: translateY(-5px);
  color: #ffffff;
  background: #2f356d;
}

.cta-rhino:hover {
  color: #ffffff;
  background: #2f356d;
}

.cta-ghost {
  border: 2px solid #2f356d !important;
  color: #192440;
}

.cta-ghost:hover {
  color: #ffffff;
  background: #2f356d;
}

#banner {
  background-size: cover;
}

/********** banner **********/
#banner header {
  overflow: hidden;
}

#banner header img {
  max-width: 250px;
}

#banner {
  background-image: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.7) 0%,
      /* Dark black on the left */ rgba(47, 53, 109, 0.8) 33%,
      /* Original dark blue */ rgba(24, 225, 208, 0.8) 100%
        /* Right side color */
    ),
    url(../img/banner-bg.jpg);
  background-position: center; /* Center the image */
}

#contact {
  background-image: linear-gradient(
      to right,
      rgba(47, 53, 109, 0.8),
      rgba(24, 225, 208, 0.8)
    ),
    url(../img/contact-bg.jpg);
  background-position: center; /* Center the image */
}

#contact p,
#contact a,
#contact h1,
#contact h2,
#contact h3,
#contact h4,
#contact h5 {
  color: #fff !important;
}

#contact a:hover {
  color: #2f356d !important;
}
/********** feature (skew background) **********/
.feature img {
  width: 100%;
  max-width: 480px;
}

#feature-first {
  background: linear-gradient(168deg, #ffffff 55%, transparent 0),
    /* First gradient: white to transparent */
      linear-gradient(to right, #cd3788, #18e1d0);
  color: #2f356d;
}

#feature-center {
  background: linear-gradient(to right, #cd3788, #18e1d0);
}

#feature-center h2,
#feature-center h1,
#feature-center h3,
#feature-center p,
#feature-last h2,
#feature-last p {
  color: #fff !important;
}

#feature-last {
  background: linear-gradient(to right, #cd3788, #18e1d0);
}

/********** price table **********/
#price-table {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

#price-table__premium {
  background: #2f356d;
  color: #ffffff;
}

#price-table ul li {
  padding: 5px 0;
}

/********** contact **********/
#contact {
  background-size: cover;
}

#contact ul li {
  padding: 3px 0;
}

#contact form {
  color: #18e1d0;
}

#contact form input,
#contact form textarea {
  background: transparent;
  border: 1px solid #18e1d0;
  color: #ffffff;
}

/********** copyright **********/
#copyright {
  background: #2f356d;
  padding: 2rem 3rem;
}

#social-media a {
  width: 40px;
  height: 40px;
  border-radius: 99%;
  background: #2f356d;
  transition: 0.4s ease;
  margin-top: 1rem;
}

#social-media a i {
  color: #ffffff;
  font-size: 1.2rem;
  line-height: 40px;
}

#social-media a:hover {
  background: #cd3788;
}

#social-media a:hover i {
  color: #2f356d;
}

/********** RWD **********/
@media (max-width: 575px) {
  #banner h1 {
    font-size: 3.6rem;
  }
}

.long-word p {
  hyphens: auto;
}

@media (max-width: 400px) {
  #banner h1 {
    font-size: 2.8rem;
  }
}

#about-us {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; /* Sorgt dafür, dass die Spalten oben ausgerichtet sind */
}

#about-us .col-md-3 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  flex: 1;
  max-width: 23%; /* Passt die Breite an, um Platz für 4 Spalten zu schaffen */
}

#about-us img {
  border-radius: 50%;
  object-fit: cover;
  width: 100%; /* Bild passt sich an die Breite des Containers an */
  max-width: 150px; /* Begrenzung der Maximalgröße */
  height: auto; /* Höhe passt sich proportional an */
  max-height: 150px;
  margin-bottom: 1rem;
}

#about-us h3 {
  margin: 0;
  padding: 5px 0; /* Optional: Füge hier etwas Padding hinzu */
}

#about-us h4,
#about-us h5 {
  margin: 0;
  color: #18e1d0;
  padding: 5px 0;
}

#about-us p {
  margin: 0;
  padding-top: 10px;
  flex-grow: 1; /* Sorgt dafür, dass das <p>-Element den verbleibenden Platz ausfüllt */
}

#about-us .social-media {
  padding-top: 10px;
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.job-title {
  padding-top: 10px;
}

#about-us .col-md-3 .social-media a {
  display: inline-block;
  margin-top: auto; /* Stellt sicher, dass das LinkedIn-Icon immer unten ist */
  padding-top: 10px;
}

#contact img {
  border-radius: 50%;
  object-fit: cover;
}

#contact p {
  margin-top: 0.5rem;
}

.statistics-number {
  font-size: 5rem;
  font-weight: 1000;
  color: #2f356d;
}

.statistics-text .source {
  font-weight: 200;
  font-size: 1rem;
}

.brand-pink {
  color: #cd3788;
}

.benefits-icon {
  display: block;
  max-width: 100%;
  margin-bottom: 2rem;
}

.benefits-icon i {
  width: 140px;
  height: 140px;
  border-radius: 99%;
  transition: 0.4s ease;
  font-size: 4rem;
  line-height: 140px;
  color: #fff;
}

.icon-pink i {
  background: linear-gradient(to right, #cd3788, #18e1d0);
}

.icon-cyan i {
  background: linear-gradient(
    to right,
    rgba(47, 53, 109, 0.8),
    rgba(24, 225, 208, 0.8)
  );
  color: white;
}

#copyright a {
  color: #ffffff;
}

.data-privacy h2 {
  font-size: 2rem !important;
}

.not-found h1 {
  font-size: 6rem;
  color: #2f356d;
}

.not-found h2 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  color: #18e1d0 !important;
}

.not-found p {
  font-size: 1.1rem;
  margin-bottom: 2rem;
}

/* Blue circle with SVG background and hover transition */
.privacy-icon {
  width: 50px;
  height: 50px;
  background-color: #2f356d; /* Blue color */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s ease-in-out !important;
  position: fixed;
  left: 20px; /* Adjust as needed */
  bottom: 20px; /* Adjust as needed */
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.termsfeed-com---palette-light .cc-nb-okagree,
.termsfeed-com---palette-light .cc-nb-reject,
.termsfeed-com---palette-light .cc-cp-foot-save {
  color: #fff !important;
  background-color: #2f356d !important;
  border-radius: 22px !important;
  padding: 12px 30px !important;
  font-weight: 700;
  transition: 0.3s ease-in-out !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.termsfeed-com---palette-light .cc-nb-okagree:focus,
.termsfeed-com---palette-light .cc-nb-nb:focus,
.termsfeed-com---palette-light cc-pc-head-close:focus {
  box-shadow: 0 0 0 2px transparent !important;
}

.termsfeed-com---palette-light .cc-nb-changep {
  background-color: #eceeef;
  color: #2f356d !important;
  border-radius: 22px !important;
  padding: 12px 30px !important;
  font-weight: 700;
  transition: 0.3s ease-in-out !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.termsfeed-com---palette-light .cc-pc-head-lang select:focus {
  box-shadow: 0 0 0 2px transparent !important;
}

.termsfeed-com---palette-light .cc-pc-head-close:active,
.termsfeed-com---palette-light .cc-pc-head-close:focus {
  border: 2px solid transparent !important;
}

.termsfeed-com---palette-light .cc-cp-foot-byline,
.termsfeed-com---palette-light .cc-pc-head-lang select,
.termsfeed-com---palette-light .cc-cp-body-content-entry a,
.termsfeed-com---palette-light .cc-cp-body-content,
.termsfeed-com---palette-light .cc-cp-body-tabs-item-link {
  color: #2f356d !important;
}

.termsfeed-com---pc-dialog
  input[type="checkbox"].cc-custom-checkbox:checked
  + label:before {
  background: #2f356d !important;
}
.termsfeed-com---palette-light .cc-cp-body-tabs-item[active="true"] button {
  color: #fff !important;
  background: #2f356d !important;
}

.termsfeed-com---palette-light .cc-cp-foot-save {
  opacity: 1 !important;
}

.termsfeed-com---palette-light .cc-cp-foot {
  background: #fff !important;
  border-top-color: #ccc;
}

.termsfeed-com---palette-light .cc-cp-body-tabs,
.termsfeed-com---pc-dialog .cc-cp-body-tabs-item {
  color: #2f356d !important;
  background: #fff !important;
}

#copyright-imprint {
  z-index: 9999999999;
}

.cc-nb-buttons-container button {
  margin: 7px !important; /* Adjust the value as needed */
}

.cc-nb-text-urls::before {
  content: "\A"; /* Inserts a line break */
  white-space: pre; /* Ensure the line break is rendered */
  display: block; /* Forces the line break before the span */
}

.cc-nb-text-urls a {
  color: #2f356d !important;
}

.cc-nb-main-container button:focus,
.cc-nb-main-container a:focus,
.cc-nb-main-container input:focus,
.cc-nb-main-container textarea:focus {
  outline: none !important; /* Remove default focus outline */
  box-shadow: none !important; /* Remove any box-shadow (if any) */
}
