/*
    font-family: 'Fira Code', monospace;
    font-family: 'Fira Sans', sans-serif;
    font-family: 'Titan One', cursive;
 */


/*Remove tap highlight on iOS/ANdroid */
* {
  	-webkit-tap-highlight-color: rgba(0,0,0,0);
  	-webkit-touch-callout: none;
	-webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
}

:root {
	--primaryMenuHeight: 70px;
	--mobileMenuHeight: 50px;
	--footerHeight: 280px;
	--pageContentHeight: calc(100vh - var(--footerHeight) - var(--primaryMenuHeight));
}

/* Layout styles */
html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	min-width: 320px;
	background-color: #191919;
	color: #ffffff;
	font-size: 16px;
	line-height: 24px;
	font-family: 'Fira Sans', sans-serif;
	scroll-behavior: smooth;
}

#container {
	min-width: 320px;
}

/* mobile menu sliding effect */
#container, header, #fp-nav, body {
    transition: transform 0.4s ease 0s;
}

label {
	cursor: pointer;
	flex-shrink: 0;
}

img {
	max-width: 100%;
}

video {
	width: 100%;
	height: auto;
	box-shadow: 0 0 10px 0 #000000;
	box-sizing: border-box;
	object-fit: scale-down;
}

p {
	margin-bottom: 22px;
}

footer, .footer {
    width: 100%;
    background-color: #000000;
}
/*

}*/

nav {
	width: 100%;
	height: 100%;
}

.blog .tableContent {
	font-size: 16px;
}

.blog p, .blog div, .blog a.download, .blog .highlightLink {
	font-size: 18px;
	line-height: 30px;
}

.blog .image {
	max-width: 540px;
	margin: 0 auto 22px;
	text-align: center;
}

.blog .image a {
	cursor: zoom-in;
}

.textRow {
	display: flex;
}

.textLabel {
	flex-shrink: 0;
	width: 200px;
}

.textDescription {
	word-break: break-all;
}

.textRight {
	text-align: right;
}

.togglePasswordVisibility {
	position: absolute;
	padding: 7px;
	top: 0;
	right: 0;
	cursor: pointer;
	font-size: 18px;
	color: #191919;
	display: flex;
	z-index: 2;
}

.passwordScore  {
  	font-weight: 600;
  	text-align: right;
  	font-size: 13px;
}

.score0 {color: #F33198;}
.score1 {color: #FFB300;}
.score2 {color: #FFB300;}
.score3 {color: #6CDF86;}
.score4 {color: #6CDF86;}

.passwordScoreIndicator {
  	width: 100%;
  	margin-top: 2px;
  	height: 5px;
    display: flex;
    justify-content: space-between;
}
.passwordScoreIndicator span {width: 19%; background-color: #8C8C8C;}
.score0 .passwordScoreIndicator span:first-child {background-color: #F33198;}
.score1 .passwordScoreIndicator span:nth-child(-n+2) {background-color: #FFB300;}
.score2 .passwordScoreIndicator span:nth-child(-n+3) {background-color: #FFB300;}
.score3 .passwordScoreIndicator span:nth-child(-n+4) {background-color: #6CDF86;}
.score4 .passwordScoreIndicator span:nth-child(-n+5) {background-color: #6CDF86;}

/** Start: Mobile Menu CSS  **/
.mobileToolBar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: var(--mobileMenuHeight);
	box-sizing: border-box;
	padding: 0 16px;
}


.mobileMenu {
	background-image: url("../images/menu.svg");
	width: 24px;
	height: 24px;
	background-size: 100%;
	background-repeat: no-repeat;
	cursor: pointer;
}

#mobile_menu_wrapper {
    display: block;
	background-color: #191919;
	width: 260px;
	position: relative;
	top: var(--mobileMenuHeight);
	left: auto;
	right: 0;
	bottom: 0;
	z-index: 101;
}

#mobile_menu_wrapper:after {
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    content: "";
    display: block;
    height: 120%;
    left: auto;
    right: 100%;
    position: absolute;
    top: -10%;
    width: 20px;
    z-index: 99;
}

#mobile_menu_wrapper {
    position: fixed;
}

.openMenu#container, .openMenu #fp-nav {
    transform: translate3d(-260px, 0px, 0px);
}

.openMenu .mainContentContainer {
	opacity: 0.3;
	transition: all 0.2s ease-in-out;
}

#mobile_menu {
    overflow-y: auto;
    overflow-x: hidden;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    bottom: 0;
}

.mobileMenuItemContainer {

	width: 100%;
	box-sizing: border-box;
}

.mobileMenuItem {
	margin: 10px;
	background-color: transparent;
	color: #3CC4FF;
	height: 35px;
	font-size: 16px;
	font-weight: 500;
	padding: 0 15px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.open.mobileMenuItemContainer {
	background-color: #3B3B3B;
	padding-bottom: 5px;
}

.mobileMenuItem a {
	color: #3CC4FF;
	text-decoration: none;
	width: 100%;
}

.mobileMenuItemContainer ul li a.mobileSubmenuItem {
	display: flex;
	text-decoration: none;
	height: 35px;
	margin: 5px 5px 5px 25px;
	justify-content: flex-start;
	align-items: center;
	color: #ffffff;
	background-color: transparent;
	padding: 0 20px
}

.active a.mobileSubmenuItem {
	border: 1px solid #ffffff;
	border-radius: 20px;
}

.active.mobileMenuItem, .active.mobileMenuItem a {
	color: #ffffff;
}

/* End mobile menu */

.menuContainer, .submenuContainer {
	display: none;
	box-sizing: border-box;
}

.menuContainer {
	background-color: #000000;
	width: 100%;
	position: fixed;
	height: var(--primaryMenuHeight);
	z-index: 11;
}

.submenuContainer {
	padding: 8px;
	justify-content: center;
	z-index: 3;
	position: relative;
	top: var(--primaryMenuHeight);
}

.logo {
	background-image: url("../images/rbro_logo.svg");
	width: 185px;
	height: 36px;
	background-size: 100%;
	background-repeat: no-repeat;
	display: block;
	flex-shrink: 0;
}

.submenu {
	border-radius: 20px;
	background-color: #000000;
    display: flex;
    align-items: center;
	padding: 3px;
	box-sizing: border-box;
	gap: 2px;
}

.reportRef {
	width: 50%;
}

.tabBar {
	display: flex;
	gap: 20px;
}

.tabBar > div {
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 5px 10px;
}

.tabBar > div {
	cursor: pointer;
}

.tabBar .active, .tabBar > div:hover {
	color: #F33198;
}

.requestCodeContainer {
	background-color: #000000;
	padding: 10px 0 10px 20px;
	position: relative;
}

a, .simpleLink {
	text-decoration: underline;
	color: #ffffff;
    transition: all 0.2s ease-in-out;
	cursor: pointer;
}

a.pinkLink {
	color: #F33198;
}

a:hover, a.menuItem, a.button, a.submenuItem, .simpleLink:hover {
	text-decoration: none;
}

a.download, .footerContainer a, a.highlightLink, .highlightLink {
	color: #3CC4FF;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	cursor: pointer;
}

a.download:hover, .footerContainer a:hover, a.highlightLink:hover, .highlightLink:hover, .customLink:hover, .accordionLink:hover {
	color: #ffffff;
}

.customLink {
	cursor: pointer;
	color: #3CC4FF;
	font-size: 30px;
	text-align: center;
}

.accordionLink {
	cursor: pointer;
	color: #3CC4FF;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 20px 0;
}

.accordionLink .icon-arrow.close {
	transform: rotate(180deg);
}

.accordionLink:hover .smallBounce {
	animation: smallBounce 2s 0.5s infinite;
}

@keyframes smallBounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}

.accordionLink span {
	font-size: 20px;
}

.formRow:not(:empty), .displayRow:not(:empty) {
	margin-bottom: 10px;
	position: relative;
}

.displayRow {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.displayRow .textLabel, .displayRow .textDescription  {
	width: 50%;
	flex-shrink: 0;
}

.displayRow .textLabel {
	text-align: right;
}

.displayRow .textDescription {
	text-align: left;
}

input.error, select.error {
	border: 2px solid #F33198;
}

span.error, div.error {
	color: #F33198;
}

input, select, textarea {
    font-size: 16px;
    font-weight: inherit;
    width: 100%;
    border: none;
    height: 32px;
    padding: 4px;
    box-sizing: border-box;
	box-shadow: 0 0 10px 0 #000000;
	background-color: #ffffff;
	outline: none;
}

input:disabled, select:disabled, textarea:disabled {
	opacity: 0.85;
	color: #777777;
}

input[type=file] {
	box-shadow: none;
	background-color: transparent;
	padding: 0;
}

input[type=checkbox] {
	width: auto;
}

input.inputZip {
	min-width: 50px;
	max-width: 100px;
}

input.inputCity {
	max-width: calc(100% - 55px);
}

input.inputDateTime {
	width: 150px;
}

label.switch-light {
	width: auto;
	margin-right: 0;
}

label.switch-light input {
	width: 0;
	height: 0;
}

.documentUploadContainer {
	border-bottom: 1px solid #575757;
	padding: 20px 0;
}

.menuItem, .submenuItem {
	color: #3CC4FF;
	height: 35px;
	border-radius: 18px;
	font-size: 16px;
	font-weight: 500;
	padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
	cursor: pointer;
	border: 1px solid #000000;
	box-sizing: border-box;
	gap: 10px;
}

.menuItem img {
	width: 20px;
}

.loginContainer {
	display: flex;
	gap: 20px;
	justify-content: center;
}

.accountMenu, .accountMenu:hover {
    display: flex;
    align-items: flex-end;
    justify-content: center;
	flex-shrink: 0;
	font-size: 26px;
	box-sizing: border-box;
	color: #ffffff;
	width: 30px;
	height: 30px;
	text-decoration: none;
	border-radius: 100%;
	overflow: hidden;
	background-color: #191919;
	margin-left: 20px;
}

.menuItem.pinkButton {
	border: 2px solid #F23C9E !important;
	color: #F23C9E;
	background-color: #000000;
	flex-shrink: 0;
}

.menuItem.active, .menuItem.active:hover, .menuItem:hover, .submenuItem.active, .submenuItem.active:hover, .submenuItem:hover {
	background-color: #191919;
	color: #ffffff;
}

.menuItem.pinkButton:hover {
	background-color: #F23C9E !important;
}

.menuItem.pinkButton.active, .menuItem.pinkButton.active:hover {
	background-color: #F33198;
	color: #ffffff;
}

.submenuItem {
	border-radius: 20px;
}

.tippy-box {
	background-color: #3B3B3B;
    box-shadow: 0 0 10px 0 #000000;
    min-width: 220px;
    font-size: 16px;
}

.contextMenu {
	position: absolute;
	right: 10px;
	top: 45px;
	background-color: #3B3B3B;
    box-shadow: 0 0 10px 0 #000000;
    font-size: 16px;
	padding: 5px 9px;
	z-index: 1;
	min-width: 150px;
	line-height: 140%;
	border-radius: 4px;
}

.tippy-arrow {
	color: #3B3B3B;
}
.tippy-box li, .contextMenu li {
	list-style: none;
}

.tippy-box li a, .contextMenu li {
    padding: 0 20px;
    display: flex;
	align-items: center;
	height: 35px;
    text-decoration: none;
	border-radius: 18px;
}

.tippy-box li a:hover, .contextMenu li:hover {
    background-color: #191919;
}

.contextMenu li {
	cursor: pointer;
	transition: all 0.3s ease;
}

.landingPageButton {
	color: #F33198;
	padding: 20px;
	font-size: 34px;
	cursor: pointer;
	display: none;
}

#fullpage .landingVisualization, #fullpage .landingProgrammingLanguages {
	display: none;
}

#fullpage .landingAni {
	position: relative;
	margin-top: 80px;
	justify-content: space-evenly;
}

#fullpage .landingAni > div {
	width: 200px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
	background-color: #191919;
	position: relative;
}

#fullpage .landingAni img {
	padding: 10px;
	background-color: #191919;
}

#fullpage .landingAni img.arrow {
	position: absolute;
	padding: 0;
	background-color: transparent;
	animation: landingArrow 800ms ease-out 800ms forwards;
	left: 3%;
	opacity: 0;
}

.landingAniDesigner {
	z-index: 2;
}

#fullpage .landingAni .landingAniCode {
	animation: landingCodeAni 500ms ease-out 0.5s forwards;
	width: auto;
	right: 32%;
	z-index: 1;
}

.landingAniDocument {
	right: 32%;
	animation: landingDocumentAni 700ms ease-out 900ms forwards;
	z-index: 0;
	opacity: 0;
}

.codeImageContainer {
	height: 140px;
	display: flex;
	align-items: center;
}



lottie-player {
	height: 300px;
	position: relative;
	top: -100px;
}

.textCenter {
	text-align: center;
}

.infoText {
	color: rgba(255,255,255,0.8);
}

.statusText {
	color: #6CDF86;
}

.infoTextElement {
	color: rgba(255,255,255,0.8);
	padding: 26px 0 28px 0;
}

.errorContainer { color: #F33198;}
.successContainer { color: #6CDF86;}

.contentBlockWide.planInfo {
	box-shadow: 0 0 10px 0 #000000;
	padding: 10px;
	margin-top: 5px;
	position: relative;
	color: #191919;
	border-radius: 40px;
	text-align: center;
	background-color: #6CDF86;
}

.planInfo.highlightMessage {
	background-color: #FFB300;
}

.statusMessage {
	position: fixed;
	z-index: 111;
	width: 100%;
	top: 20px;
}

.statusMessage > div {
	margin: 0 auto;
	width: 400px;
	background-color: #6CDF86;
	box-shadow: 0 0 10px 0 #000000;
	padding: 20px;
	position: relative;
	color: #191919;
	border-radius: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.statusMessage .statusRemove {
	color: #191919;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

.statusMessage .statusRemove:hover {
	color: #ffffff;
	cursor: pointer;
}

.bounce {
	animation: bounce 3s 1s infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}

.button, button {
	display: inline-block;
	cursor: pointer;
}

.whiteButton {
	color: #F33198;
	background-color: #ffffff;
}

.whiteButton:hover:not(:disabled) {
	color: #000000;
}

.pinkButton {
	color: #ffffff;
	background-color: #F33198;
}

.pinkButton.plusFeature {
	height: 20px;
	width: 50px;
	font-size: 13px;
	margin-left: 5px;
}

.button, .plusFeature {
	font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 25px;
	border: 1px solid #191919;
}

.button.roundButton, .button.roundButton:hover {
	border-radius: 100%;
	width: 25px;
	height: 25px;
	font-size: 12px;
	border: none !important;
}

.button.large {
	height: 50px;
	width: 234px;
	font-size: 18px;
}

.mobileOnly.button.large {
	width: 130px;
}

.button.long {
	height: 40px;
	width: 180px;
	font-size: 16px;
}

.button.medium {
	height: 40px;
	width: 120px;
	font-size: 16px;
}

.button.small {
	height: 20px;
	width: 70px;
	font-size: 13px;
}



.altBackground .button {
	border: 1px solid #3B3B3B;
}

.button.pinkButton:hover:not(.button.pinkButton.disabled:hover) {
	border: 1px solid #F23C9E;
	background-color: #F23C9E;
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.2), 0 2px 10px 0 rgba(0,0,0,0.3);
}

.button.disabled, .button.disabled:hover, .button:disabled, .button:disabled:hover {
	cursor: text;
	opacity: 0.4;
	border: none !important;
	box-shadow: none !important;
}

.button.whiteButton:hover {
	border: 1px solid #ffffff;
	background-color: #ffffff;
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.2), 0 2px 10px 0 rgba(0,0,0,0.3);
}

.button.cancelButton, .button.link {
	background-color: transparent;
	color: #ffffff;
	text-decoration: underline;
	width: 100px;
	font-size: inherit;
}

.button.link {
	width: auto;
	font-size: 16px;
}

.button.cancelButton:hover, .button.link:hover {
	text-decoration: none;
}

.button.absolutePosition {
	position: absolute;
	top: 28px;
	right: 28px;
}

footer {
	display: block;
	width: 100%;
	z-index: 1;
}

footer, .footer {
	height: var(--footerHeight);
	box-sizing: border-box;
	padding: 16px;
}

.footerContainer {
	width: 100%;
	height: 100%;
    display: flex;
    justify-content: space-between;
	flex-direction: column;
	margin: 0 auto;
	box-sizing: border-box;
}

.footerContainer [class^="icon-"] {
	font-size: 20px;
}

.footerContainer .icon-mail {
	font-size: 16px;
}

.footerContainer .contactLinks {
    display: flex;
    align-items: center;
	padding-bottom: 30px;
	gap: 20px;
}

.footerMenu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-direction: column;
	gap: 20px;
}

.footerContainer .footerMenu a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
	gap: 4px;
}

.copyrightInfo {
	font-size: 16px;
	color: rgba(255,255,255,0.5);
}

#content {
	/* position: relative; if used inside dialog doesn't work */
	height: 100%;
	min-height: calc(100vh - 320px);
	background-color: #191919;
	z-index: 2;
}

/* all pages except landing page */
.pageContent {
	position: relative;
	min-height: var(--pageContentHeight);
	padding-top: var(--mobileMenuHeight);
}

.mainSection {
	position: relative;
	padding: 40px 0;
	z-index: 1;
}

.mainSection.black {
	background-color: #000000;
}

.altSectionBackground {
	position: absolute;
	width: 100%;
	background-color: #000000;
	left: 0;
	z-index: 0;
}

.sectionInnerContainer {
	height: auto;
	padding-bottom: 50px;
	box-sizing: border-box;
    display: flex;
    justify-content: space-between;
	flex-direction: column;
}

.sectionInnerContainer h2 {
	margin: 0 0 40px 0;
}

.contentBlockSingle {
	width: 100%;
	max-width: 548px;
	box-sizing: border-box;
	padding: 0 16px;
	margin-bottom: 20px;
}

.contentBlockSingle.screenShot {
	text-align: center;
}

.contentBlockWide .contentBlockSingle {
	padding: 0;
}

.contentBlockSingleSmall {
	width: 100%;
	max-width: 356px;
	margin-bottom: 20px;
	box-sizing: border-box;
}

.contentBlockSingleWide {
	width: 100%;
	max-width: 740px;
	box-sizing: border-box;
	z-index: 2;
	padding: 0 16px;
}

.contentBlockWide {
	width: 100%;
	box-sizing: border-box;
	z-index: 1;
	padding: 0 16px;
}

.tableContent .contentBlockWide {
	padding: 0;
}

.contentBlockHighlight {
	width: 100%;
	max-width: 740px;
	background-color: #3B3B3B;
	padding: 28px;
	box-shadow: 0 0 10px 0 #000000;
	z-index: 2;
	box-sizing: border-box;
	position: relative;
}

.contentBlockHighlight:empty {
	display: none;
}

.codeBlockHighlight {
	position: relative;
	width: 100%;
	max-width: 932px;
	background-color: #3B3B3B;
	box-shadow: 0 0 10px 0 #000000;
	box-sizing: border-box;
	padding: 20px 0 20px 20px;
}

.codeBlockHighlight.minimalCodeBlock {
	padding: 20px 68px 20px 20px;
}

.visionCodeBlock {
	width: 100%;
	max-width: 548px;
	background-color: #3B3B3B;
	box-shadow: 0 0 10px 0 #000000;
	box-sizing: border-box;
	padding: 10px;
	margin-bottom: 10px;
	position: relative;
}

.inlineCode {
	font-family: "Consolas", "Courier New", monospace;
	color: rgba(255,255,255,0.7);
	font-size: 16px;
}

code, pre {
	font-family: Consolas, "Courier New", monospace;
	box-sizing: border-box;
	max-height: 300px;
	font-size: 14px;
	line-height: 20px;
	color: #ffffff;
	background-color: transparent !important;
}

code, pre {
	overflow-x: auto;
	scrollbar-color: #191919 transparent;
}

code::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}

code::-webkit-scrollbar-track, code::-webkit-scrollbar-corner {
  background: transparent;
}

code::-webkit-scrollbar-thumb {
  background-color: #191919;
  border-radius: 6px;
}

.highlightGreen {
	color: #6CDF86;
}

.githubElement, .contentBlockSingle.githubElement, .contentBlockSingleSmall.githubElement {
	background-color: #3B3B3B;
	padding: 20px 20px 5px 20px;
	box-shadow: 0 0 10px 0 #000000;
}

.contentBlockSingleSmall.blogElement {
    display: flex;
	flex-direction: column;
	justify-content: space-between;
	background-color: #3B3B3B;
	box-shadow: 0 0 10px 0 #000000;
	text-decoration: none;
	margin-bottom: 20px;
}

.blogElement img {
	max-height: 200px;
}


.blogTeaserHolder {
    display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.blogTeaser {
	height: 100%;
	padding: 0 5px;
    display: flex;
	flex-direction: column;
    justify-content: space-between;
}

.blogTeaserLogo {
	font-size: 16px;
	width: 20px;
}

.blogTeaserLogo.advancedBro {
	color: #3CC4FF;
}

.blogTeaserLogo.beginnerBro {
	color: #6CDF86;
}

.blogTeaserLogo.reportBroDesigner {
	color: #F33198;
}

.blogTeaserLogo.reportBroLib {
	color: #6CDF86;
}

h2.blogHeader {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	color: #FFB300;
	gap: 8px;
	margin: 20px 0 10px 0;

}

.bulletIcon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	background-color: #3B3B3B;
	color: #3CC4FF;
	border-radius: 100%;
	flex-shrink: 0;
}

.bulletIcon.reportBroDesigner {
	color: #F33198;
}

.bulletIcon.reportBroLib {
	color: #6CDF86;
}

.inlineBlock {
	display: inline-block;
}

.floatingImage {
	float: left;
}

.githubElement {
    display: flex;
    justify-content: space-between;
	flex-direction: column;
}

.versionInfo {
	font-size: 14px;
	padding-top: 8px;
}

.packageInfo {
	display: block;
	margin-top: 26px;
	font-size: 13px;
}

.blogInfo {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
}

.languageIndicator, .categoryIndicator {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: #FFB300;
	margin-right: 4px;
}

.languageIndicator.python, .categoryIndicator.article {
	background-color: #3CC4FF;
}

.ratingIndicator {
	margin-right: 20px;
}

.icon-rate {
	color: #FFB300;
	font-size: 14px;
}

.licenceIndicator {
	margin-left: 20px;
}

.licenceIndicator .icon-licence {
	color: #3CC4FF;
	font-size: 14px;
}

.buttonBottom {
	width: 100%;
}

h1, h2, h3, h4 {
	line-height: 42px;
	text-align: center;
	margin: 0;
}

h1.landingPageHeader {
	font-family: "Fira Sans";
	background: linear-gradient(97.91deg, #F33198 3.76%, #3CC4FF 96.95%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
	font-weight: 700;
	font-size: 48px;
	line-height: 58px;
	text-align: center;
	letter-spacing: 0.2px;
}

h1, h3.fullpage {
	font-size: 32px;
	font-weight: 500;
	margin: 26px 0;
}

h2 {
	font-size: 24px;
	font-weight: 500;
	color: #3CC4FF;
	text-align: left;
}

h2.focusHeadline, .pricingTable thead th  {
	font-family: 'Titan One', cursive;
	color: #3CC4FF;
	font-size: 26px;
	text-align: center;
	margin: 22px 0;
	line-height: 28px;
	font-weight: normal;
	letter-spacing: 0.2px;
}

table.pricingTable {
	border-collapse: separate;
	border-spacing: 14px 0;
	background-color: #3B3B3B;
	padding-bottom: 20px;
}

.pricingTable th, .pricingTable td {
	padding: 0;
	vertical-align: middle;
	height: 54px;
	box-sizing: border-box;
}

.pricingTable tfoot td {
	background-color: #3B3B3B;
}

.tableContent table.pricingTable thead tr th:first-child, .pricingTable th,
.tableContent table.pricingTable tbody tr:nth-child(2n) th
{
	background-color: #3B3B3B;
	position: unset;
}

.pricingTable thead th, .pricingTable tbody th, .pricingTable tbody td {
	border-bottom: 1px solid #575757;
	box-shadow: none;
}

.pricingTable td:not(:first-child) {
	text-align: center;
}

.pricingTable .infoText {
	font-size: 16px;
}

.pricing {
	position: relative;
	padding: 20px 0;
}

.pricing.free {
	font-size: 24px;
	font-weight: 800;
	color: #3CC4FF;
	letter-spacing: 1px;
}

.pricing.amount {
	font-size: 36px;
	font-weight: 500;
	color: #ffffff;
}

.pricing .euroSign {
	font-size: 24px;
	position: absolute;
	top: 10px;
	margin-left: 2px;
}

#fullpage h2 {
	font-size: 32px;
	margin-bottom: 30px;
}

h3, .blogTeaser h2 {
	font-size: 24px;
	font-weight: 800;
	line-height: 28px;
	margin: 20px 0;
	text-align: center;
}

h4 {
	font-size: 16px;
	font-weight: 800;
	line-height: 24px;
	margin: 16px 0;
}

.bold {
	font-weight: 800;
}

.flexBox {
    display: flex;
    align-items: center;
	gap: 10px;
}

.blogInfo .flexBox {
	gap: 0;
}

.flexCenter {
    display: flex;
    align-items: center;
    justify-content: center;
	gap: 10px;
}

.flexColumn {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.contentBlockHolder {
    display: flex;
    align-items: center;
	flex-direction: column;
	gap: 20px;
}

.contentBlockHolder > div {
    width: 100%;
}

.mobileReverseColumn {
	flex-direction: column-reverse;
}

.flexSpaceBetween {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
	gap: 10px;
}

.flexCenterBetween {
    display: flex;
    align-items: center;
    justify-content: space-between;
	gap: 10px;
}

.flexStart {
    display: flex;
    align-items: flex-start;
    justify-content: center;
	gap: 10px;
}

.splitContent div {
	width: 100%;
}

.relative {
	position: relative;
}

.yellowSnake {
	background-image: url("../images/snake_yellow.svg");
	animation: moveSnake 8s linear both;
	width: 94px;
	height: 13px;
}

.snake {
	position: absolute;
	bottom: 0;
	left: 0;
	background-repeat: no-repeat;
	background-size: 100%;
}

.blueSnake {
	background-image: url("../images/snake_blue.svg");
	animation: moveBlueSnake 5s linear both;
	width: 13px;
	height: 95px;
	top: 0;
	z-index: 11;
}

@keyframes moveSnake {
  0% {
	  transform: translateX(0px);
  }
  100% {
	  transform: translateX(100vw);
  }
}

@keyframes moveBlueSnake {
  0% {
    transform: translate(0,100vh);
  }
  100% {
    transform: translate(0,-100px);
  }
}

@keyframes moveBlueSnake {
  0% {
	  transform: translate(0,100vh);
  }
  100% {
	  transform: translate(0,-100px);
  }
}

.text-highlight{
    color: #ffffff;
}
.bro-highlight{
    color: #F33198;
}
#typewriter_demo1, #typewriter_demo2, #typewriter_demo3 {display: none;}

#typewriter, .lineNumbers {
	font-size: 24px;
	line-height: 38px;
	font-family: 'Fira Code', monospace;
	margin: 0;
	display: inline-block;
	vertical-align: top;
}

#typewriter:after{
	content: "|";
	animation: blink 500ms linear infinite alternate;
}

.lineNumbers {
	color: rgba(255,255,255,0.2);
	padding-right: 52px;
}

@keyframes blink{
    0%{opacity: 0;}
    100%{opacity: 1;}
}

@keyframes blinksize {
	0% {
		opacity: 0;
		transform: scale(0);
	}
	50% {
		transform: scale(1.2);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes logoanimation {
	0% {
		left: calc(50% - 40px);
	}
    100% {
		left: 0;
	}
}

@keyframes appear{
    0% {
		opacity: 0;
	}
    100% {
		opacity: 1;
	}
}

@keyframes landingArrow {
	0% {
		left: 3%;
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
    100% {
		left: 260px;
		opacity: 1;
	}
}

@keyframes landingCodeAni {
	0% {
		right: 32%;
	}
    100% {
		right: 0;
	}
}

@keyframes landingDocumentAni {
	0% {
		right: 32%;
	}
	20% {
		opacity: 1;
	}
    100% {
		right: 0;
		opacity: 1;
	}
}


.featureContainer {
    display: flex;
    align-items: flex-start;
    justify-content: center;
	padding: 0 16px 24px 16px;
	flex-wrap: wrap;
	gap: 10px;
}

.featureContainer .feature {
	width: 200px;
}

.productFeatureContainer {
	display: flex;
    align-items: flex-start;
    justify-content: center;
	padding: 0 16px 24px 16px;
	flex-wrap: wrap;
	gap: 60px 40px;
}

.productFeatureContainer .feature {
	width: 220px;
}


.featureHeader {
    display: flex;
    align-items: center;
	flex-direction: column;
}

.featureHeader h4 {
	color: #ffffff;
	font-size: 16px;
	line-height: 24px;
	font-weight: 800;
	margin: 8px 0;
}

.detailFeature {
	box-sizing: border-box;
	width: 100%;
	max-width: 356px;
	padding: 10px;
}

.featureIcon, .icon-bullet, .downloadIcon, .numberedListItem {
	width: 48px;
	height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 50%;
	background-color: #191919;
	color: #3CC4FF;
    transition: all 0.2s ease-in-out;
}

.listPlusFeature {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.downloadIcon:hover {
	background-color: rgba(25,25,25,0.8);
}

.downloadIcon {
	width: 36px;
	height: 36px;
	position: absolute;
	right: 20px;
	top: 20px;
	cursor: pointer;
}

.codeCopiedToClipboard {
	animation: blink 600ms ease-in-out;
}

.listItem {
    display: flex;
    align-items: flex-start;
	padding: 10px 0;
	gap: 5px;
}

.listItem .icon-bullet {
	width: 22px;
	height: 22px;
	background-color: #6CDF86;
	color: #000000;
	flex-shrink: 0;
}

.blog video {
	margin: 22px 0;
	cursor: pointer;
}

.productVideo video {
	width: 100%;
}

.productVideo video, .userGuide video, .screenShot img {
	padding-top: 24px;
	background-color: #000000;
	box-sizing: border-box;
	border: 1px solid #3B3B3B;
	border-top-right-radius: 8px;
	border-top-left-radius: 8px;
	background-image: url("../images/ellipse.png");
	background-position: 7px 8px;
	background-repeat: no-repeat;
	background-size: auto 8px;
	box-shadow: 0 0 10px 0 #000000;
}

.pricingTable .icon-bullet {
	width: 24px;
	height: 24px;
	color: #3B3B3B;
	background-color: #6CDF86;
	flex-shrink: 0;
	font-size: 24px;
}

.pricingTable .icon-x {
	font-size: 16px;
}

.numberedListItem {
	height: 22px;
	width: 22px;
	background-color: #FFB300;
	color: #000000;
	font-family: 'Fira Sans', sans-serif;
	flex-shrink: 0;
	font-size: 14px;
	font-weight: 800;
}

.versionIndicator, .textMarker {
	background-color: #FFB300;
	color: #000000;
	font-size: 14px;
	border-radius: 18px;
	padding: 0 8px;
	display: inline-block;
	margin-right: 6px;
}

.workflowContainer {
    padding: 10px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
	flex-wrap: wrap;
}

.workflowDescription {
	width: 100%;
	max-width: 356px;
}

.reportContainer {
    position: relative;
    height: calc(100vh - 70px);
    box-sizing: border-box;
    width: 100%;
	display: none;
}

.pageCount {
	text-align: right;
}

.pageLimitExceeded {
	color: #F33198;
}

.payableAmount {
	text-align: center;
	font-size: 22px;
}

.payableAmount .vatInfo {
	font-size: 16px;
}

.payableAmount .totalAmount {
	color: #6CDF86;
}

img.paymentMethod {
	width: 125px;
	padding: 3px;
	background-color: #f2f2f2;
}

.selectionOptions {
	display: flex;
	gap: 10px;
	flex-direction: column;
}

.selectionOption, .checkBox {
	cursor: pointer;
	display: flex;
	gap: 10px;
	color: rgba(255,255,255,0.4);
    transition: all 0.2s ease-in-out;
	font-size: 24px;
	padding: 5px;
}

.checkBox:hover {
	cursor: pointer;
}

.checkBox .checkBoxText {
	font-size: initial;
	color: #ffffff;
}

.selectionOption .icon-bullet,
.checkBox .icon-bullet {
	width: 20px;
	height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
	flex-shrink: 0;
	border-radius: 50%;
	color: rgba(255,255,255,0.4);
	background-color: #333333;
    transition: all 0.2s ease;
	border: 2px solid rgba(255,255,255,0.4);
}

.selectionOption .icon-bullet:before {
	opacity: 0;
	transition: all 0.2s ease-in-out;
}

.checkBox .icon-bullet:before {
	opacity: 0;
}

.selectionOption.selected .icon-bullet, .selectionOption:hover .icon-bullet,
.checkBox.selected .icon-bullet, .checkBox:hover .icon-bullet,
.checkBox:hover .error .icon-bullet, .checkBox.selected .error .icon-bullet  {
	background-color: #6CDF86;
	color: #ffffff;
	border-color: #6CDF86;
}

.selectionOption:hover .icon-bullet:before, .selectionOption.selected .icon-bullet:before,
.checkBox:hover .icon-bullet:before, .checkBox.selected .icon-bullet:before {
	opacity: 1;
}

.checkBox .error .icon-bullet {
	border-color: #F33198;
}

.selectionOption.selected {
	cursor: text;
	color: #ffffff;
}

.selectionOption:hover {
	color: #ffffff;
}

.licenseExpired, .licenseExpired a {
	color: #777777;
}

table {
	width: 100%;
	position: relative;
}

table thead tr th {
	font-weight: 800;
	padding: 10px 15px;
	position: sticky;
	top: 70px;
	background-color: #191919;
	z-index: 1;
}

tbody tr:nth-child(odd),
table.customTable tr.even /* API docs with flexible table rows */ {
	background-color: #3b3b3b;
}

tbody tr:nth-child(even),
table.customTable tr.odd /* API docs with flexible table rows */ {
	background-color: #292929;
}

table tr.highlight td {
	background-color: #191919;
	font-weight: 800;
	padding: 10px 15px;
}

table tr.version {
	background-color: #191919;
}

table tr.version td:first-child {
	padding-left: 30px;
}

.pricingTable tbody tr {
	background-color: #3B3B3B;
}
tbody td,tbody th {
	box-shadow: inset -2px 0 0 0 #191919;
	padding: 10px;
	vertical-align: top;
	position: relative;
}

.anchorHelper, .anchorHelperHeader, h2.focusHeadline.anchorHelper, h2.focusHeadline.anchorHelperHeader {
	margin-top: -50px;
	padding-top: 50px;
}
.anchorHelperHeader, h2.focusHeadline.anchorHelperHeader {
	margin-top: -60px;
	padding-top: 60px;
}

.keyboard {
	color: #ffffff;
	background-color: #000000;
	border-radius: 10px;
	height: 40px;
	width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	margin: 2px;
}

.keyboard.key {
	font-family: 'Fira Code', monospace;
	font-size: 12px;
}

.icon-arrow.up {
	 transform: rotate(180deg);
}

.icon-arrow.left {
	 transform: rotate(90deg);
}

.icon-arrow.right {
	 transform: rotate(270deg);
}

#cookie_info {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background-color: rgba(59,59,59,1);
    padding: 25px;
    color: #ffffff;
}

.cookieContainer {
    display: flex;
    align-items: center;
    justify-content: space-between;
	flex-wrap: wrap;
}

.cookieContainer .standardButton {
    font-size: 14px;
}

.cookieText {
    width: 100%;
    margin-bottom: 20px;
}

.cookieSettings {
    text-decoration: underline;
    margin-right: 40px;
    cursor: pointer;
}

#cookie_info a {color: #ffffff; text-decoration: underline; white-space: nowrap;}
#cookie_info a:hover, .cookieSettings:hover {text-decoration: none;}


/* Dialog */

.dialogContainer {
	min-width: 320px;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-color: rgba(0,0,0,0.85);
	z-index: 111;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}


.standardDialog {
	width: 100%;
    min-width: 320px;
	max-width: 740px;
	overflow: auto;
	box-sizing: content-box;
	z-index:2;
	background-color: #3B3B3B;
	height: auto;
	max-height: 100%;
}

.standardDialog.smallSizeDialog {max-width: 414px;}
.standardDialog.midSizeDialog {max-width: 1124px;}


.requestCodeDialog .dialogContent {height: calc(100vh - 200px);}
.requestCodeDialog pre, .requestCodeDialog code {max-height: calc(100vh - 240px);}


.standardDialog > div { padding: 20px; }

.standardDialog .buttonPane {margin-top: 0;}

.standardDialog table th, .standardDialog table td {
	box-shadow: none;
	position: relative;
	top: 0;
}

.titlePane {
	font-family: 'Titan One', cursive;
	font-size: 26px;
	color: #3CC4FF;
    display: flex;
    align-items: center;
    justify-content: space-between;
	padding-bottom: 20px;
}

.dialogClose {
    transition: all 0.2s ease-in-out;
	cursor: pointer;
}

.dialogClose:hover {
	color: #ffffff;
}

.buttonPane {
	margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
	gap: 22px;
}

.loadingIndicator {
	background-color: rgba(0,0,0,0.9);
    left: 0;
	top: 0;
    position: fixed;
    width: 100%;
	height: 100%;
	z-index: 9999;
    transition: all 0.3s ease;
	font-size: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
	color: #3CC4FF;
}

.loadingIndicator .icon-logo {
	animation: blink 800ms ease-in-out infinite alternate;
}

.frameworkAnimation {
	display: flex;
	justify-content: space-between;
	gap: 30px;
}

.animationLogoInitial {
	position: relative;
	left: calc(50% - 40px);
	animation: blinksize 900ms ease-in-out alternate, logoanimation 500ms ease-out 1s forwards;
}

.animationLogo {
	opacity: 0;
	animation: blink 500ms ease-in 1.2s forwards;
}


/*Custom Fullpage styling*/
#fp-nav ul li a.active span,
#fp-nav ul li:hover a span {
	border: 2px solid #F33198;
}

#fullpage .fp-section .sectionInnerContainer {padding-top: var(--primaryMenuHeight);}

#fp-nav.guideNavigation {display: none;}

#fp-nav.guideNavigation ul li .fp-tooltip {
	max-width: 600px;
	font-family: 'Fira Sans', sans-serif;
	top: -3px;
}

#fullpage img {
	max-height: 250px;
}

#fp-nav.guideNavigation ul li a.active span,
#fp-nav.guideNavigation ul li:hover a span {
	border-color: #3CC4FF;

}

#fp-nav.guideNavigation.fp-show-active .fp-tooltip {
	color: rgba(255,255,255,0.8);
}

html.fp-enabled, .fp-enabled body {
	overflow-x: hidden !important;
}

/* Syntax highlighting */

.hljs {
	padding: 0 !important;
}

.hljs-string {
	color: #FFB300 !important;
}

.hljs-selector-tag, .hljs-keyword, .hljs-literal {
	color: #6CDF86 !important;
}

.hljs-number, .hljs-built_in {
	color: #3CC4FF !important;
}

.hljs-selector-class, .hljs-attribute, .hljs-attr, .hljs-tag {
	color: #ffffff !important;
}

.hljs-meta {
	color: rgba(255,255,255,0.5) !important;
}

.hljs-title {
	color: #F33198 !important;
}
