@import url(https://use.typekit.net/ska5nfp.css);
/*! tailwindcss v2.2.17 | MIT License | https://tailwindcss.com */

/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

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

/**
Use a more readable tab size (opinionated).
*/

html {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/*
Sections
========
*/

/**
Remove the margin in all browsers.
*/

body {
  margin: 0;
}

/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/

body {
  font-family:
		system-ui,
		-apple-system, /* Firefox supports this but not yet `system-ui` */
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
}

/*
Grouping content
================
*/

/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/

/*
Text-level semantics
====================
*/

/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/

/**
Add the correct font weight in Edge and Safari.
*/

b {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

/**
Add the correct font size in all browsers.
*/

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

/*
Tabular data
============
*/

/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/

button,
select { /* 1 */
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

/**
 * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */

/**
 * Removes the default spacing and border for appropriate elements.
 */


h1,
h2,
h3,
h4,
p {
  margin: 0;
}

button {
  background-color: transparent;
  background-image: none;
}


ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/**
 * Tailwind custom reset styles
 */

/**
 * 1. Use the user's configured `sans` font-family (with Tailwind's default
 *    sans-serif font stack as a fallback) as a sane default.
 * 2. Use Tailwind's default "normal" line-height so the user isn't forced
 *    to override it to ensure consistency even when using the default theme.
 */

html {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */
  line-height: 1.5; /* 2 */
}

/**
 * Inherit font-family and line-height from `html` so users can set them as
 * a class directly on the `html` element.
 */

body {
  font-family: inherit;
  line-height: inherit;
}

/**
 * 1. Prevent padding and border from affecting element width.
 *
 *    We used to set this in the html element and inherit from
 *    the parent element for everything else. This caused issues
 *    in shadow-dom-enhanced elements like <details> where the content
 *    is wrapped by a div with box-sizing set to `content-box`.
 *
 *    https://github.com/mozdevs/cssremedy/issues/4
 *
 *
 * 2. Allow adding a border to an element by just adding a border-width.
 *
 *    By default, the way the browser specifies that an element should have no
 *    border is by setting it's border-style to `none` in the user-agent
 *    stylesheet.
 *
 *    In order to easily add borders to elements by just setting the `border-width`
 *    property, we change the default border-style for all elements to `solid`, and
 *    use border-width to hide them instead. This way our `border` utilities only
 *    need to set the `border-width` property instead of the entire `border`
 *    shorthand, making our border utilities much more straightforward to compose.
 *
 *    https://github.com/tailwindcss/tailwindcss/pull/116
 */

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}

/*
 * Ensure horizontal rules are visible by default
 */

/**
 * Undo the `border-style: none` reset that Normalize applies to images so that
 * our `border-{width}` utilities have the expected effect.
 *
 * The Normalize reset is unnecessary for us since we default the border-width
 * to 0 on all elements.
 *
 * https://github.com/tailwindcss/tailwindcss/issues/362
 */

img {
  border-style: solid;
}

textarea {
  resize: vertical;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

button,
[role="button"] {
  cursor: pointer;
}

/**
 * Override legacy focus reset from Normalize with modern Firefox focus styles.
 *
 * This is actually an improvement over the new defaults in Firefox in our testing,
 * as it triggers the better focus styles even for links, which still use a dotted
 * outline in Firefox by default.
 */

h1,
h2,
h3,
h4 {
  font-size: inherit;
  font-weight: inherit;
}

/**
 * Reset links to optimize for opt-in styling instead of
 * opt-out.
 */

a {
  color: inherit;
  text-decoration: inherit;
}

/**
 * Reset form element properties that are easy to forget to
 * style explicitly so you don't inadvertently introduce
 * styles that deviate from your design system. These styles
 * supplement a partial reset that is already applied by
 * normalize.css.
 */

button,
input,
select,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit;
}

/**
 * Use the configured 'mono' font family for elements that
 * are expected to be rendered with a monospace font, falling
 * back to the system monospace stack if there is no configured
 * 'mono' font family.
 */

/**
 * 1. Make replaced elements `display: block` by default as that's
 *    the behavior you want almost all of the time. Inspired by
 *    CSS Remedy, with `svg` added as well.
 *
 *    https://github.com/mozdevs/cssremedy/issues/14
 * 
 * 2. Add `vertical-align: middle` to align replaced elements more
 *    sensibly by default when overriding `display` by adding a
 *    utility like `inline`.
 *
 *    This can trigger a poorly considered linting error in some
 *    tools but is included by design.
 * 
 *    https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
 */

img,
svg,
video,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/**
 * Constrain images and videos to the parent width and preserve
 * their intrinsic aspect ratio.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */

img,
video {
  max-width: 100%;
  height: auto;
}

/**
 * Ensure the default browser behavior of the `hidden` attribute.
 */

[hidden] {
  display: none;
}

*, ::before, ::after{
  --tw-border-opacity: 1;
  border-color: rgba(229, 231, 235, var(--tw-border-opacity));
}

.container{
  width: 100%;
}

@media (min-width: 640px){
  .container{
    max-width: 640px;
  }
}

@media (min-width: 768px){
  .container{
    max-width: 768px;
  }
}

@media (min-width: 1024px){
  .container{
    max-width: 1024px;
  }
}

@media (min-width: 1280px){
  .container{
    max-width: 1280px;
  }
}

@media (min-width: 1536px){
  .container{
    max-width: 1536px;
  }
}

.visible{
  visibility: visible;
}

.fixed{
  position: fixed;
}

.absolute{
  position: absolute;
}

.relative{
  position: relative;
}

.sticky{
  position: sticky;
}

.top-0{
  top: 0px;
}

.top-10{
  top: 2.5rem;
}

.-top-4{
  top: -1rem;
}

.right-10{
  right: 2.5rem;
}

.left-0{
  left: 0px;
}

.left-full{
  left: 100%;
}

.z-10{
  z-index: 10;
}

.z-50{
  z-index: 50;
}

.m-auto{
  margin: auto;
}

.my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.my-36{
  margin-top: 9rem;
  margin-bottom: 9rem;
}

.mt-10{
  margin-top: 2.5rem;
}

.mt-12{
  margin-top: 3rem;
}

.mb-2{
  margin-bottom: 0.5rem;
}

.mb-4{
  margin-bottom: 1rem;
}

.mb-5{
  margin-bottom: 1.25rem;
}

.mb-8{
  margin-bottom: 2rem;
}

.mb-9{
  margin-bottom: 2.25rem;
}

.mb-10{
  margin-bottom: 2.5rem;
}

.mb-12{
  margin-bottom: 3rem;
}

.mb-14{
  margin-bottom: 3.5rem;
}

.mb-16{
  margin-bottom: 4rem;
}

.mb-48{
  margin-bottom: 12rem;
}

.block{
  display: block;
}

.inline-block{
  display: inline-block;
}

.flex{
  display: flex;
}

.grid{
  display: grid;
}

.hidden{
  display: none;
}

.h-4{
  height: 1rem;
}

.h-7{
  height: 1.75rem;
}

.h-11{
  height: 2.75rem;
}

.h-full{
  height: 100%;
}

.h-screen{
  height: 100vh;
}

.min-h-full{
  min-height: 100%;
}

.w-4{
  width: 1rem;
}

.w-7{
  width: 1.75rem;
}

.w-16{
  width: 4rem;
}

.w-28{
  width: 7rem;
}

.w-32{
  width: 8rem;
}

.w-2\/3{
  width: 66.666667%;
}

.w-full{
  width: 100%;
}

.min-w-full{
  min-width: 100%;
}

.max-w-none{
  max-width: none;
}

.max-w-lg{
  max-width: 32rem;
}

.max-w-2xl{
  max-width: 42rem;
}

.max-w-full{
  max-width: 100%;
}

.flex-1{
  flex: 1 1;
}

.flex-auto{
  flex: 1 1 auto;
}

.transform{
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes spin{
  to{
    transform: rotate(360deg);
  }
}

@keyframes ping{
  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes pulse{
  50%{
    opacity: .5;
  }
}

@keyframes bounce{
  0%, 100%{
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50%{
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}

.flex-row{
  flex-direction: row;
}

.flex-col{
  flex-direction: column;
}

.flex-wrap{
  flex-wrap: wrap;
}

.items-end{
  align-items: flex-end;
}

.items-center{
  align-items: center;
}

.justify-start{
  justify-content: flex-start;
}

.justify-end{
  justify-content: flex-end;
}

.justify-center{
  justify-content: center;
}

.justify-between{
  justify-content: space-between;
}

.gap-2{
  gap: 0.5rem;
}

.gap-3{
  gap: 0.75rem;
}

.gap-4{
  gap: 1rem;
}

.gap-6{
  gap: 1.5rem;
}

.gap-8{
  gap: 2rem;
}

.gap-16{
  gap: 4rem;
}

.gap-40{
  gap: 10rem;
}

.gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.overflow-hidden{
  overflow: hidden;
}

.rounded-2xl{
  border-radius: 1rem;
}

.bg-transparent{
  background-color: transparent;
}

.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgba(107, 114, 128, var(--tw-bg-opacity));
}

.bg-light{
  background-color: var(--light);
}

.bg-dark{
  background-color: var(--dark);
}

.bg-dark-gray{
  background-color: var(--dark-gray);
}

.bg-cover{
  background-size: cover;
}

.bg-center{
  background-position: center;
}

.bg-no-repeat{
  background-repeat: no-repeat;
}

.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}

.p-8{
  padding: 2rem;
}

.p-10{
  padding: 2.5rem;
}

.p-12{
  padding: 3rem;
}

.p-20{
  padding: 5rem;
}

.p-36{
  padding: 9rem;
}

.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}

.px-12{
  padding-left: 3rem;
  padding-right: 3rem;
}

.px-14{
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}

.px-16{
  padding-left: 4rem;
  padding-right: 4rem;
}

.px-20{
  padding-left: 5rem;
  padding-right: 5rem;
}

.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-7{
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.py-9{
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

.py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-28{
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.py-36{
  padding-top: 9rem;
  padding-bottom: 9rem;
}

.pt-8{
  padding-top: 2rem;
}

.pt-36{
  padding-top: 9rem;
}

.pr-3{
  padding-right: 0.75rem;
}

.pr-5{
  padding-right: 1.25rem;
}

.pb-1{
  padding-bottom: 0.25rem;
}

.pb-2{
  padding-bottom: 0.5rem;
}

.pb-4{
  padding-bottom: 1rem;
}

.pb-5{
  padding-bottom: 1.25rem;
}

.pb-7{
  padding-bottom: 1.75rem;
}

.pb-8{
  padding-bottom: 2rem;
}

.pl-2{
  padding-left: 0.5rem;
}

.pl-8{
  padding-left: 2rem;
}

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

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

.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-8xl{
  font-size: 6rem;
  line-height: 1;
}

.font-thin{
  font-weight: 100;
}

.font-light{
  font-weight: 300;
}

.font-medium{
  font-weight: 500;
}

.font-bold{
  font-weight: 700;
}

.uppercase{
  text-transform: uppercase;
}

.text-white{
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

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

.text-dark-gray{
  color: var(--dark-gray);
}

.underline{
  text-decoration: underline;
}

*, ::before, ::after{
  --tw-shadow: 0 0 #0000;
}

.shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

*, ::before, ::after{
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
}

.transition{
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-500{
  transition-duration: 500ms;
}

body,html{
  height:100%
}

:root{
  --primary: #da1489;
  --primary-dark: #cb107e;
  --light: #f2f2f2;
  --dark: #202020;
  --dark-gray: #2c2c2c
}

body{
  display:flex;
  flex-direction:column
}

main{
  flex-grow:1
}

footer{
  background-color:#2c2c2c;
  color:#fff
}

footer a{
  color:#fff
}

*{
  font-family:"poppins",sans-serif;
  box-sizing:border-box
}

h1,h2,h3{
  font-family:"proxima-nova",sans-serif
}

p,.gigantic,a{
  font-family:"poppins",sans-serif
}

h1{
  font-size:1.8rem;
  font-weight:bold;
  text-transform:uppercase;
  max-width:64rem
}

h2{
  font-size:1.5rem;
  font-weight:bold;
  text-transform:uppercase;
  line-height:1.1
}

h3{
  font-size:1.25rem;
  font-weight:400;
  max-width:48rem
}

p,a{
  font-weight:normal;
  font-size:1rem;
  max-width:42rem
}

p{
  line-height:1.5
}

.gigantic{
  font-weight:bold;
  font-size:12.5rem
}

.btn{
  font-family:"proxima-nova",sans-serif;
  font-weight:500;
  padding:.5rem 1.5em;
  font-size:1rem;
  transition:all .2s ease;
  border-radius:.5em;
  display:inline-block
}

.btn.default{
  background-color:#da1489;
  color:#fff;
  border:1px solid #da1489
}

.btn.outlined{
  border:1px solid #da1489;
  color:#da1489;
  background-color:rgba(0,0,0,0)
}

.btn:hover{
  cursor:pointer
}

.btn:hover:not(.hover-disabled){
  border-color:#cb107e;
  color:#fff;
  background-color:#cb107e
}

.hero{
  height:375px;
  min-height:375px;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  position:relative
}

.hero h1{
  z-index:60
}

.hero::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  background-image:radial-gradient(rgba(32, 32, 32, 0), rgba(32, 32, 32, 0.64));
  background-size:cover
}

@media(min-width: 640px){
  .hero{
    height:785px;
    min-height:785px
  }

  h1{
    font-size:3.5rem
  }

  h2{
    font-size:2rem
  }

  h3{
    font-size:2rem
  }
}

@media(min-width: 768px){
  h1{
    font-size:3rem
  }

  h2{
    font-size:2rem
  }

  h3{
    font-size:1.8rem
  }
}

#calculatorForm{
  padding:3rem 2rem;
  background-color:#f2f2f2;
  text-align:center
}

#calculatorForm p{
  margin:.6rem auto
}

#calculatorForm .input{
  width:100%;
  max-width:400px;
  margin:auto;
  text-align:left;
  height:64px;
  margin-bottom:.8rem
}

#calculatorForm .input input{
  width:100%;
  height:40px;
  border:1px solid #ccc;
  border-radius:3px;
  outline:none;
  padding:0 1rem
}

#calculatorForm #calculatorFields{
  display:flex;
  justify-content:center;
  gap:1rem;
  margin-bottom:.8rem;
  flex-wrap:wrap
}

#calculatorForm #calculatorFields .input{
  position:relative;
  min-width:8.125rem;
  margin:0;
  flex:1 1 8.125rem
}

#calculatorForm #calculatorFields .input::after{
  content:"(mm)";
  position:absolute;
  right:0;
  top:0;
  bottom:0
}

#calculatorForm #calculatorResults{
  padding:2rem 0;
  display:flex;
  flex-wrap:warp;
  gap:2rem
}

#calculatorForm #calculatorResults .product{
  animation:productIn .6s;
  position:relative;
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  width:21.25rem;
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

#calculatorForm #calculatorResults .product img{
  width:100%;
  height:200px;
  -o-object-fit:cover;
     object-fit:cover
}

#calculatorForm #calculatorResults .product .price{
  font-size:1rem;
  font-weight:500
}

#calculatorForm #calculatorResults .product .body{
  padding:1rem
}

#calculatorForm #calculatorResults .product .body h4{
  font-weight:bold;
  text-transform:uppercase
}

#calculatorForm #calculatorResults.loading{
  display:flex;
  align-items:center;
  justify-content:center
}

#calculatorForm #calculatorResults .loading-component{
  display:inline-block;
  position:relative;
  margin:auto;
  width:80px;
  height:80px
}

#calculatorForm #calculatorResults .loading-component div{
  position:absolute;
  top:33px;
  width:13px;
  height:13px;
  border-radius:50%;
  background-color:#ee1796;
  animation-timing-function:cubic-bezier(0, 1, 1, 0)
}

#calculatorForm #calculatorResults .loading-component div:nth-child(1){
  left:8px;
  animation:loader1 .6s infinite
}

#calculatorForm #calculatorResults .loading-component div:nth-child(2){
  left:8px;
  animation:loader2 .6s infinite
}

#calculatorForm #calculatorResults .loading-component div:nth-child(3){
  left:32px;
  animation:loader2 .6s infinite
}

#calculatorForm #calculatorResults .loading-component div:nth-child(4){
  left:56px;
  animation:loader3 .6s infinite
}

@keyframes loader1{
  0%{
    transform:scale(0)
  }

  100%{
    transform:scale(1)
  }
}

@keyframes loader3{
  0%{
    transform:scale(1)
  }

  100%{
    transform:scale(0)
  }
}

@keyframes loader2{
  0%{
    transform:translate(0, 0)
  }

  100%{
    transform:translate(24px, 0)
  }
}

@keyframes productIn{
  0%{
    bottom:-2rem;
    opacity:0
  }

  100%{
    bottom:0;
    opacity:1
  }
}

@media screen and (min-width: 640px){
  #calculatorForm{
    padding:11rem 2rem
  }
}

.nav-header{
  z-index:99;
  background-color:rgba(0,0,0,0)
}

.nav-header .logo img{
  width:210px;
  height:30px
}

.nav-header .main-nav{
  position:relative;
  border-radius:1em;
  background-color:rgba(255,255,255,.1254901961);
  backdrop-filter:blur(1rem);
  -webkit-backdrop-filter:blur(1rem)
}

.nav-header .main-nav .menu{
  display:flex;
  align-items:center;
  gap:2rem
}

.nav-header .main-nav .menu li a{
  color:#202020;
  font-size:1rem;
  font-weight:normal;
  font-family:"proxima-nova",sans-serif
}

.nav-header .main-nav .sub-menu{
  max-height:0;
  position:absolute;
  top:3rem;
  padding-top:0rem;
  left:50%;
  transition:opacity .3s ease;
  opacity:0;
  overflow:hidden;
  transform:translateX(-50%);
  z-index:99
}

.nav-header .main-nav .sub-menu .sub-menu-container{
  width:calc(100vw - 20rem);
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  display:grid;
  position:relative;
  grid-template-columns:repeat(auto-fit, minmax(0, 1fr));
  background-color:#fff;
  border-radius:1em;
  overflow:hidden;
  text-align:left
}

.nav-header .main-nav .sub-menu .sub-menu-container .sub-menu-product{
  position:relative
}

.nav-header .main-nav .sub-menu .sub-menu-container .sub-menu-product img{
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:100%;
  -o-object-fit:cover;
     object-fit:cover
}

.nav-header .main-nav .sub-menu .sub-menu-container .sub-menu-product .product-menu-content{
  position:relative;
  z-index:100;
  width:100%;
  height:100%;
  padding:2rem;
  background-color:rgba(255,255,255,.1254901961);
  -webkit-backdrop-filter:blur(1rem);
          backdrop-filter:blur(1rem)
}

.nav-header .main-nav .sub-menu .sub-menu-container .sub-menu-product .product-menu-content h3{
  text-transform:uppercase
}

.nav-header .main-nav .sub-menu .sub-menu-container .sub-menu-product .product-menu-content p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  overflow:hidden;
  line-height:1.5;
  margin-top:1rem
}

.nav-header .main-nav .sub-menu:hover{
  max-height:none;
  padding-top:3rem;
  opacity:1
}

.nav-header .main-nav .menu .menu-item-has-children:hover~.sub-menu{
  max-height:none;
  opacity:1;
  padding-top:3rem
}

.nav-header.dark .main-nav{
  background-color:rgba(32,32,32,.2)
}

.nav-header.dark .main-nav ul li a{
  color:#fff
}

.nav-header.dark .main-nav .sub-menu-container{
  background-color:#202020
}

.nav-header .sub-menu li a{
  color:#fff !important
}

.nav-header.admin{
  margin-top:0
}

.nav-header .socials a img{
  height:40px
}

.mobile-menu,.mobile-logo-push{
  display:none
}

@media(max-width: 955px){
  .main-nav,.socials{
    display:none
  }

  .logo{
    flex:none
  }

  .mobile-logo-push{
    display:block
  }

  .nav-header{
    background:rgba(255,255,255,.0196078431);
    -webkit-backdrop-filter:blur(1rem);
            backdrop-filter:blur(1rem)
  }

  .nav-header .logo img{
    transition:.2s ease
  }

  .nav-header.show .logo img{
    filter:blur(0.1rem)
  }

  .menu-backdrop{
    position:fixed;
    top:0;
    display:none;
    left:0;
    width:100vw;
    height:100vh;
    min-height:100vh;
    background:rgba(255,255,255,.0196078431);
    -webkit-backdrop-filter:blur(0.2rem);
            backdrop-filter:blur(0.2rem);
    z-index:80
  }

  .menu-backdrop.show{
    display:block
  }

  .mobile-menu{
    display:block;
    flex:1 1
  }

  .mobile-menu .menu-icon{
    position:relative;
    padding:.8rem .2rem;
    z-index:999;
    -webkit-user-select:none;
       -moz-user-select:none;
            user-select:none;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    cursor:pointer
  }

  .mobile-menu .menu-icon .nav-icon{
    background-color:#da1489;
    display:block;
    height:2px;
    width:18px;
    position:relative;
    transition:background .2s ease-out
  }

  .mobile-menu .menu-icon .nav-icon::before,.mobile-menu .menu-icon .nav-icon::after{
    background-color:#da1489;
    content:"";
    display:block;
    width:100%;
    height:100%;
    position:absolute;
    transition:all .2s ease-out;
    top:5px
  }

  .mobile-menu .menu-icon .nav-icon::after{
    top:-5px
  }

  .mobile-menu .menu-box{
    position:absolute;
    right:0;
    top:0;
    height:100vh;
    transition:all .2s ease-out;
    transform:translateX(100%);
    width:80vw;
    min-width:300px;
    max-width:400px;
    background-color:#202020;
    padding:2rem;
    display:flex;
    justify-content:center;
    align-items:center
  }

  .mobile-menu .menu-box .menu-navigation{
    width:100%
  }

  .mobile-menu .menu-box .menu-navigation ul{
    text-align:right
  }

  .mobile-menu .menu-box .menu-navigation ul li{
    width:100%;
    height:auto
  }

  .mobile-menu .menu-box .menu-navigation ul li a{
    color:#fff;
    padding:2rem 0;
    display:inline-block;
    width:100%;
    border-bottom:1px solid #464646;
    text-transform:uppercase;
    font-weight:400
  }

  .mobile-menu .menu-box .menu-navigation ul li:last-of-type a{
    border:none
  }

  .mobile-menu .menu-box .menu-navigation .sub-menu{
    display:none
  }

  .mobile-menu .menu-box .menu-socials{
    position:absolute;
    bottom:2rem;
    right:2rem;
    display:flex;
    width:100%;
    justify-content:flex-end;
    align-items:center
  }

  .mobile-menu .menu-box .menu-socials img{
    width:2rem;
    height:2rem
  }

  .mobile-menu #menu-btn{
    display:none
  }

  .mobile-menu #menu-btn:checked~.menu-icon .nav-icon{
    background:rgba(0,0,0,0)
  }

  .mobile-menu #menu-btn:checked~.menu-icon .nav-icon::after{
    transform:rotate(45deg);
    top:0
  }

  .mobile-menu #menu-btn:checked~.menu-icon .nav-icon::before{
    transform:rotate(-45deg);
    top:0
  }

  .mobile-menu #menu-btn:checked~.menu-box{
    transform:translateX(0)
  }
}

footer{
  z-index:0
}

footer .flex-container{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding-top: 1.75rem;
  padding-bottom: 0.75rem;
  vertical-align: middle
}

footer .flex-container2{
  display:none
}

footer .footer-nav{
  order:1
}

footer .footer-nav ul{
  display: flex;
  align-content: center;
  justify-content: center;
  gap: 0.875rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-transform: uppercase
}

footer .footer-logo{
  order:0;
  filter:brightness(0) invert(1);
  display: inline-block;
  height: 2rem;
  width: 2rem;
  vertical-align: middle
}

footer .footer-copyright p{
  font-weight:lighter;
  font-size: 0.75rem;
  line-height: 1rem
}

footer .footer-copyright{
  order:2;
  filter:brightness(0) invert(1)
}

@media(min-width: 55rem){
  footer .custom-footer{
    flex-direction: row;
    vertical-align: middle
  }

  footer .flex-container{
    padding-left:2rem;
    padding-right:2rem;
    flex-direction: row;
    padding-top: 1.75rem;
    padding-bottom: 2.5rem
  }

  footer .flex-container2{
    border-top-width:.0625rem;
    border-top-style:solid;
    border-top-color:#585858;
    display: flex;
    justify-content: center;
    padding-top: 1.75rem;
    padding-bottom: 0.75rem;
    vertical-align: middle
  }

  footer .footer-nav{
    order:unset
  }

  footer .footer-nav ul{
    width:40vw;
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
    vertical-align: middle;
    text-transform: uppercase
  }

  footer .footer-nav ul a{
    font-size: 1rem;
    line-height: 1.5rem
  }

  footer .footer-logo{
    order:unset;
    filter:brightness(0) invert(1);
    display: inline-block;
    height: 2.75rem;
    width: 2.75rem;
    vertical-align: middle
  }

  @media screen and (max-width: 850px){
    .customers footer .footer-logo{
      height:2rem
    }
  }

  @media screen and (max-width: 640px){
    .customers footer .footer-logo{
      height:1.5rem
    }
  }

  footer .footer-icons{
    filter:brightness(0) invert(1);
    height: 1rem;
    width: 1rem
  }

  footer .footer-text{
    padding-right: 2.75rem;
    padding-left: 0.75rem
  }

  footer .footer-copyright{
    order:unset;
    filter:brightness(0) invert(1)
  }
}

@media(min-width: 80rem){
  footer .flex-container{
    padding-left:5rem;
    padding-right:5rem;
    flex-direction: row;
    padding-top: 1.75rem;
    padding-bottom: 2.5rem
  }
}

.about{
  background:#f2f2f2;
  padding:10rem
}

.experience{
  width:400px;
  height:400px;
  min-width:400px;
  min-height:400px;
  border-radius:50%;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  color:rgba(0,0,0,0);
  position:relative;
  font-family:"proxima-nova",sans-serif;
  text-transform:uppercase;
  padding:4px;
  padding-top:1rem;
  position:relative
}

.experience .content{
  position:absolute;
  z-index:60;
  display:flex;
  width:100%;
  height:100%;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  background-clip:text;
  -webkit-background-clip:text;
  background-image:inherit;
  align-items:center;
  justify-content:center
}

.experience .content .number{
  font-size:300px;
  font-weight:bold;
  line-height:0px
}

.experience .content .line-1{
  margin-left:-32px
}

.experience .content p{
  text-align:justify;
  font-weight:bold;
  font-size:30px;
  line-height:2.3rem;
  height:0
}

.experience::after{
  content:"";
  position:absolute;
  top:4px;
  left:4px;
  bottom:4px;
  right:4px;
  background:#f2f2f2;
  border-radius:50%;
  z-index:2
}

.customers{
  margin-top:9rem;
  margin-bottom:9rem
}

.customers .carousel:first-child{
  animation:primary-scroll 120s linear infinite
}

.customers .carousel:last-child{
  animation:secondary-scroll 120s linear infinite
}

.testimonials .cards{
  max-width:100%;
  overflow:auto;
  justify-content:center
}

.testimonials .card{
  width:28rem;
  max-width:28rem;
  min-width:28rem;
  height:auto;
  border-radius:1em
}

.testimonials .card .quote-icon{
  font-family:"proxima-nova",sans-serif;
  font-weight:bold
}

.testimonials .card .quote-icon svg{
  position:relative;
  transform:rotateX(180deg) rotateY(180deg)
}

.projects{
  position:relative
}

.projects .projects-grid{
  display:grid;
  grid:auto/repeat(6, 1fr);
  row-gap:12em;
  position:relative
}

.projects .projects-grid .grid-item{
  min-height:4rem;
  min-width:4rem;
  margin:0;
  grid-column:span 2;
  display:flex;
  justify-content:center
}

.projects .projects-grid .grid-item:nth-child(5n),.projects .projects-grid .grid-item:nth-child(5n-1){
  grid-column:span 3
}

.projects .projects-grid .grid-item:nth-child(2n) .card{
  position:relative;
  top:8rem
}

.projects .projects-grid .grid-item:nth-child(3n) .card{
  position:relative;
  top:2rem
}

.projects .projects-grid .grid-item .card{
  width:343px;
  border-radius:1em;
  overflow:hidden;
  background-color:#f2f2f2;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.1)
}

.projects .projects-grid .grid-item .card.testimonial{
  background-color:#2c2c2c;
  max-height:450px
}

.projects .projects-grid .grid-item .card.testimonial .quote-icon{
  font-family:"proxima-nova",sans-serif;
  font-weight:bold
}

.projects .projects-grid .grid-item .card.testimonial .quote-icon svg{
  position:relative;
  transform:rotateX(180deg) rotateY(180deg)
}

.projects .projects-grid .grid-item .card .card-head img{
  height:178px;
  width:100%;
  -o-object-fit:cover;
     object-fit:cover
}

.projects .projects-grid .grid-item .card .content{
  height:63px;
  overflow:hidden;
  width:100%
}

.projects .projects-grid .grid-item .card .content p{
  font-size:14px;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  line-height:21px
}

.projects .projects-grid .grid-item .card .card-body .title{
  font-family:"proxima-nova",sans-serif
}

.projects .projects-grid .grid-item .card .card-footer a{
  width:2.8125rem;
  height:2.8125rem;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 7px 0 rgba(0,0,0,.1);
  background-color:#fff
}

.projects::after{
  content:attr(title);
  font-family:"poppins",sans-serif;
  font-size:220px;
  text-transform:uppercase;
  font-weight:bold;
  position:absolute;
  left:6rem;
  bottom:4rem;
  color:#f2f2f2;
  line-height:0;
  width:100px;
  writing-mode:vertical-lr;
  z-index:-5
}

.projects.fixed-text::after{
  position:fixed
}

.accomplishments{
  padding-left:10rem;
  padding-right:10rem;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(0, 1fr))
}

.accomplishments .accomplishment img{
  margin:auto;
  width:50px;
  height:50px;
  margin-bottom:1.1em
}

.accomplishments .accomplishment h4{
  font-weight:bold;
  font-family:"poppins",sans-serif;
  font-size:1rem;
  text-transform:uppercase
}

.accomplishments .accomplishment p{
  font-weight:500;
  font-size:1rem;
  padding:1rem 2rem;
  max-width:none
}

.home-main .products-container{
  display:flex;
  width:100%
}

.home-main .product{
  height:70vh;
  transition:all .5s ease;
  cursor:pointer;
  flex:1 0 1em
}

.home-main .product .detail-container{
  opacity:0;
  transition:all .5s ease;
  bottom:-2em
}

.home-main .product:hover{
  flex-basis:40em
}

.home-main .product:hover .detail-container{
  opacity:1;
  bottom:0
}

.home-main .product .details{
  border-radius:.5rem;
  font-weight:500
}

.home-main .product .text-3xl{
  font-size:1.25rem;
  line-height:1.5rem
}

.home-main .product .bg-dark{
  background-color:rgba(32,32,32,.5215686275)
}

@media screen and (max-width: 1450px){
  .testimonials .card{
    width:23rem;
    max-width:23rem;
    min-width:23rem
  }

  .testimonials{
    padding-top:4rem;
    padding-bottom:4rem
  }

  .testimonials .cards{
    max-width:100%;
    overflow:auto;
    display:flex;
    padding-left:4rem;
    padding-right:4rem;
    justify-content:flex-start
  }

  .testimonials .card{
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:center
  }

  .testimonials .mb-9{
    margin-bottom:2rem;
    margin-left:4rem;
    margin-right:4rem
  }

  .testimonials .vad-kunder-tycker{
    margin-left:4rem;
    margin-right:4rem
  }

  .accomplishments{
    gap:0
  }
}

@media screen and (max-width: 2500px){
  .projects.archive::after{
    font-size:11rem;
    top:10rem;
    left:6rem;
    top:8rem
  }
}

@media screen and (max-width: 1280px){
  .projects{
    padding:4rem 0
  }

  .projects .projects-grid{
    display:flex;
    flex-direction:row;
    gap:1.5rem;
    margin-bottom:3rem;
    max-width:100%;
    overflow:auto;
    padding:0 4rem
  }

  .projects::after{
    font-size:140px;
    left:3rem;
    top:1rem
  }

  .projects .card{
    min-width:25vw
  }

  .projects.archive{
    padding:12rem 0 4rem
  }

  .projects.archive .projects-grid{
    flex-direction:column;
    overflow:visible;
    gap:3rem
  }

  .projects.archive .projects-grid .grid-item{
    justify-content:flex-end
  }

  .projects.archive .projects-grid .grid-item:nth-child(even) .card{
    left:-5rem
  }

  .projects.archive::after{
    font-size:11rem;
    left:6rem;
    top:8rem
  }

  .projects .projects-grid .grid-item{
    width:100%;
    flex-basis:100%;
    grid-column:auto;
    justify-content:flex-start;
    min-width:25vw
  }

  .projects .projects-grid .grid-item:nth-child(2n) .card{
    top:0
  }

  .projects .projects-grid .grid-item:nth-child(3n) .card{
    top:0
  }

  .home-main .products-container{
    height:40vh
  }

  .home-main .products-container .product{
    height:40vh
  }
}

@media screen and (max-width: 1050px){
  .content{
    width:100%
  }

  .about{
    padding:5rem
  }
}

@media screen and (max-width: 850px){
  .hero h1{
    padding:4rem
  }

  .about{
    padding:4rem
  }

  .experience{
    display:none
  }

  .content{
    width:100%
  }

  .customers{
    margin-top:4rem;
    margin-bottom:4rem
  }

  .customers .vara-kunder{
    margin-bottom:1.5rem
  }

  .customers .gap-40{
    gap:6rem
  }

  .customers .h-11{
    height:2rem
  }

  .home-main .products-container{
    height:30vh
  }

  .home-main .products-container .product{
    height:30vh
  }

  .testimonials .cards{
    justify-content:flex-start;
    padding-left:4rem;
    padding-right:4rem
  }

  .projects{
    padding:4rem 0
  }

  .projects .projects-grid{
    display:flex;
    flex-direction:row;
    gap:1.5rem;
    margin-bottom:3rem;
    max-width:100%;
    overflow:auto;
    padding:0 4rem
  }

  .projects.archive .projects-grid{
    gap:3rem
  }

  .projects.archive .projects-grid .grid-item:nth-child(even) .card{
    left:0
  }

  .projects::after{
    font-size:140px
  }

  .projects .card{
    min-width:35vw
  }

  .accomplishments{
    padding-left:4rem;
    padding-right:4rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:0
  }

  .accomplishments .visa-inte-mobil{
    display:none
  }

  .accomplishments h4{
    margin-top:.5rem;
    margin-bottom:.5rem
  }

  .accomplishments .accomplishment p{
    margin-bottom:1.5rem
  }

  .accomplishments .accomplishment:last-child p{
    margin-bottom:0
  }

  .projects .projects-grid .grid-item{
    width:100%;
    flex-basis:100%;
    grid-column:auto;
    justify-content:flex-start;
    min-width:35vw
  }
}

@media screen and (max-width: 640px){
  .hero h1{
    padding:2rem
  }

  .about{
    padding:3rem;
    gap:0
  }

  .about .experience{
    display:none
  }

  .about .content{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column
  }

  .about .detta-are-we{
    margin-bottom:1.5rem
  }

  .customers{
    margin-top:3rem;
    margin-bottom:3rem
  }

  .customers .vara-kunder{
    margin-bottom:1.5rem
  }

  .customers .gap-40{
    gap:4rem
  }

  .customers .h-11{
    height:1.5rem
  }

  .customers .mb-16{
    margin-bottom:2rem
  }

  .home-main .testimonials{
    padding-top:3rem;
    padding-bottom:3rem
  }

  .home-main .testimonials .cards{
    max-width:100%;
    overflow:auto;
    display:flex;
    padding-left:2rem;
    padding-right:2rem;
    justify-content:flex-start
  }

  .home-main .testimonials .card{
    height:auto;
    width:80vw;
    min-width:80vw;
    max-width:80vw;
    display:flex;
    flex-direction:column;
    align-items:center
  }

  .home-main .testimonials .mb-9{
    margin-bottom:2rem;
    margin-left:3rem;
    margin-right:3rem
  }

  .home-main .testimonials .vad-kunder-tycker{
    margin-left:3rem;
    margin-right:3rem
  }

  .home-main .testimonials .py-28{
    padding-top:5rem;
    padding-bottom:5rem
  }

  .projects{
    padding:4rem 0
  }

  .projects .projects-grid{
    display:flex;
    flex-direction:row;
    gap:1.5em;
    margin-bottom:3rem;
    max-width:100%;
    overflow:auto;
    padding:0 2rem
  }

  .projects::after{
    font-size:120px;
    left:2rem;
    top:2rem
  }

  .projects .card{
    min-width:calc(100vw - 4rem)
  }

  .projects.archive::after{
    font-size:9rem
  }

  .projects .projects-grid .grid-item{
    width:100%;
    flex-basis:100%;
    grid-column:auto;
    justify-content:flex-start;
    min-width:calc(100vw - 4rem)
  }

  .projects .projects-grid .grid-item:nth-child(2n) .card{
    top:0
  }

  .projects .projects-grid .grid-item:nth-child(3n) .card{
    top:0
  }

  .accomplishments{
    padding:3rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:0
  }

  .accomplishments .visa-inte-mobil{
    display:none
  }

  .accomplishments h4{
    margin-top:.5rem;
    margin-bottom:.5rem
  }

  .home-main .products{
    padding-top:3rem
  }

  .home-main .products .mb-16{
    margin-bottom:2rem
  }

  .home-main .products .products-container{
    height:80vh;
    display:flex;
    width:100%;
    flex-direction:column
  }

  .home-main .products .product{
    height:16vh;
    transition:none
  }

  .home-main .products .product .detail-container{
    opacity:100;
    transition:none;
    bottom:0
  }

  .home-main .products .product:hover{
    flex-basis:0
  }

  .home-main .products .product:hover .detail-container{
    opacity:1
  }

  .home-main .products .details{
    border-radius:.5rem;
    font-weight:500
  }

  .home-main .products .text-3xl{
    font-size:1rem;
    line-height:1.25rem
  }

  .home-main .products .bg-dark{
    background-color:rgba(32,32,32,.4588235294)
  }
}

@keyframes primary-scroll{
  0%{
    transform:translateX(0)
  }

  100%{
    transform:translateX(-100%)
  }
}

@keyframes secondary-scroll{
  0%{
    transform:translateX(100%)
  }

  100%{
    transform:translateX(0)
  }
}

main.products{
  top:0;
  left:0;
  right:0;
  bottom:0;
  position:absolute;
  overflow-y:scroll;
  scroll-behavior:smooth
}

main.products footer{
  z-index:99;
  position:relative
}

.scrolldown-indicator{
  display:flex;
  position:absolute;
  align-items:center;
  justify-content:space-around;
  width:300px;
  z-index:99;
  bottom:4rem;
  left:50%;
  transform:translateX(-50%);
  transition:opacity .2s ease-out
}

.scrolldown-indicator .scroll{
  width:60px;
  height:60px;
  border:2px solid #da1489;
  border-radius:50%;
  position:relative;
  animation:down 1.5s infinite;
  -webkit-animation:down 1.5s infinite
}

.scrolldown-indicator .scroll::before{
  content:"";
  position:absolute;
  top:15px;
  left:18px;
  width:18px;
  height:18px;
  border-left:2px solid #da1489;
  border-bottom:2px solid #da1489;
  transform:rotate(-45deg)
}

.scrolldown-indicator.hide{
  opacity:0
}

@keyframes down{
  0%{
    transform:translate(0)
  }

  20%{
    transform:translateY(15px)
  }

  40%{
    transform:translate(0)
  }
}

section.product-hero,section.product{
  background:#fff;
  color:#2c2c2c
}

section.product-hero .showcase,section.product .showcase{
  width:100%;
  min-height:100vh;
  height:auto;
  position:sticky;
  top:0;
  z-index:10
}

section.product-hero .height,section.product .height{
  height:50vh;
  position:sticky;
  top:0
}

section.product-hero .bg,section.product .bg{
  position:absolute;
  top:0;
  left:0;
  height:100vh;
  width:100%;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat
}

section.product-hero .product-content,section.product .product-content{
  position:relative;
  left:0;
  width:100%;
  height:100%;
  z-index:99;
  opacity:0;
  transition:all .4s ease;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transform:translateY(4rem)
}

section.product-hero .product-content.show,section.product .product-content.show{
  transform:translateY(0);
  opacity:1
}

section.product-hero:nth-of-type(3n-1),section.product:nth-of-type(3n-1){
  background-color:#202020;
  color:#fff
}

section.product-hero:nth-of-type(3n),section.product:nth-of-type(3n){
  background-color:#f2f2f2;
  color:#2c2c2c
}

@media(max-width: 639px){
  section .product-content{
    padding-top:calc(63vh + 5rem)
  }
}

@media(min-width: 640px){
  section .product-content{
    padding-top:calc(63vh + 4rem)
  }
}

@media(min-width: 1024px){
  section .height{
    min-height:100vh
  }
}

@media(min-width: 1280px){
  section .product-content{
    padding-top:30vh
  }
}

@media not (background-attachment: fixed){
  .bg{
    background-attachment:none
  }
}

@supports(-webkit-touch-callout: none){
  .bg{
    background-attachment:none
  }
}

@supports not (-webkit-touch-callout: none){
  .bg{
    background-attachment:fixed
  }
}

.prodcut-category-header-titel{
  align-items: center;
  justify-content: flex-start;
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
  padding-left: 1.25rem
}

.project-category-header-text-container{
  padding-top:3rem;
  padding-bottom:3rem
}

.project-category-header-text{
  padding-left:3rem;
  padding-right:3rem;
  text-align:left
}

.product-category-buttons{
  padding-left:3rem;
  padding-right:3rem;
  padding-bottom:3rem;
  padding-top:1rem;
  display: flex;
  gap: 0.75rem
}

.product-category-text-content{
  padding-left:3rem;
  padding-right:3rem;
  padding-top:3rem
}

.term-description{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  padding-top:1rem;
  max-width: 36rem
}

.productCat-mobile-images{
  display: block
}

@media (min-width: 768px){
  .productCat-mobile-images{
    display: none;
  }
}

.productCat-images{
  display: none
}

@media (min-width: 768px){
  .productCat-images{
    display: block;
  }
}

@media(min-width: 40rem){
  .prodcut-category-header-titel{
    padding-left: 12rem;
    padding-right: 12rem
  }

  .project-category-header-text-container{
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .project-category-header-text{
    display: block
  }

  .product-category-buttons{
    padding-left:4rem;
    padding-right:4rem;
    padding-bottom:4rem;
    padding-top:0rem;
    display: flex;
    gap: 1.25rem
  }

  .product-category-text-content{
    padding-left:4rem;
    padding-right:4rem;
    padding-bottom:3rem;
    padding-top:4rem
  }

  .term-description{
    display: block;
    max-width: 36rem;
    padding-top:3rem
  }

  .productCat-images{
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    height:36.875rem
  }

  .productCat-mobile-images{
    display: none
  }

  .project-category-header-text{
    max-width: 36rem
  }
}

@media(min-width: 50rem){
  .prodcut-category-header-titel{
    padding-left: 12rem;
    padding-right: 12rem
  }

  .project-category-header-text-container{
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .project-category-header-text{
    display: block
  }

  .product-category-buttons{
    display: flex;
    gap: 1.25rem;
    padding-left: 9rem;
    padding-right: 9rem;
    padding-bottom: 9rem
  }

  .product-category-text-content{
    padding-left:9rem;
    padding-right:9rem;
    padding-bottom:3rem;
    padding-top:9rem
  }

  .term-description{
    padding-top:3rem;
    display: block;
    max-width: 36rem
  }

  .productCat-images{
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    height:36.875rem
  }

  .productCat-mobile-images{
    display: none
  }

  .project-category-header-text{
    max-width: 36rem
  }
}

.projekt-bilder{
  width:100vw;
  height:25%;
  min-height:25%
}

.hero-project{
  height:40vh;
  min-height:40vh;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  position:relative
}

.hero-project h1{
  z-index:60
}

.hero-project::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  background-image:radial-gradient(rgba(32, 32, 32, 0), rgba(32, 32, 32, 0.64));
  background-size:cover
}

.enskild-bild{
  height:100%;
  min-height:100%;
  width:100%
}

.bilder-grid-cols{
  grid-template-columns:repeat(var(--image-count), 1fr)
}

@media screen and (min-width: 640px){
  .projekt-bilder{
    height:40%;
    min-height:40%
  }

  .hero-project{
    height:75vh;
    min-height:75vh
  }
}

.modal{
  display:none;
  position:fixed;
  z-index:100;
  left:0;
  top:0;
  width:100vw;
  height:100vh;
  overflow:auto;
  background-color:#000;
  background-color:rgba(0,0,0,.4);
  -webkit-backdrop-filter:blur(10px);
          backdrop-filter:blur(10px);
  justify-content:center;
  align-items:center
}

.modal .modal-content{
  position:relative;
  background-color:#fefefe;
  margin:auto;
  width:80vw;
  max-height:70vh
}

@media screen and (min-width: 640px){
  .modal img{
    height:100%;
    -o-object-fit:contain;
       object-fit:contain
  }

  .modal .modal-content{
    max-height:calc(100vh - 10rem);
    width:auto
  }
}

.contact-modal{
  display:none;
  position:fixed;
  z-index:100;
  left:0;
  top:0;
  overflow:auto;
  background-color:#000;
  background-color:rgba(0,0,0,.4);
  -webkit-backdrop-filter:blur(10px);
          backdrop-filter:blur(10px);
  justify-content:center;
  align-items:center
}

#contact-form-container #contact-success-screen{
  transition:.4s ease
}

#contact-form-container.success form{
  left:calc(-100% - 4rem)
}

#contact-form-container.success #contact-success-screen{
  left:0
}

#contact-form-container.error form{
  left:calc(-100% - 4rem)
}

#contact-form-container.error #contact-fail-screen{
  left:0
}

#contact-btn{
  width:12rem;
  height:2.5rem;
  position:relative
}

#contact-btn::before{
  content:"";
  left:0;
  top:0;
  bottom:0;
  right:calc(100% - var(--loadingProcess));
  transition:right var(--loadingTransition) ease-out;
  background-color:#cb107e;
  z-index:100;
  position:absolute
}

#contact-btn span{
  transition:all .3s ease;
  z-index:101;
  left:0;
  right:0;
  top:100%;
  position:absolute;
  height:100%;
  display:flex;
  justify-content:center;
  align-items:center
}

#contact-btn span.loading img{
  position:relative;
  animation:loading 1s infinite linear
}

#contact-btn.loading:hover,#contact-btn.done:hover,#contact-btn.error:hover{
  background-color:#da1489
}

#contact-btn.submit .submit{
  top:0
}

#contact-btn.loading .submit{
  top:-100%
}

#contact-btn.loading .loading{
  top:0
}

#contact-btn.done .submit,#contact-btn.done .loading{
  top:-100%
}

#contact-btn.done .done{
  top:0
}

#contact-btn.error .submit,#contact-btn.error .loading{
  top:-100%
}

#contact-btn.error .error{
  top:0
}

#contact-btn.error .error img{
  filter:invert(99%) sepia(1%) saturate(1%) hue-rotate(105deg) brightness(104%) contrast(100%)
}

@keyframes loading{
  from{
    transform:rotate(0deg)
  }

  to{
    transform:rotate(360deg)
  }
}

.kontakt-icon{
  width:1.4rem
}

.kontakt-kort{
  position:relative;
  width:80vw;
  height:auto;
  max-height:95vh;
  max-width:37.5rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  background-color:#fff;
  color:#202020;
  border-radius:16px;
  grid-template-columns:35% auto;
  padding:2.3rem 2rem 1.75rem 2rem
}

.kontakt-kort .close{
  position:absolute;
  color:#aaa;
  display:flex;
  align-self:flex-end;
  font-size:28px;
  top:.5rem;
  right:.6rem;
  padding-right:.35rem
}

.kontakt-kort .close:hover,.kontakt-kort .close:focus{
  color:#000;
  text-decoration:none;
  cursor:pointer
}

.kontakt-kort .contact-input{
  width:100%;
  border-radius:8px;
  padding:.4rem .5rem;
  margin-bottom:.5rem;
  background:#f2f2f2
}

.kontakt-kort .contact-input:focus{
  outline:none
}

.kontakt-kort input{
  height:35px
}

@media(min-width: 600px){
  .kontakt-kort{
    padding:3.5rem 5rem;
    width:70vw
  }

  .close{
    top:1.5rem;
    right:1.5rem
  }
}

@media screen and (min-width: 800px){
  .kontakt-kort{
    padding:3rem 5rem;
    width:70vw
  }
}

@media(min-width: 1130px){
  .kontakt-kort{
    width:60vw
  }
}

@media(min-width: 1280px){
  .kontakt-kort{
    width:40vw
  }
}

.hero-om{
  height:35vh;
  min-height:35vh;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  position:relative
}

.hero-om h1{
  z-index:60
}

.hero-om::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  background-image:radial-gradient(rgba(32, 32, 32, 0), rgba(32, 32, 32, 0.64));
  background-size:cover
}

.prodcut-category-header-titel{
  padding-left:2rem
}

.foretags-info{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100vw
}

.anstallda-container{
  display:grid;
  width:100vw;
  grid-template-columns:repeat(1, 1fr)
}

.placering{
  display:flex;
  flex-direction:column
}

.anstalld-kort{
  position:relative;
  height:35.5rem;
  width:100%;
  overflow:hidden
}

.anstalld-bild{
  position:relative;
  height:100%
}

.anstalld-bild img{
  -o-object-fit:cover;
     object-fit:cover;
  height:100%;
  width:100%
}

.anstalld-box{
  position:absolute;
  z-index:49;
  width:100%;
  height:11.5rem;
  bottom:0;
  left:0;
  background-color:rgba(0,0,0,.05);
  -webkit-backdrop-filter:blur(10px);
          backdrop-filter:blur(10px);
  -webkit-mask:-webkit-gradient(linear, left 45%, left 0%, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)))
}

.anstalld-info{
  position:absolute;
  z-index:50;
  width:100%;
  height:auto;
  bottom:0;
  left:0;
  padding-left:2rem;
  padding-bottom:2rem;
  padding-top:2rem;
  color:#fff
}

.anstalld-info .kontakt-icon{
  filter:brightness(0) invert(1)
}

.text-bold{
  font-weight:bold
}

@media screen and (min-width: 640px){
  .hero-om{
    height:45vh;
    min-height:45vh
  }

  .prodcut-category-header-titel{
    padding-left:8rem
  }

  .anstallda-container{
    grid-template-columns:repeat(2, 1fr)
  }

  .anstalld-kort{
    height:37.125rem
  }

  .anstalld-info h3{
    line-height:2rem;
    padding-bottom:.75rem
  }
}

@media screen and (min-width: 850px){
  .anstallda-container{
    grid-template-columns:repeat(3, 1fr)
  }

  .hero-om{
    height:85vh;
    min-height:85vh
  }

  .anstalld-kort{
    height:27rem
  }
}

@media screen and (min-width: 1024px){
  .anstalld-kort{
    height:35rem
  }
}

@media screen and (min-width: 1400px){
  .anstalld-kort{
    height:50.625rem
  }
}

@media screen and (min-width: 2250px){
  .anstallda-container{
    grid-template-columns:repeat(5, 1fr)
  }
}

.bodyfyrnollfyr{
  margin:0;
  padding:0;
  width:100vw;
  height:100vh;
  overflow:hidden;
  background-color:#f2f2f2
}

.backgroundfyrnollfyr{
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  width:100vw;
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  -webkit-background-clip:text;
  background-clip:text
}

.fyranollfyra{
  color:rgba(0,0,0,0);
  font-size:10rem
}

@media screen and (min-width: 40rem){
  .fyranollfyra{
    font-size:20rem
  }

  .gatillstart{
    font-size:1.4rem
  }
}

.faq-main-container{
  display: flex;
  flex-direction: column;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2rem;
  padding-bottom: 2rem
}

.faq-chapter-titels-buttons{
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 1.75rem
}

.faq-buttons{
  white-space:nowrap;
  display: flex
}

.faq-buttons-desktop{
  display:none
}

.faq-titles{
  display:flex;
  padding-top:1.75rem
}

.faq-titles h3{
  font-weight: 500
}

.faq-fraga-container{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem
}

.faq-fraga p{
  background-color:#2c2c2c;
  color:#fff;
  border-radius:10px;
  padding-left:20px;
  padding-right:20px;
  display:inline-block;
  text-align:left;
  padding-top:10px;
  padding-bottom:10px
}

.faq-svar p{
  background-color:#f2f2f2;
  border-radius:10px;
  margin-left:25px;
  display:inline-block;
  padding-left:20px;
  padding-right:20px;
  padding-top:10px;
  padding-bottom:10px
}

.faq-svar-container{
  padding-top: 0.25rem;
  padding-bottom: 1.25rem
}

.karusell{
  display:flex;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch
}

.faq-chapter-titel-desktop{
  display:none
}

.karusell::-webkit-scrollbar{
  -webkit-appearance:none;
  width:.1px;
  height:.1px
}

.karusell::-webkit-scrollbar-thumb{
  background-color:rgba(0,0,0,0)
}

@media(min-width: 55rem){
  .faq-main-container{
    flex-direction: row;
    padding-left: 8rem;
    padding-right: 8rem;
    padding-top: 10rem;
    padding-bottom: 8rem
  }

  .faq-chapter-titels-buttons{
    flex-direction: column
  }

  .faq-fraga-svar>.faq-titles:not(:first-child){
    padding-top:7rem
  }

  .faq-fraga-svar>.faq-titles:first-child{
    padding-top:0em
  }

  .faq-chapter-titel-desktop{
    justify-content: flex-start
  }

  .faq-buttons-desktop{
    display:flex
  }

  .btn-mobile{
    display:none
  }

  .karusell{
    display:flex;
    overflow-x:auto
  }

  .karusell::-webkit-scrollbar{
    display:none
  }

  .faq-titles h3{
    font-weight: 500
  }

  .faq-fraga-container{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
  }

  .faq-fraga p{
    background-color:#2c2c2c;
    color:#fff;
    border-radius:10px;
    padding-left:20px;
    padding-right:20px;
    display:inline-block;
    text-align:left;
    padding-top:10px;
    padding-bottom:10px
  }

  .faq-svar p{
    background-color:#f2f2f2;
    border-radius:10px;
    margin-left:64px;
    display:inline-block;
    padding-left:20px;
    padding-right:20px;
    padding-top:10px;
    padding-bottom:10px
  }

  .faq-fraga-svar{
    width:40vw
  }

  .faq-chapter-titel-desktop{
    width:60vw;
    display: flex;
    flex-direction: column;
    justify-content: flex-start
  }

  .sticky-div{
    position:relative;
    z-index:97
  }

  .btn-desktop{
    padding:.5rem;
    padding-left:1.5rem;
    width:35vw;
    font-size:1rem;
    transition:all .2s ease;
    border-radius:.5em
  }

  .btn-desktop.default{
    background-color:#2c2c2c;
    color:#fff;
    border:1px solid #2c2c2c
  }

  .btn-desktop.active{
    background-color:#2c2c2c;
    color:#fff
  }

  .btn-desktop:hover{
    border-color:#2c2c2c;
    color:#fff;
    background-color:#2c2c2c
  }
}

.jobs-main{
  grid-template-columns:100%
}

.jobs-main .selected-job p{
  width:100%;
  max-width:100%
}

.jobs-main .content p{
  margin-bottom:2rem
}

.jobs-main .available-job{
  width:100%;
  max-width:100%
}

.jobs-main .jobs-container .content{
  height:4.6rem;
  max-height:4.6rem;
  overflow:hidden
}

.jobs-main .jobs-container .content p{
  line-clamp:3;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical
}

.available-job .tags,.selected-job .tags{
  max-width:100%;
  overflow:auto
}

.apply-modal{
  background-color:rgba(0,0,0,.4);
  -webkit-backdrop-filter:blur(1rem);
          backdrop-filter:blur(1rem);
  z-index:999
}

.apply-modal form{
  text-align:left
}

.apply-modal form .form-input{
  position:relative;
  margin-bottom:.6rem
}

.apply-modal form .form-input label{
  position:absolute;
  top:50%;
  transform:translateY(calc(-50% + 2px));
  left:1rem;
  color:#999
}

.apply-modal form .form-input label.top-orient{
  top:.6rem;
  transform:translateY(0)
}

.apply-modal form .form-input label.label-required::after{
  content:"*";
  position:absolute;
  top:0;
  right:-0.7rem;
  color:#da1489;
  text-align:right
}

.apply-modal form .form-input input,.apply-modal form .form-input textarea{
  width:100%;
  background-color:#f2f2f2;
  border-radius:8px;
  padding:.4rem 1rem;
  outline:none
}

.apply-modal form .form-input input:not(:-moz-placeholder-shown)~label, .apply-modal form .form-input textarea:not(:-moz-placeholder-shown)~label{
  display:none
}

.apply-modal form .form-input input:not(:placeholder-shown)~label,.apply-modal form .form-input input:focus~label,.apply-modal form .form-input textarea:not(:placeholder-shown)~label,.apply-modal form .form-input textarea:focus~label{
  display:none
}

.apply-modal form .files-container{
  padding:1em 0
}

.apply-modal form .files-container .file-input{
  margin-bottom:.4rem
}

.apply-modal form .files-container .file-input p{
  font-size:.9rem
}

.apply-modal form .files-container .file-input label{
  font-size:.8rem
}

.apply-modal form .files-container .file-input input{
  display:none
}

.apply-modal #form-step-container form,.apply-modal #form-step-container #success-application-screen{
  transition:.4s ease
}

.apply-modal #form-step-container.success form{
  left:calc(-100% - 4rem)
}

.apply-modal #form-step-container.success #success-application-screen{
  left:0
}

.apply-modal #form-step-container.error form{
  left:calc(-100% - 4rem)
}

.apply-modal #form-step-container.error #fail-application-screen{
  left:0
}

.apply-modal #apply-btn{
  width:12rem;
  height:2.5rem;
  position:relative
}

.apply-modal #apply-btn::before{
  content:"";
  left:0;
  top:0;
  bottom:0;
  right:calc(100% - var(--loadingProcess));
  transition:right var(--loadingTransition) ease-out;
  background-color:#cb107e;
  z-index:100;
  position:absolute
}

.apply-modal #apply-btn span{
  transition:all .3s ease;
  z-index:101;
  left:0;
  right:0;
  top:100%;
  position:absolute;
  height:100%;
  display:flex;
  justify-content:center;
  align-items:center
}

.apply-modal #apply-btn span.loading img{
  position:relative;
  animation:loading 1s infinite linear
}

.apply-modal #apply-btn.loading:hover,.apply-modal #apply-btn.done:hover{
  background-color:#da1489
}

.apply-modal #apply-btn.submit .submit{
  top:0
}

.apply-modal #apply-btn.loading .submit{
  top:-100%
}

.apply-modal #apply-btn.loading .loading{
  top:0
}

.apply-modal #apply-btn.done .submit,.apply-modal #apply-btn.done .loading{
  top:-100%
}

.apply-modal #apply-btn.done .done{
  top:0
}

.apply-modal #apply-btn.error .submit,.apply-modal #apply-btn.error .loading{
  top:-100%
}

.apply-modal #apply-btn.error .error{
  top:0
}

.apply-modal #apply-btn.error .error img{
  filter:invert(99%) sepia(1%) saturate(1%) hue-rotate(105deg) brightness(104%) contrast(100%)
}

@keyframes loading{
  from{
    transform:rotate(0deg)
  }

  to{
    transform:rotate(360deg)
  }
}

@media(max-width: 1279px){
  .selected-job:not(.empty){
    position:fixed;
    background:rgba(0,0,0,.2509803922);
    -webkit-backdrop-filter:blur(1rem);
            backdrop-filter:blur(1rem);
    z-index:880;
    left:0;
    top:0;
    right:0;
    bottom:0
  }

  .selected-job:not(.empty) .job-container{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    background-color:#fff
  }

  .selected-job:not(.empty) .job-container .content{
    max-height:30vh;
    overflow:auto
  }
}

@media(min-width: 1280px){
  .jobs-main{
    grid-template-columns:35% auto
  }

  .available-job{
    max-width:42rem
  }
}

@media (min-width: 640px){

  .sm\:p-40{
    padding: 10rem;
  }

  .sm\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }
}

@media (min-width: 768px){

  .md\:block{
    display: block;
  }

  .md\:flex-row{
    flex-direction: row;
  }

  .md\:p-16{
    padding: 4rem;
  }

  .md\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .md\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .md\:pl-20{
    padding-left: 5rem;
  }

  .md\:text-left{
    text-align: left;
  }
}

@media (min-width: 1280px){

  .xl\:max-w-xl{
    max-width: 36rem;
  }

  .xl\:max-w-2xl{
    max-width: 42rem;
  }

  .xl\:gap-8{
    gap: 2rem;
  }

  .xl\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .xl\:pl-56{
    padding-left: 14rem;
  }

  .xl\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

@media (min-width: 1536px){

  .\32xl\:max-w-3xl{
    max-width: 48rem;
  }

  .\32xl\:justify-around{
    justify-content: space-around;
  }

  .\32xl\:gap-40{
    gap: 10rem;
  }

  .\32xl\:gap-72{
    gap: 18rem;
  }

  .\32xl\:px-36{
    padding-left: 9rem;
    padding-right: 9rem;
  }

  .\32xl\:px-40{
    padding-left: 10rem;
    padding-right: 10rem;
  }
}
