*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

body {
  margin: 0;
  overflow-x: hidden;
}

.page-center {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.justify-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.grid {
    display: -ms-grid;
    display: grid;
}

.items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/** Background **/
.bg-dark { background-color: var(--bg-dark); }
.bg-primary { background-color: var(--bg-primary) }

/** Divider **/
.divider {
    width: 100%;
    height: 1px;
    background-color: var(--verylight);
    margin: 50px 0;
}
.divider.dark {
  background-color: rgba(52, 52, 52, 0.25);
}

.hidden {
  display: none;
}

@media screen and (max-width: 768px) {
    .divider {
    margin: 30px 0;
}
}
:root {
    --head: 'Fraunces', serif;
    --text: muli, sans-serif;

    --primary: #FA6000;
    --primary-light: #FEE7D9;
    --secondary: #FEA724;
    --contrast: #000F41;
    --light-contrast: #333F67;

    --white: #FFFFFF;
    --lightgrey: #F4F4F4;
    --verylight: rgba(164, 174, 198, .2);
    --darkgrey: #1C1C1C;
    --mediumgrey: #b5b5b5;
    --black: #000000;
  
    --warning: #dd0000;

    --glass-bg: rgba(255,255,255,.14);
    --glass-bd: rgba(255,255,255,.35);
    --glass-glow: rgba(255,255,255,.45);
    --glass-shadow: 0 10px 30px rgba(0,0,0,.25);
  
  /** Portfolio **/
  --pf-base-bg: #E0EAEC;
  
  /* Border Radius */
  --br-xl: 80px;
  --br-lrg: 40px;
  --br-med: 25px;
  --br-sml: 10px;
  }
  
}
button,
a {
    display: inline-block;
    border: none;
    margin: 0;
    text-decoration: none;
    background: transparent;
    font-family: var(--head);
    font-size: 22px;
  font-weight: 600;
    line-height: 24px;
    cursor: pointer;
    text-align: center;
    transition: background 250ms ease-in-out, transform 150ms ease;
    -webkit-appearance: none;
    -moz-appearance: none;
}

a.primary, button.dark {
    color: var(--primary);
}

a.light, button.light {
    color: var(--white);
}

button img {
    margin-right: 20px;
}

button:hover,
button:focus {
    /* background: #0053ba; */
}

button:focus {
    /* outline: 1px solid #fff;
    outline-offset: -4px; */
}

button:active {
    transform: scale(0.98);
}

a.light img,
a.primary img {
    padding-right: 20px;
}
	
a.light span,
a.primary span {
  transition: all 0.3s ease-in-out;
}

a.light:hover span,
a.primary:hover span {
 transform: translateX(5px);
}

@media only screen and (max-width: 768px) {
  a.primary, a.light {
  margin-top: 20px;
}
}

/* Glassmorphism Button Style */
button.glass,
a.glass {
  position: relative;
  display: inline-block;
  padding: 18px 32px;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  color: var(--white);
  font-family: var(--text);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Hover effect */
button.glass:hover,
a.glass:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}

/* Active (pressed) effect */
button.glass:active,
a.glass:active {
  transform: scale(0.98);
}

/* For icon spacing if needed */
button.glass img,
a.glass img {
  margin-right: 12px;
  vertical-align: middle;
}

/* Mobile adjustments */
@media only screen and (max-width: 768px) {
  button.glass,
  a.glass {
    padding: 16px 24px;
  }
}
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="color"],
select,
.hs-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    height: 50px;
    width: 100%!important;
    border: 1px solid var(--lightgrey);
    background: var(--verylight);
    padding: 10px 15px;
    margin-bottom: 10px;
    font-size: 16px;
    font-family: var(--text);
    color: var(--darkgrey);
}

ul.hs-error-msgs {
  list-style-type: none;
  margin: 0;
}

ul.hs-error-msgs li {
  padding-bottom: 15px;
  font-size: 14px;
  line-height: 20px;
}

ul.hs-error-msgs li label {
  font-family: var(--text);
  color: var(--warning);
}

.submitted-message {
  color: var(--primary);
}

input:focus,
textarea:focus {
    background: var(--lightgrey);
    border: 1px solid var(--contrast);
}

textarea,
footer textarea {
    height: auto;
}

/** Placeholder **/
*::-webkit-input-placeholder {
  font-size: 14px;
}

*:-moz-placeholder {
    /* FF 4-18 */
  font-size: 14px;
}

*::-moz-placeholder {
    /* FF 19+ */
  font-size: 14px;
}

*:-ms-input-placeholder {
    /* IE 10+ */
  font-size: 14px;
}

*::-ms-input-placeholder {
    /* Microsoft Edge */
  font-size: 14px;
}

*::placeholder {
    /* modern browsers */
  font-size: 14px;
}

/** Submit **/
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer;
    background: var(--contrast);
    color: #fff;
    border-radius: 8px;
    border: none;
    font-family: var(--text);
    font-size: 16px;
    height: 50px;
    font-weight: 600;
    padding: 10px 20px;
    transition: all .2s;
}

input[type=reset]:hover,
input[type=submit]:hover {
  background: var(--primary);
}
/** Logo **/
.navigation {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    z-index: 5;
    transition: all 0.3s ease-in-out;
}

.navigation--wrapper {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.navigation--wrapper .logo img {
    width: 100px;
    height: auto;
}

/** Select **/
.navigation__checkbox {
    display: none;
}

.navigation__button {
    position: fixed;
    top: 1.5rem;
    right: 1.5rem;
    height: 5rem;
    width: 5rem;
    text-align: center;
    background-color: #fff;
    border-radius: 50%;
    z-index: 300;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

@media screen and (min-width: 768px) {
    .navigation__button {
        top: 2rem;
        right: 2rem;
        height: 4rem;
        width: 4rem;
    }
}

.navigation__background {
    position: fixed;
    top: 2rem;
    right: 2rem;
    height: 3rem;
    width: 3rem;
    border-radius: 50%;
    background: linear-gradient(313.1deg, #FEA724 3.6%, var(--primary) 83.74%);
    background-size: cover;
    background-position: center;
    z-index: 100;
    transition: all 800ms cubic-bezier(0.86, 0, 0.07, 1);
}

@media screen and (min-width: 768px) {
    .navigation__background {
        top: 2.5rem;
        right: 2.5rem;
        height: 3rem;
        width: 3rem;
    }
}

.navigation__nav {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    opacity: 0;
    width: 0;
    visibility: hidden;
    z-index: 200;
    transition: all 800ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.navigation__list ul {
    /*@include center;*/
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    list-style: none;
}

.navigation__item,
.navigation__list ul .menu-item {
    margin: 1rem;
}

.navigation__list ul .menu-item a:link,
.navigation__list ul .menu-item a:visited {
    font-family: var(--head);
    display: inline-block;
    padding: 1rem 2rem;
    color: #f4f4f4;
    font-size: 2rem;
    text-decoration: none;
    transition: all .2s;
    margin: 5px 0;
}

@media(min-width: 768px) {

    .navigation__list ul .menu-item a:link,
    .navigation__list ul .menu-item a:visited {
        font-size: 2.5rem;
    }
}

.navigation__list ul .menu-item a:hover {
    color: var(--lightgrey);
    transform: scale(1.1);
}

.navigation__checkbox:checked~.navigation__background {
    transform: scale(80)
}

.navigation__checkbox:checked~.navigation__nav {
    width: 100%;
    visibility: visible;
    opacity: 1;
}

.navigation__icon {
    position: relative;
    margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
    .navigation__icon {
        margin-top: 2rem;
    }
}

.navigation__icon,
.navigation__icon::before,
.navigation__icon::after {
    display: inline-block;
    width: 2.2rem;
    height: 2px;
    background-color: var(--primary);
}

@media (min-width: 768px) {

    .navigation__icon,
    .navigation__icon::before,
    .navigation__icon::after {
        width: 1.5rem;
    }
}

.navigation__icon::before,
.navigation__icon::after {
    content: '';
    position: absolute;
    left: 0;
    transition: all 200ms;
}

.navigation__icon::before {
    top: -.5rem;
}

.navigation__icon::after {
    top: .5rem;
}

.navigation__button:hover .navigation__icon::before {
    top: -0.6rem;
}

.navigation__button:hover .navigation__icon::after {
    top: 0.6rem;
}

.navigation__checkbox:checked+.navigation__button .navigation__icon {
    background-color: transparent;
}

.navigation__checkbox:checked+.navigation__button .navigation__icon::before {
    top: 0;
    transform: rotate(135deg);
}

.navigation__checkbox:checked+.navigation__button .navigation__icon::after {
    top: 0;
    transform: rotate(-135deg);
}
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,700;1,9..144,300;1,9..144,400;1,9..144,500;1,9..144,700&display=swap');
@import url("https://use.typekit.net/otg4pjc.css");

h1,
h2,
h3,
h4 {
    font-family: var(--head);
    font-style: normal;
    display: inline-block;
}

h1 {
    font-size: 3.8em;
    font-weight: bold;
    color: var(--white);
    margin: 25px 0 40px 0;
    opacity: 1;
}

h2 {
    font-size: 50px;
    font-weight: 600;
    color: var(--darkgrey);
    line-height: 58px;
    font-style: normal;
    margin-bottom: 20px;
}

h2 span {
    display: block;
    font-family: var(--text);
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0.8px;
    font-weight: 400;
    color: var(--primary);
    text-transform: uppercase;
    margin-bottom: 25px;
}

.portfolio h2 span {
    display: inline-block;
    font-family: var(--head);
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    font-weight: inherit;
    color: var(--primary);
    text-transform: none;
    margin-bottom: 0;
}

h2.x-large {
    font-size: 100px;
    line-height: 100px;
}

h2.smaller {
      font-size: 38px;
    line-height: 48px;
}

h3 {
    font-size: 40px;
    line-height: 50px;
}

h4 {
    font-size: 32px;
    line-height: 38px;
}

h5 {
    font-family: var(--text);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 26px;
    line-height: 33px;
    font-style: normal;
    margin-bottom: 20px;
}

h6 {
    font-family: var(--head);
    color: rgba(255, 255, 255, 0.65);
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.8px;
    line-height: 25px;
    margin-bottom: 15px;
}

p, ul li {
    font-family: var(--text);
    font-weight: 300;
    font-style: normal;
    font-size: 22px;
    line-height: 36px;
    color: #343434;
    padding-bottom: 15px;
}

p:last-of-type {
  padding-bottom: 0;
}

p.medium {
    font-size: 20px;
  line-height: 32px;
}

p.small {
    font-size: 16px;
    line-height: 22px;
}

.highlight {
color: var(--primary);
}

.italic {
    font-style: italic;
}

.sub {
    font-family: var(--text);
    font-size: 1.125rem;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 4px;
    line-height: 40px;
    margin-bottom: 15px;
    display: inline-block;
}

.primary-text {
  color: var(--primary);
}

.list-unstyled {
   padding-left: 0;
   list-style: none;
}

.link-white, .text-white {
    color: var(--white);
}

.link-hover, .footer .hs-menu-item a {
    border-bottom: 1px solid rgba(0, 0, 0, 0);
    transition: border-color .2s, color .2s, transform .2s;
}

.link-hover.link-white:hover, .footer .hs-menu-item a:hover {
    color: #fff;
    border-bottom-color: #fff;
    transform:scale(1.01);
}

@media only screen and (max-width: 768px) {
  h1 {
    font-size: 2.2em;
    margin-bottom: 25px;
  }
  
  h2 {
    font-size: 38px;
    line-height: 42px;
  }
  
  h2.x-large {
    font-size: 60px;
    line-height: 60px;
}
  
  h3 {
    font-size: 30px;
    line-height: 40px;
  }

  h5 {
    font-size: 1.2em;
    margin-bottom: 25px;
  }

  p, ul li  {
    font-size: 16px;
    line-height: 24px;
  }

  .sub {
      font-size: 0.9rem;
      letter-spacing: 2.5px;
      line-height: 35px;
      padding-bottom: 30px;
  }

}