@import url('https://fonts.googleapis.com/css2?family=Alegreya+Sans+SC:wght@700&family=Alegreya:ital,wght@0,600;0,900;1,700&family=Open+Sans:ital@0;1&display=swap');
:root {
  --blue: #566cd2;
  --purple-light: #b9b8f2;
  --darkgray: #707070;
  --blue-light: #C7EFF9;
  --orange: #F7B75D;
  --bs-btn-hover-bg: #ed8d6c;
  --bs-btn-hover-color: white;
}
body {
  color: #707070;
  font-size: 1.0em;
  line-height: 1.4;
  font-family: 'Open Sans', sans-serif;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

header {
  background: white;
  box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.16);
  padding: 15px 20px;
}
header div.row {
  display: flex;
  justify-content: space-between;
}
.logo img {
  width: clamp(300px, 25vw, 400px);
}
.slogan {
  font-family: 'Open Sans', sans-serif;
  font-weight: bold;
  text-align: center;
}
h1, h2, h3, h4, h5 {
  font-family: 'Alegreya', serif;
  color: var(--blue);
}
.beacon-text {
  font-family: 'Alegreya Sans SC', sans-serif;
  color: var(--blue);
  letter-spacing: 0.3em;
  text-align: center;
  font-size: clamp(28px, 3rem, 60px);
}
.introline {
  font-family: "Alegreya", serif;
  font-style: italic;
  color: var(--darkgray);
  font-size: clamp(36px, 10vw, 70px);
}
.heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
h1 {
  font-size: clamp(60px, 25vw, 130px);
  line-height: 0.9em;
  font-weight: 900;
  text-align: center;
}
.technology {
  font-family: 'Alegreya Sans SC', sans-serif;
  background: var(--blue);
  color: var(--blue-light);
  text-align: center;
}
.fullwidth {
  width: 100%;
}
.cta {
  display: inline-block;
  margin: 20px auto;
  line-height: 4rem;
  font-size: clamp(1.5rem, 2rem, 2.8rem);
  font-family: "Alegreya", serif;
  font-weight: 600;
  padding: 0.5rem 2rem;
  background-color: var(--orange);
  text-decoration: none;
  color: white;
  border-radius: 3.65rem;
  transition: background-color 1s;
}
.cta:hover {
  color: white;
  background-color: #ED8D6C;
  --bs-btn-bg: #ED8D6C;
}
#suffers {
  background-image: url("../img/hrt_clay.jpg"), linear-gradient(to bottom, var(--blue-light) ,var(--purple-light));
  background-blend-mode: overlay, darken;
}
#suffers img {
  mix-blend-mode: multiply;
}
#suffers .row {
  align-items: center;
}
#tech {
  background-image: url("../img/programming.jpg");
  background-blend-mode: normal;
  background-repeat: no-repeat;
  background-size: cover;
  font-size: clamp(21px, 5vw, 48px);
  padding: 1em;
  color: var(--blue-light);
  font-family: 'Alegreya Sans SC', sans-serif;
  font-weight: 700;
  text-align: center;
}
#services ul, #suffers ul {
  list-style: none;
  padding: 0 2em;
  margin: 0;
}
#services li, #suffers li {
  padding-left: 1rem;
  text-indent: -24px;
  margin-bottom: 0.5em;
}
#services li::before {
  content: "😊 ";
}
#suffers li::before {
  content: "😡️ ";
}
.modal-body {
  background: #DADEF5;
}
a {
  cursor: pointer;
}
#emailHelp {
  font-size: 0.7em;
  vertical-align: super;
}
.cls1 {
  fill: #FF7F00;
}
input::placeholder {
  color: var(--blue-light);
}
.branding-bottom { position: relative; }
.branding-bottom::after {
  content: url("../img/sunlogo.svg");
  width: 80px;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
}


/*==================================================
=                Mobile First Method               =
==================================================*/

/* Small devices (landscape phones, 576px and up) */
@media only screen and (min-width: 576px) {
  * {
    text-align: center;
  }
}

/* Medium devices (tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  * {
    text-align: start;
  }
  .logo, .slogan {
    width: 50%;
  }
  .slogan {
    display: flex;
    justify-content: end;
    align-items: center;
  }
  .introline {
    display: flex;
    justify-content: start;
    align-items: center;
  }
  .heading {
    padding-left: 2rem;
  }
  h2 {
    font-size: clamp(32px, 2.8em, 72px);
    margin-bottom: 0.7em;
  }
}

/* Large devices (desktops, 992px and up) */
@media only screen and (min-width: 992px) {
  body {
    font-size: 1.2em;
  }
  #suffers {
    background-image: url("../img/hrt_clay.jpg"), linear-gradient(to right, var(--blue-light) 0%, var(--blue-light) 50%, var(--purple-light) 50%,var(--purple-light) 100%);
    position: relative;
  }
  .slogan {
    justify-content: end;
  }
}

/* X-Large devices (large desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  .heading {
    align-items: start;
  }
  h1 {
    text-align: left;
  }
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media only screen and (min-width: 1400px) {

}

@media only screen and (min-width: 35em) {

}




/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}
.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}
.invisible {
  visibility: hidden;
}
.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

