@font-face {
  font-family: 'icomoon';
  src:  url('../themes/rfm/assets/fonts/icomoon.eot?ofx265');
  src:  url('../themes/rfm/assets/fonts/icomoon.eot?ofx265#iefix') format('embedded-opentype'),
    url('../themes/rfm/assets/fonts/icomoon.ttf?ofx265') format('truetype'),
    url('../themes/rfm/assets/fonts/icomoon.woff?ofx265') format('woff'),
    url('../themes/rfm/assets/fonts/icomoon.svg?ofx265#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-bars:before {
  content: "\e906";
}
.icon-ellipsis-v:before {
  content: "\e905";
}
.icon-pencil:before {
  content: "\e904";
}
.icon-trash:before {
  content: "\e903";
}
.icon-check:before {
  content: "\e902";
}
.icon-bicycle:before {
  content: "\e907";
}
.icon-gas-pump:before {
  content: "\e908";
}
.icon-money-sack:before {
  content: "\e909";
}
.icon-user:before {
  content: "\e90a";
}
.icon-close-solid:before {
  content: "\e900";
}
.icon-close:before {
  content: "\e901";
}

@charset "UTF-8";
html {
  font-size: 10px;
}
body {
  text-align: left;
  background-color: white;
  color: #646464;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  margin: 0;
}
* {
  box-sizing: border-box;
}
section, h1, h2, h3, p, div, table {
  position: relative;
}
p, li {
  font: normal normal normal 1.4rem/2rem Roboto;
}
a {
  text-decoration: none;
  color: #24286C;
}
.wrapper {
  padding-top: 4.2rem;
}
section {
  padding: 4rem 3rem;
}
section .content {
  max-width: 1200px;
  margin: 0 auto;
}
section h1, section h2 {
  font: normal normal bold 3rem/3.6rem Poppins;
  color: #24286C;
  margin: 0;
}
section h3, section p.sub {
  font: normal normal bold 2rem/2.6rem Roboto;
  color: #ffa500;
}
section p.sub {
  margin: 0;
}
section h3 {
  margin: 3rem 0 0;
}
section p {
  margin-bottom: 0;
}
section p.sub + p {
  margin-top: 3rem;
}
section p.subsub {
  color: #24286C;
  margin: 0 0 2rem;
  font-weight: bold;
}
body > p.flash-message button.close {
  top: 0 !important;
}
@media (max-width: 600px) {
  section {
    padding: 3rem 2rem;
  }
  section h1, section h2 {
    font: normal normal bold 2rem/2.4rem Poppins;
    color: #24286C;
    margin: 0;
  }
  html {
    font-size: 2.666vw;
  }
}
header nav {
  position: fixed;
  z-index: 2;
  width: 100%;
  text-align: right;
  background: #ffa500;
  margin: 0;
  display: flex;
  justify-content: flex-end;
}
header nav ul {
  list-style: none;
  display: flex;
  padding: 0 3rem 0 0;
  width: 60%;
  height: 42px;
  min-width: 650px;
  max-width: 900px;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}
header nav ul li a {
  font: normal normal 500 14px/20px Poppins;
  color: #24286C;
}
header img {
  width: 100%;
  transform: scaleX(-1);
  margin-bottom: -7rem;
  margin-top: 4rem;
}
@media (max-width: 768px) {
  header nav ul {
    min-width: unset;
  }
  header nav ul li {
    display: none;
  }
  header nav ul li:first-child, header nav ul li:last-child {
    display: unset;
  }
  header img {
    margin: 0 0 -2rem;
  }
}
footer img {
  width: 100%;
  margin-bottom: -1px;
}
footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
footer ul a {
  color: white;
}
footer .content {
  background: #ffa500;
  padding: 3rem;
  margin-top: -3px;
  min-height: 25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .content .wrapper {
  display: flex;
  width: 100%;
  max-width: 1600px;
  color: white;
}
footer .content .wrapper h2 {
  font: normal normal bold 1.7rem/1.9rem Poppins;
  margin: 0 0 1.2rem;
  color: white;
}
footer .content .wrapper p {
  font: normal normal normal 1.3rem/1.7rem Roboto;
}
footer .content .wrapper nav {
  margin-left: 5rem;
}
footer .content .wrapper nav li {
  font: normal normal normal 1.3rem/2.3rem Poppins;
  letter-spacing: -0.03rem;
}
footer nav.legal {
  background: #ffa500;
  padding: 0 3rem;
  margin-top: -3px;
}
footer nav.legal .wrapper {
  display: flex;
  justify-content: space-between;
  max-width: 1600px;
  flex-wrap: wrap;
  padding: 0;
}
footer nav.legal ul {
  display: flex;
  height: 3.3rem;
  justify-content: flex-start;
  align-items: center;
}
footer nav.legal ul li {
  display: flex;
  font: normal normal normal 1.2rem/1.9rem Poppins;
}
footer nav.legal ul li.darker {
  color: #24286C;
}
footer nav.legal ul li.darker a {
  color: #24286C;
  margin-left: 1rem;
}
footer nav.legal ul a {
  margin-right: 3rem;
  font: normal normal normal 1.2rem/1.9rem Poppins;
  letter-spacing: 0.025rem;
  color: #24286C;
}
@media (max-width: 992px) {
  footer .content .wrapper {
    flex-wrap: wrap;
  }
  footer .content .wrapper nav {
    margin: 3rem 3rem 0 0;
    width: calc(50% - 3rem);
  }
  footer .content .address {
    width: 100%;
  }
}
@media (max-width: 700px) {
  footer .content .wrapper nav {
    width: 100%;
  }
  footer nav.legal {
    padding: 0.3rem 2rem;
  }
  footer nav.legal ul {
    height: 2.5rem;
  }
}
.twoCols {
  display: flex;
  grid-column-gap: 2rem;
}
.twoCols img {
  width: 40vw;
  max-width: 530px;
  object-fit: contain;
}
.twoCols .left {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.twoCols .left h3 {
  margin-top: 3rem;
}
@media (max-width: 768px) {
  .twoCols {
    flex-direction: column-reverse;
  }
  .twoCols img {
    width: 80%;
    margin: 0 auto;
  }
}
button, .button {
  display: inline-block;
  align-items: center;
  border: none;
  background: #ffa500;
  color: #24286C;
  border-radius: 1.9rem;
  padding: 1rem 3rem 0.8rem;
  height: 3.8rem;
  cursor: pointer;
}
button:hover, .button:hover {
  background: #ffcb73;
}
button.dark, .button.dark {
  background: #24286C;
  color: white;
}
button.dark:hover, .button.dark:hover {
  background: #345db8;
}
.dialog {
  position: fixed;
  z-index: 20;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}
.dialog .content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  background-color: #438CFC;
  max-width: 480px;
  border-radius: 1.2rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  max-height: 100%;
  overflow: hidden;
  padding: 3rem 4.8rem;
}
.dialog .content:hover {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}
.dialog .content .header h2 {
  margin: 0;
  font-size: 3rem;
  line-height: 3.6rem;
  color: white;
  padding: 0 2rem 1.6rem;
  text-align: center;
  font-weight: 600;
}
.dialog .content .header a {
  position: absolute;
  right: -5rem;
  color: white;
  font-size: 4rem;
  top: -1rem;
  cursor: pointer;
  z-index: 4;
}
.dialog .content .header a:hover i.icon-close:before {
  content: "";
}
.dialog .content .body {
  max-height: 70vh;
  overflow: auto;
}
.dialog .content .body p {
  text-align: center;
  color: white;
}
.dialog .content .body .input p {
  color: #4f0202;
}
.dialog .content .footer {
  padding-top: 2rem;
}
.dialog .content .footer button {
  width: 100%;
}
@media (max-width: 600px) {
  .dialog .content {
    width: 95%;
    padding: 3rem 2rem !important;
  }
  .dialog .content .header h2 {
    font-size: 2.6rem;
    line-height: 2.6rem;
  }
  .dialog .content .header a {
    font-size: 3rem;
    right: -1rem !important;
  }
  .dialog .content .header i {
    top: -1rem;
  }
}
.dialog.applyCompany .content, .dialog.signup .content, .dialog.resetPass .content {
  max-width: 580px;
  padding: 3rem 8rem;
}
.dialog.login .content {
  max-width: 450px;
  padding: 3rem 7rem;
}
.dialog.login .content hr {
  margin: 2rem 0;
}
.dialog.newsletter .content {
  max-width: 700px;
  padding: 3rem 6rem;
}
.dialog.newsletter .content .header a {
  right: -3rem;
}
.dialog.newsletter .content iframe {
  border: none;
  width: 100%;
  height: 480px;
  overflow: hidden;
}
.input {
  margin-bottom: 2rem;
}
.input input {
  width: 100%;
  padding: 0.5rem 2rem;
  border-radius: 2.1rem;
  height: 4.2rem;
  border: none;
}
.input input:focus {
  outline: 0;
}
.input input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.input input[type=checkbox]:checked ~ .checkmark:after {
  display: block;
}
.input.withLabel label {
  display: block;
  color: white;
  font: normal normal normal 1.4rem/2rem Roboto;
  margin-bottom: 0.3rem;
}
.input p[data-validate-for] {
  color: #d70000;
  text-align: center;
  font-weight: 400;
  margin: 0.5rem 0;
  font-size: 1.4rem;
  line-height: 2rem;
}
.input.checkbox label {
  display: block;
  position: relative;
  padding-left: 32px;
  cursor: pointer;
  color: white;
}
.input.checkbox label a {
  text-decoration: underline;
}
.input.checkbox .checkmark {
  position: absolute;
  height: 20px;
  width: 20px;
  left: 0;
  top: 0;
  background-color: white;
  border: none;
}
.input.checkbox .checkmark:after {
  position: absolute;
  content: "";
  font-family: "icomoon";
  display: none;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: black;
  font-size: 15px;
  font-weight: bold;
}
section.hero {
  position: relative;
  padding: 0;
  max-width: unset;
  margin: unset;
  overflow: hidden;
  height: 48vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.hero picture img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.hero .content {
  max-width: 1240px;
  width: 90%;
  color: white;
}
section.hero .content h1 {
  font: normal normal 900 5vw / 4vw Poppins;
}
section.hero .content p {
  font: normal normal 900 2vw / 2vw Poppins;
  color: #24286C;
  margin-top: 1vw;
}
@media (min-width: 1920px) {
  section.hero {
    max-height: 768px;
  }
}
section.intro h1 {
  font: normal normal bold 6.8rem/6.6rem Poppins;
  color: #24286C;
  margin: 0;
}
section.intro h2 {
  font: normal normal bold 3rem/3.6rem Poppins;
  margin: 0;
}
section.intro p.date {
  font: normal normal bold 4rem/4rem Poppins;
  color: #24286C;
  margin: 2rem 0;
}
section.intro p.sub {
  font: normal normal bold 2rem/2.6rem Roboto;
  color: #438CFC;
}
@media (max-width: 600px) {
  section.intro h1 {
    font: normal normal bold 4rem/4rem Poppins;
  }
  section.intro h2 {
    font: normal normal bold 2rem/2.4rem Poppins;
  }
  section.intro p.date {
    font: normal normal bold 2.4rem/2.4rem Poppins;
  }
}
section.countdown {
  background: #ffcb73;
}
section.countdown .content {
  text-align: center;
}
section.countdown .content .cdwrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  margin: 2rem auto 0;
}
section.countdown .content .cdwrapper div {
  background: white;
  padding: 1.4rem 0;
  border-radius: 2.2rem;
  width: 12rem;
}
section.countdown .content .cdwrapper div p {
  font: normal normal bold 5.7rem/5.7rem Poppins;
  color: #151515;
  margin: 0;
}
section.countdown .content .cdwrapper div small {
  font: normal normal normal 1.6rem/2.2rem Roboto;
}
section.newsletter {
  background: #ffcb73;
}
section.newsletter .content {
  text-align: center;
}
section.newsletter .content h2 {
  color: #24286C;
}
section.newsletter .content p {
  margin-bottom: 0;
}
section.competition {
  background: #ffcb73;
}
section.competition .content h2, section.competition .content p {
  color: #24286C;
}
section.competition .content img {
  max-width: 300px;
}
@media (max-width: 768px) {
  section.competition .twoCols {
    flex-direction: column;
  }
}
section.ranking, section.ranking2 {
  padding: 0;
}
section.ranking .banner, section.ranking2 .banner {
  background-color: #ffcb73;
}
section.ranking .banner .content, section.ranking2 .banner .content {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 3rem 0;
}
section.ranking .banner .content div, section.ranking2 .banner .content div {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 3rem;
}
section.ranking .banner .content div:not(:last-child), section.ranking2 .banner .content div:not(:last-child) {
  border-right: 1px solid #eee;
}
section.ranking .banner .content div h3, section.ranking .banner .content div p, section.ranking .banner .content div i, section.ranking2 .banner .content div h3, section.ranking2 .banner .content div p, section.ranking2 .banner .content div i {
  color: #24286C;
}
section.ranking .banner .content div i, section.ranking2 .banner .content div i {
  font-size: 5rem;
}
section.ranking .banner .content div p, section.ranking2 .banner .content div p {
  font-size: 2rem;
  font-weight: 600;
  margin: 0.8rem 0;
}
section.ranking .banner .content div h3, section.ranking2 .banner .content div h3 {
  margin: 0;
  font-size: 5rem;
  line-height: 5rem;
}
@media (max-width: 900px) {
  section.ranking .banner .content, section.ranking2 .banner .content {
    grid-template-columns: 1fr;
  }
  section.ranking .banner .content div, section.ranking2 .banner .content div {
    border-right: none;
  }
}
section.ranking .list, section.ranking2 .list {
  padding: 0 3rem;
}
section.ranking .list .content, section.ranking2 .list .content {
  padding: 6rem 0;
}
section.ranking .list .content .item h3, section.ranking2 .list .content .item h3 {
  color: #24286c;
  font: normal normal bold 2rem / 2.6rem Roboto;
}
section.ranking .list .content .item .bar, section.ranking2 .list .content .item .bar {
  width: 100%;
  background-color: red;
  height: 2rem;
}
section.ranking .list .content .item p, section.ranking2 .list .content .item p {
  margin-top: 0.5rem;
}
section.ranking .list .content .item p i, section.ranking2 .list .content .item p i {
  margin: 0 1rem;
  font-style: normal;
}
section.ranking .list .content .item span, section.ranking2 .list .content .item span {
  color: #438CFC;
}
@media (max-width: 600px) {
  section.ranking .list .content div i, section.ranking2 .list .content div i {
    display: block;
    height: 1px;
    opacity: 0;
  }
}
section.ranking2 .banner {
  background-color: #ffcb73;
}
section.ranking2 .banner .content {
  grid-template-columns: 1fr 1fr;
  padding: 3rem 0;
}
section.ranking2 .banner .content div:first-of-type {
  align-items: flex-start;
  padding-left: 0;
}
section.ranking2 .banner .content div:first-of-type h2 {
  color: #24286C;
}
section.ranking2 .banner .content div:first-of-type p {
  font: normal normal normal 1.4rem / 2rem Roboto;
}
section.ranking2 .banner .content div:first-of-type p.sub {
  font-weight: bold;
}
section.faq h2, section.faq p.sub, section.faq .content > p {
  text-align: center;
}
section.faq .list {
  margin-top: 4rem;
  padding-top: 1px;
  border-top: 1px solid #307FE9;
}
section.faq .qna {
  border-bottom: 1px solid #307FE9;
}
section.faq .qna h4, section.faq .qna p, section.faq .qna ul {
  text-align: left;
  max-width: 970px;
  margin: 1rem auto;
  padding-left: 4rem;
}
section.faq .qna ul {
  padding-left: 4rem;
  font-size: 1.4rem;
}
section.faq .qna h4 {
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: normal;
  position: relative;
  margin: 1.9rem auto;
}
section.faq .qna h4:before {
  position: absolute;
  content: "+";
  left: 1.2rem;
  top: -0.2rem;
  transition: transform 0.5s;
  font-size: 2.7rem;
  line-height: 1.7rem;
  color: #438CFC;
}
section.faq .qna p, section.faq .qna ul {
  opacity: 0;
  margin: 0;
  height: 0px;
  transition: none;
}
section.faq .qna.open h4:before {
  transform: rotate(45deg);
}
section.faq .qna.open p, section.faq .qna.open ul {
  height: auto;
  opacity: 1;
  margin: 1rem auto;
  transition: opacity 1s ease-in-out;
}
section.donate {
  background: #ffcb73;
}
section.donate .content h2, section.donate .content p {
  color: #24286C;
}
section.learnMore {
  padding: 8rem 3rem;
}
section.how ul {
  list-style: none;
  padding-left: 2rem;
  margin-top: 3.6rem;
}
section.how ul li {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
section.how ul li p {
  font: normal normal bold 2rem/2.6rem Roboto;
  color: #ffa500;
  margin: 0;
}
section.how ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  font: normal normal bold 3rem/3rem Poppins;
  background: #ffa500;
  color: white;
  width: 5.8rem;
  min-width: 5.8rem;
  height: 5.8rem;
  border-radius: 2.9rem;
  margin-right: 2rem;
}
@media (max-width: 600px) {
  section.how ul {
    padding: 0;
  }
  section.how ul li p {
    font: normal normal bold 1.8rem/2.3rem Roboto;
  }
}
section.banner {
  background: #ffcb73;
}
section.banner .content {
  text-align: center;
}
section.banner .content h2 {
  color: #24286C;
}
section.benefits h3 {
  margin-top: 2rem;
}
section.benefits img {
  transform: scaleX(-1);
}
.contact header img {
  margin-bottom: 0;
}
.contact section.main {
  background: #ffcb73;
}
.contact section.main .content h2, .contact section.main .content p {
  color: #24286C;
}
.imprint header img {
  margin-bottom: 0;
}
.imprint section.main {
  background: #E0EAF9;
}
.imprint section.main .content h2, .imprint section.main .content p {
  color: #24286C;
}
.privacy header img {
  margin-bottom: 0;
}
.privacy section.main {
  background: #E0EAF9;
}
.privacy section.main .content h2, .privacy section.main .content p {
  color: #24286C;
}
