html {
	scroll-behavior: smooth;
}

.font-primary {
  color: var(--primary) !important;
}

.font-primary:hover {
  color: var(--primary-dark) !important;
}

.common-btn {
  margin: 2%;
  text-wrap: wrap;
  width: -webkit-fill-available;
  width: -moz-available;
}

.btn-outline-primary {
  border: 1px solid var(--primary);
  color: var(--primary) !important;
}

.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:hover {
  border: 1px solid var(--primary);
  background-color: var(--primary);
  color: white !important;
}

.btn-primary:not(:disabled):not(.disabled):hover,
.btn-outline-primary:not(:disabled):not(.disabled):active {
  border: 1px solid var(--primary-dark);
  background-color: var(--primary-dark);
  color: white !important;
}

.btn-primary.disabled,
.btn-primary:disabled {
	background-color: var(--primary);
	border-color: var(--primary);
}

.section-headline {
  text-align: center;
  font-size: 45px;
  line-height: 120%;
}

.section-headline h1 {
	font-size: 42px;
}

.section-subline {
  text-align: center;
  margin-top: 2%;
}

.section-subline h2 {
  font-size: 26px;
}

.section-box {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 7% 2%;
  background-color: white;
  font-size: 18px;
}

.section-box * {
  color: var(--dark);
}

.section-box.odd {
	background-color: var(--odd);
}

.section-box.dark {
  background-color: #1a1a1a;
}

.section-box.dark * {
  color: #ecf0f1;
}

.width-limitation {
  width: 100%;
  max-width: 1200px;  
}

/******************************************************************************/

#section-start {
	margin-top: 4rem;
  padding-top: 0 !important;
}

.start-container {
  width: inherit;
  display: flex;
}

.start-text-container {
  width: 40%;
	margin-right: 3%;
}

.start-headline {
  margin-bottom: 5%;
}

.start-subline {
  margin-bottom: 10%;
}

.start-checklist-container {
  display: block;
  margin: 5% 0 7%;
}

.start-checklist-row {
  width: 100%;
  display: flex;
  margin-bottom: 15px;
}

.start-checklist-icon {
  width: 20px;
}

.start-checklist-label {
  margin-left: 3%;
}

.start-image-container {
  width: 60%;
}

.start-image-container img {
  width: -webkit-fill-available;
	width: -moz-available;
  object-fit: cover;
}

.start-button-container {
  display: flex;
}

.start-button-container .btn {
  margin: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/******************************************************************************/

#section-process {
  background-color: var(--odd);
}

.process-item-container {
  margin-top: 5%;
}

.process-item-row {
  display: flex;
  justify-content: center;
	min-height: 180px;
}

#cash-systems .process-item-row {
	min-height: 185px;
}

.process-item-row:last-child {
  min-height: unset !important;
}

.process-item-middle-container {
  width: 20%;
}

.process-item-bubble-container {
  display: flex;
}

.process-item-bubble {
  width: 100px;
  height: 100px;
  background-color: var(--primary);
  border-radius: 50%;
  margin: auto auto;
  display: flex;
  z-index: 1;
}

.process-item-bubble svg {
	height: 60%;
  margin: auto;
}

.process-item-bubble.svg-80 svg {
	height: 80%;
}

.process-item-bubble path {
	fill: white !important;
}

.process-item-middle-container::after {
  content: "";
  display: block;
  height: 100%;
  width: 3px;
  margin-left: 50%;
  background-color: var(--primary);
}

.process-item-row:last-child .process-item-middle-container::after {
  display: none;
}

.process-item-bubble-container span {
  color: var(--dark) !important;
  margin: auto;
  font-size: 30px;
}

.process-item-bubble span {
  color: white !important;
}

.process-item-text-container {
  width: 70%;
}

.process-item-headline {
  font-size: 24px;
}

.process-item-description {
  margin: 3% 0 5%;
}

/******************************************************************************/

.template-text {
	margin-top: 5%;
}

/******************************************************************************/

.template-img-icontext {
  display: flex;
  margin-top: 5%;
}

.template-img-icontext .subline {
  padding: 0;
}

.template-img-icontext .image-container {
  width: 50%;
}

.template-img-icontext .image-container img {
  width: -webkit-fill-available;
	width: -moz-available;
  object-fit: cover;
}

.template-img-icontext .text-container {
  width: 50%;
	margin-left: 3%;
}
.template-img-icontext.reverse .text-container {
	margin-left: 0;
	margin-right: 3%;
}

.template-img-icontext .points-container {
  display: block;
}

.template-img-icontext .points-row {
  width: 100%;
  display: flex;
  margin-bottom: 30px;
	min-height: 120px;
}

.template-img-icontext .points-icon-container {
  margin-right: 3%;
}
.template-img-icontext .points-icon {
  width: 70px;
  height: 70px;
  display: flex;
  background-color: var(--primary);
  border-radius: 50%;
}

.template-img-icontext .points-icon i {
  color: white;
  line-height: 0;
  margin: auto auto;
}

.template-img-icontext .points-icon svg {
	height: 70%;
  margin: auto;
}

.template-img-icontext .points-icon.small svg {
	height: 60%;
}

.template-img-icontext .points-icon path {
	fill: white !important;
}

.template-img-icontext .points-headline {
  text-align: left;
  font-size: 24px;
  margin-bottom: 3%;
  line-height: 120%;
}

.template-img-icontext .headline2 {
	padding: 2% 0 0;
	font-size: 2rem;
	margin-bottom: 3%;
}

.template-img-icontext .content-container2 {
	display: flex;
	margin-top: 2%;
}

/******************************************************************************/

.template-img-text {
  display: flex;
  margin-top: 5%;
  margin-bottom: 2%;
}

.template-img-text .image-container {
  width: 40%;
}

.template-img-text .image-container img {
  width: -webkit-fill-available;
	width: -moz-available;
  object-fit: cover;
}

.template-img-text .text-container {
  width: 60%;
  margin-right: unset;
  margin-left: 3%;
}

.template-img-text.reverse .text-container {
  margin-right: 3%;
  margin-left: 0;
}

/******************************************************************************/

#section-reviews {
  background-color: #555;
	margin-bottom: 5%;
}

.reviews-item-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2%;
}

.reviews-item {
  width: 350px;
  margin: 2%;
  padding: 5%;
  background-color: var(--odd);
  text-align: center;
}

.reviews-item span,
.reviews-item font {
  color: var(--dark) !important;
}

.reviews-item-author {
  font-size: 22px;
  margin-top: 20%;
}

.reviews-item-company {
  font-size: 14px;
  margin-top: 10%;
}

/******************************************************************************/

.faq-item-container {
  margin: 5% 0;
}

.faq-item {
  border-bottom: 1px solid var(--dark-transparent);
  padding: 2% 0;
}

.faq-item-header {
  padding: 1% 0;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}

.faq-item-headline {
  font-size: 24px;
}

.faq-item-collapse-btn {
  width: 15px;
  min-width: 15px;
  margin: auto 0;
}

.faq-item-collapse-btn::before {
  display: flex;
  position: absolute;
  background: var(--dark);
  width: inherit;
  height: 2px;
  content: "";
  margin-top: 8px;
  border-radius: 3px;
}

.faq-item-collapse-btn::after {
  display: inline-flex;
  position: relative;
  background: var(--dark);
  width: 2px;
  height: 0px;
  -webkit-transition: height .3s ease;
  transition: height .3s ease;
  content: "";
  left: 7px;
  top: -5px;
  border-radius: 3px;
  vertical-align: middle;
}

.faq-item-body {
  overflow: hidden;
  -webkit-transition: height .3s ease;
  transition: height .3s ease;
}

.faq-item-body li {
	list-style: outside;
	list-style-type: disclosure-closed;
	margin-left: 3%;
}

.faq-item-body li::marker {
	color: var(--primary);
	font-size: small;
}

.faq-item.collapsed .faq-item-body {
  height: 0px;
}
.faq-item.i-collapsed .faq-item-collapse-btn::after,
.faq-item.collapsed .faq-item-collapse-btn::after {
  height: 15px;
}

/******************************************************************************/

#section-sitemap {
  background-color: var(--odd);
}

.sitemap-item-container {
  text-align: center;
  margin-top: 5%;
  text-decoration: none;
}

.sitemap-item-container p {
  margin-bottom: 5px;
}

#section-sitemap a:hover {
  color: var(--primary) !important;
  text-decoration: none;
}

/******************************************************************************/

.section-cta {
  background-color: var(--primary) !important;
}
.cta-btn-container {
  text-align: center;
  margin: 5%;
}

.cta-btn {
  display: inline-flex;
  padding: 15px;
}

.cta-btn:hover {
  background-color: #d9d9d9;
}

.cta-btn-icon {
  margin: auto 10px auto 0;
}

.cta-btn-container img {
  width: 22px;
}

.cta-btn-container span {
  color: var(--dark) !important;
  text-wrap: wrap;
}

.cta-btn-label span,
.cta-btn-label font {
	color: var(--dark) !important;
}

/******************************************************************************/

.description-item-container {
  margin-top: 5%;
}

.description-subline {
  text-align: left;
  padding: 0;
}

.description-text {
  margin: 2% 0;
}

.description-image img {
  width: 100%;
}

/******************************************************************************/

.description-table-container {
  margin-top: 5%;
}

.description-table-container .thead {
  font-size: 26px;
}

.description-table-container .thr {
  display: flex;
  border-bottom: 1px solid var(--dark-transparent);
}

.description-table-container .tbr {
  display: flex;
  border-bottom: 1px solid var(--dark-transparent);
}

.description-table-container .th,
.description-table-container .td {
  width: 39%;
  padding: 10px;
  /* white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; */
  text-wrap: wrap;
  word-break: normal;
}

.description-table-container .th:first-child,
.description-table-container .td:first-child {
  width: 22%;
  word-break: break-all;
}

.description-table-container .th:first-child {
  padding-left: 0;
}

.description-table-container .td:first-child {
  padding-left: 0;
  border-right: 1px solid var(--dark-transparent);
}

@media (max-width: 800px) {
	#section-start {
    margin-top: unset;
	}
	
	.process-item-row {
		min-height: unset;
	}
}

@media (min-width: 1000px) {
	#section-start {
    padding-top: 10% !important;
		margin-top: unset;
	}
	
  .start-headline {
    text-align: left;
  }
  
  .start-subline {
    text-align: left;
  }
  
  /****************************************************************************/
  
  .template-img-icontext .points-icon i {
    transform: scale(1.5);
    -ms-transform: scale(1.5);
    -webkit-transform: scale(1.5);
  }
  
  /****************************************************************************/
  
  .process-item-row.common-reverse {
    flex-direction: row-reverse;
  }

  .process-item-row.common-reverse .process-item-headline,
  .process-item-row.common-reverse .process-item-description {
    text-align: right;
  }
	
	#cash-systems .process-item-row {
	  min-height: 250px;
	}
	
	/****************************************************************************/
	
	.cta-btn-container {
    text-align: center;
    margin-bottom: 0;
  }
}

@media (max-width: 500px) {
  .section-headline h1 {
    font-size: 7vw;
  }
	
  .section-subline h2 {
    font-size: 22px;
  }
  
  .section-box {
    padding: 10% 0 !important;
  }
  
  /****************************************************************************/
  
  .start-button-container {
    display: block;
  }
  
  /****************************************************************************/
  
  .process-item-container {
    margin-top: 10%;
  }
	
  /****************************************************************************/
  
  .faq-item-headline {
    font-size: 18px;
  }
  
  .faq-item-body {
    font-size: 13px;
  }
  
  /****************************************************************************/
  
  .description-table-container .th {
    font-size: 13px;
  }
  
  .description-table-container .td {
    font-size: 11px;
  }
  
  .description-table-container .th,
  .description-table-container .td {
    word-break: break-all;
  }
}

@media (max-width: 999px) {
  .section-box {
    padding: 4% 0;
  }
  
  .section-headline {
    margin-top: 5%;
  }
  
  .section-subline {
    margin: 5% 0;
  }
  
  /****************************************************************************/
  
  .start-container {
    flex-direction: column-reverse;
  }
  
  .start-text-container {
    width: 100%;
  }
  
  .start-image-container {
    width: 100%;
    padding: 0;
  }
  
  .start-headline {
    margin-top: 2vw;
  }
	
  /****************************************************************************/
  
  .process-item-middle-container {
    width: 100px;
  }

  .process-item-bubble {
    width: 70px;
    height: 70px;
  }
  
  .process-item-text-container:first-child {
    width: 0;
  }
  
	.process-item-text-container:last-child {
    width: 100%;
    padding: 0 2%;
		min-height: unset;
  }
  
  /****************************************************************************/
	
  .template-img-icontext {
    display: unset;
  }
  
  .template-img-icontext .image-container {
    width: 100%;
    padding: 0;
  }
  
	.template-img-icontext .text-container,
	.template-img-icontext.reverse .text-container {
    width: 90%;
    padding: 0;
		margin-left: 5%;
		margin-right: 5%;
  }
  
  .template-img-icontext .points-container {
    margin-top: 5%;
  }
  
  .template-img-icontext .points-icon {
    width: 50px;
    height: 50px;
  }
  
  .template-img-icontext .points-icon i {
    transform: scale(1);
		-ms-transform: scale(1);
		-webkit-transform: scale(1);
  }
	
	.template-img-icontext .content-container2 {
		display: block;
	}
	
	.template-img-icontext .intro-container,
	.template-img-icontext .outro-container {
		width: unset;
		margin: 5% 0;
	}
	
	.template-img-icontext .headline2 {
		font-size: 1.5rem;
	}
	
  /****************************************************************************/
	
	.template-img-text {
		display: block;
	}
	
	.template-img-text .image-container {
		width: 100%;
	}
	
	.template-img-text .text-container {
		width: unset;
		margin: 5% 0 !important;
	}
	
  /****************************************************************************/
  
  .reviews-item-container {
    margin-bottom: 2%;
  }
  
  .reviews-item-author {
    margin-top: 5vw;
  }

  .reviews-item-company {
    margin-top: 3vw;
  }
  
  /****************************************************************************/
  
  .description-subline,
    .description-text {
    padding: 0 2%;
  }
  
  /****************************************************************************/
  
  .description-table-container .th:first-child,
  .description-table-container .td:first-child {
    padding-left: 2%;
  }
  
  .description-table-container .th:last-child,
  .description-table-container .td:last-child {
    padding-right: 2%;
  }
}
