* {
  margin: 0;
}

body {
  font-family: 'Barlow', sans-serif;
  font-size: 20px;
  background-color: #091723;
  color: #fff;
}


/* Text highlight selection */
::-moz-selection { /* Code for Firefox */
  background-color: #186aff;
  color: #fff;
}

::selection {
  background-color: #186aff;
  color: #fff;
}

header {
  background-color: #072127;
  margin: auto;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1;
}

section {
  margin: 4rem auto;
  padding: 1rem;
}

@media screen and (max-width: 600px) {
  section {
    max-width: 500px;
    margin: 4rem auto;
  }
}

@media screen and (max-width: 600px) {
  section {
    max-width: 500px;
    margin: 4rem auto;
  }
}

footer {
  text-align: center;
  padding: 2rem 0;
  background-color: #072127;
  color: #FFF;

}

/* Add a black background color to the top navigation */
.topnav {
  overflow: hidden;
  background-color: #072127;
  max-width: 1280px !important;
  margin: auto;
}

/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  display: block;
  color: #fff;
  text-align: center;
  padding: 8px 12px;
  text-decoration: none;
  font-size: 19px;
  margin: 14px;
}

/* Add an active class to highlight the current page */
.logo {
  font-weight: 900;
}

.navbarCTA {
  float: right !important;
  background-color: #186aff;
  color: #fff !important;
  border-radius: 4px;
  font-weight: 400;
  margin-right: 10px !important;
}

.navbarCTA:hover {
  color: #fff;
  background-color: #04a !important;
}

@media screen and (max-width: 600px) {
  .navbarCTA {
    float: left !important;
    margin-left: 10px !important;
    padding: 15px 30px !important;
}
}

/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
}

/* Dropdown container - needed to position the dropdown content */
.dropdown {
  float: left;
  overflow: hidden;
}

/* Style the dropdown button to fit inside the topnav */
.dropdown .dropbtn {
  font-size: 17px;
  border: none;
  outline: none;
  color: #fff;
  padding: 8px 12px;
  background-color: inherit;
  font-family: inherit;
  margin-top: 14px;
  font-size: 19px !important;
}

/* Style the dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #072127;
  min-width: 160px;
  z-index: 1;
  border-radius: 0 0 4px 4px;
  padding: 8px;
}

/* Style the links inside the dropdown */
.dropdown-content a {
  float: none;
  color: #fff;
  padding: 4px 8px;
  text-decoration: none;
  display: block;
  text-align: left;
  margin: 8px;
  padding: 8px 12px;
}

/* Add a dark background on topnav links and the dropdown button on hover */
.topnav a:hover, .dropdown:hover .dropbtn {
  background-color: #f2f6f7;
  color: #000;
  border-radius: 4px;
}

.logo:hover {
  background-color: #043540 !important;
  color: #186aff !important;
  border-radius: 4px;;
}

/* Add a grey background to dropdown links on hover */
.dropdown-content a:hover {
  background-color: #f2f6f7;
  color: #000;
  border-radius: 4px;
}

/* Show the dropdown menu when the user moves the mouse over the dropdown button */
.dropdown:hover .dropdown-content {
  display: block;
}

/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child), .dropdown .dropbtn {
    display: none;
  }
  .topnav a.icon {
    float: right;
    display: block;
    font-size: 22px !important;
  }
  .active {
  color: white;
  font-size: 22px !important;
  }
  .dropdown .dropbtn {
    margin: 0 10px 0 14px;
  }
  .logo {
    font-size: 22px !important;
    -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
  }
}

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
  .topnav.responsive {
    position: relative;
    border-bottom: 6px dashed #f3f3f3;
    border-radius: 0px;
    padding-bottom: 10px;
  }
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 22px !important;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
    font-size: 22px !important;
    margin-bottom: 20px;
  }
  .active a {
    font-size: 22px !important;
  }
  .topnav.responsive .dropdown {float: none;}
  .topnav.responsive .dropdown-content {position: relative;}
  .topnav.responsive .dropdown .dropbtn {
    display: block;
    width: 93%;
    text-align: left;
    font-size: 22px !important;
    margin-bottom: 20px;
  }

  .icon {
    background-color: #043540;
    border-radius: 4px;
  }
}

.promo-banner, .promo-banner a {
  text-align: center;
  background-color: #fff;
  color: #000;
  text-decoration: none;
}

.promo-banner a:hover {
  text-decoration: underline;
}

/* HOMEPAGE */
/* Homepage Hero div */

.homepage-hero {
  text-align: center;
  padding: 6rem 0 3rem 0;
  max-width: 1200px;
  margin: auto;
}

.btn-container {
  max-width: 650px;
  background-color: #1a1a1a;
  border-radius: 5px;
  padding: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;
}

.btn-left-column {
  flex: 1;
}

.btn-left-column h2 {
  float: left;
}

.btn-right-column {
  flex: 1;
  text-align: right;
}

@media (max-width: 768px) {
  .btn-container {
      flex-direction: column;
      text-align: center;
      padding: 2rem 0;
  }

  .btn-left-column, .btn-right-column {
      flex: none;
      padding-bottom: 10px;
  }
  .btn-left-column h2 {
    padding-bottom: 30px;
  }
}

h2 {
  color: #fff;
}

.hero-cta {
  background-color: #f4f2f2;
  color: #000;
  padding: 15px 20px;
  border-radius: 4px;
  text-decoration: none;
}

.hero-h1 {
  font-weight: bold !important;
  max-width: 1300px;
  font-size: 65px;
  margin: auto;
  padding-bottom: 2rem;
  text-align: center;
}

.hero-h1 a {
  font-weight: bold !important;
  color: #fff;
  border-bottom: 6px dashed #777;
  text-decoration: none;
}

.hero-h1 a:hover {
  border-bottom: 6px dashed #186aff;
  color: #186aff;
}

.hero-p {
  font-size: 60px;
  max-width: 800px;
  margin: auto;
  text-align: center;
}

@media screen and (max-width: 600px) {
  .hero-h1 {
    font-size: 40px;
    max-width: 430px;
  }
  .homepage-hero {
    padding: 1rem 0 0 0;
  }
  .hero-h1 a {
    font-size: 37px;
  }
  .hero-cta {
    font-size: 18px;
  }
  .hero-p {
    max-width: 430px;
  }
}

#hero-cta-right {
  background-color: #186aff;
  color: #fff;
  margin-left: 10px;
}

#hero-cta-right:hover {
  color: #fff;
  background-color: #04a !important;
}

.hero-cta:hover {
  background-color: #04a;
  color: #fff;
}

h1 {
  font-size: 70px;
}

.hero-emoji {
  font-size: 80px;
}

@media screen and (max-width: 600px) {
  h1 {
    font-size: 50px;
  } 
}

.homepage-container {
  background-color: #043540;
  margin: 1rem auto;
  padding: 2rem;
  border-radius: 20px;
  max-width: 1200px;
}

@media screen and (max-width: 600px) {
  .homepage-container {
    padding: 1em;
    margin: 1em auto;
  }
  .homepage-hero {
    margin: 2rem 0 0 0;
  }
}

.services-btn {
  padding: 15px 20px;
  color: #fff;
  background: #186aff;
  border: none;
  border-radius: 4px;
  font-size: 17px;
}

.services-btn:hover {
  cursor: pointer;
  background: #a855f7;
}

.index-cta {
  background-color: #a855f7;
  text-align: center;
  padding: 40px 0;
  color: #1a1a1a;
  max-width: 1280px;
  border-radius: 4px;
}

.section-columns {
  background: #043540;
  padding: 5rem 2rem 0.5rem 2rem;
}

/* Two column sections */
.container-two-column {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: #091723;
  padding: 80px 40px;
  max-width: 1200px;
  margin: auto;
  margin-bottom: 5rem;
}

.left-column,
.right-column {
  flex: 1;
}

.left-column {
  padding: 20px;
}

.right-column {
  text-align: center;
}

.right-column img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 15px;
}

@media (max-width: 768px) {
  .container-two-column {
    flex-direction: column;
    padding: 5px;
  }
  .right-column {
    padding: 20px;
  }
  .section-columns {
    padding: 20px;
  }
}

/* Horizontal scroll menu */
.section-cta {
  background-color: #186aff;
  padding: 6rem 2rem;
  margin: auto;
}

@media (max-width: 768px) {
  .section-cta {
    padding: 1rem;
  }
}

.scroller {
  padding: 3rem 0;
  border-radius: 20px;
  max-width: 1200px;
  margin: auto;
}

div.scrollmenu {
  overflow: auto;
  white-space: nowrap;
}

div.scrollmenu a {
  display: inline-block;
  color: #000;
  background-color: #fff;
  text-align: center;
  margin-right: 10px;
  margin-bottom: 15px;
  padding: 20px;
  text-decoration: none;
  border-radius: 4px;
}

div.scrollmenu a:hover {
  background-color: #04a;
  color: #fff;
}

::-webkit-scrollbar {
  -webkit-appearance: none;
  height: 15px;
  width: 0px;
  background-color: #fff;
}

::-webkit-scrollbar-thumb {
  border-radius: 0px;
  background-color: #04a;
}

.tbc-note {
  background-color: black;
  color: white;
  padding: 4px 8px;
  text-align: center;
  font-size: 15px;
  border-radius: 5px;
}

/* SECTION */
/* CONTACT FORM */
.columns {
  float: left;
  width: 50%;
}

/* Clear floats after the columns */
.rows:after {
  content: "";
  display: table;
  clear: both;
}

/* Dashed border */
hr.dashed {
  border-bottom: 6px dashed #f3f3f3;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  background-color: #252525;
  max-width: 60%;
}

/* Responsive layout - when the screen is less than 600px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .columns {
    width: 100%;
    margin-bottom: 2rem;
  }
  hr.dashed {
    border-bottom: 6px dashed #f3f3f3;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    background-color: #043540;
    max-width: 90%;
    margin: auto;
  }
}


/* Style inputs with type="text", select elements and textareas */
input[type=text], input[type=phone], input[type=email], select, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  background-color: #f8f8f8;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 16px;
  resize: vertical;
  border-radius: 4px;
}

/* Style the submit button with a specific background color etc */
input[type=submit] {
  background-color: #186aff;;
  color: #fff;
  font-size: 18px;
  padding: 15px 50px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* When moving the mouse over the submit button, add a darker green color */
input[type=submit]:hover {
  background-color: #04a;
  color: #fff;
}

/* Add a background color and some padding around the form */
.container {
  border-radius: 4px;
  background-color: #043540;
}

.contact-link {
  color: #fff;
  text-decoration: none;
}

.contact-link:hover {
  color: #5e84f1!important;
  text-decoration: underline !important;
}

@media screen and (max-width: 600px) {
  input[type=submit] {
    width: 100%;
  }
}


/* SECTION */
/* PORTFOLIO SECTION */
.portfolio-cta {
  background-color: #186aff;;
  color: #fff;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 4px;
}

.portfolio-cta:hover {
  background-color: #04a;
  color: #fff;
}

/* SECTION */
/* PAGE - WEBSITE DEVELOPMENT */
.flex-container {
  display: flex;
  justify-content: center;
  border-radius: 20px;
  max-width: 1280px;
  margin: auto;
  padding: 0 1rem;
  gap: 10px;
}

.flex-container > div {
  padding: 30px;
  font-size: 20px;
  border-radius: 20px;
  background-color: #043540 !important;
}

/* Responsive layout - makes a one column layout instead of a two-column layout */
@media (max-width: 600px) {
  .flex-container {
    flex-direction: column;
    padding: 0;
    margin: 0;
  }
}

.flex-emoji {
  font-size: 50px;
  margin-bottom: 10px;
  padding: 15px;
  border-radius: 10px;
  border: 5px dashed #f3f3f3;
}

div.gallery {
  border: 1px solid #ccc;
  border-radius: 4px;
}

div.gallery:hover {
  border: 1px solid #777;
}

div.gallery img {
  width: 100%;
  height: auto;
}

div.desc {
  padding: 15px;
  text-align: center;
}

/* TEXT GRADIENTS */
.web-development-gradient {
  background: -webkit-linear-gradient( #5e84f1, #a855f7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (max-width: 600px) {
  .web-development-gradient {
    max-width: 350px;
    margin: auto;
  }
}

/* Tags for news articles */
.tag-cloud {
  display: inline-block;
  color: black;
  font-size: 14px;
  padding: 5px 15px;
  border-radius: 4px;
  background-color: #fff;
  margin: 0 0 20px 0;
}

.tag-cloud:hover {
  cursor: pointer;
  background-color: #bbb;
}

/* ABOUT SECTION */
/* Hero image */
.responsive {
  width: 50%;
  height: auto;
  border-radius: 10px;
}

@media (max-width: 600px) {
  .responsive {
    width: 100%;
  }
}

.download-btn {
  background-color: #a855f7;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 15px 20px;
  cursor: pointer;
  font-size: 19px;
}

/* SECTION */
/* ABOUT PAGE */
.about-p {
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
  width: 700px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 600px) {
  .about-p {
    max-width: 350px;
  }
}

/* Table section */
table {
  border-collapse: collapse;
  width: 100%;
  background-color: #252525;
  border-radius: 4px;
}

th, td {
  text-align: left;
  padding: 20px;
  margin: 10px;
}

th {
  text-decoration: underline;
  font-size: 25px;
}

/* SECTION */
/* BLOG ARTICLE */
article {
  max-width: 800px;
  margin: auto;
  text-align: left;
}

.blog-content {
  max-width: 800px;
  margin: auto;
  text-align: center;
  margin: 2rem 0 5rem 0;
}

.newsletter-container {
  background-color: #252525;
}

.inner-image {
  margin: 2rem 0 0 0;
  width: 100%;
  border-radius: 10px;
}

.image-title {
  padding-top: 5px;
  margin-bottom: 2rem;
  font-size: 17px;
  text-align: center;
  color: #777;
}

.scrollTopBtn{
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  font-size: 14px;
  border: none;
  border-radius: 4px;
  outline: none;
  padding: 10px 15px;
  color: white;
  background-color: #555;
  cursor: pointer;
  max-width: 800px;
}

.scrollTopBtn:hover {
  background-color: #444;;
}

/* ACCORDIAN */
/* Style the buttons that are used to open and close the accordion panel */
.accordion-container {
  background-color: #1a1a1a;
  padding: 40px;
  margin: auto;
  border-radius: 20px;
  max-width: 1200px;
}

.accordion {
  margin: 20px auto;
}

.accordion-item {
  margin: 12px 0;
}

.accordion-header:hover {
  background-color: #444;
}

.accordion-header {
  background-color: #333;
  padding: 10px;
  cursor: pointer;
  border-radius: 4px;
}

.accordion-content {
  display: none;
  padding: 20px;
  border-bottom: #444 dashed 3px;
  border-left: #444 dashed 3px;
  border-right: #444 dashed 3px;
  border-radius: 0 0 6px 6px;
  margin-bottom: 20px;
}

.accordion-content.show {
  display: block;
}


@media screen and (max-width: 600px) {
  .accordion-container {
    padding: 20px;
    margin-top: 20px;
  }
}

.product-page-hero-container-two-column {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: #091723;
  padding: 8rem 1rem;
  max-width: 1200px;
  margin: auto;
}

@media (max-width: 768px) {
  .product-page-hero-container-two-column {
    flex-direction: column;
    padding: 4rem 0 0 0;
    margin-top: 1rem;
  }
  .right-column {
    padding: 20px;
  }
  .section-columns {
    padding: 20px;
  }
  .product-page-intro-h2, .product-page-intro-p {
    padding: 0 1rem;
  }
}

.product-page-hero {
  padding: 1rem 0;
  margin: 1rem 0;
  margin: auto;
  background-color: #091723;
}

.product-page-intro {
  padding: 3rem 0 0 0;
  margin: 1rem 0;
  max-width: 1000px;
  margin: auto;
  text-align: center;
}

.product-page-intro-h2 {
  font-size: 40px;
}

/* Scroll down animation keyframes */
@keyframes floatAnimation {
  0% {
      transform: translateY(0);
  }
  50% {
      transform: translateY(15px);
  }
  100% {
      transform: translateY(0);
  }
}

.scroll-down-p {
  color: #999;
  animation: floatAnimation 2.5s infinite;
}