@font-face {
    font-family: libertine;
    src: url("/fonts/LINLIBERTINE_RAH.TTF");
}
@font-face {
    font-family: libertine-semibold;
    src: url("/fonts/LINLIBERTINE_RZAH.TTF");
}
@font-face {
    font-family: custom;
    src: url("/fonts/Custom.ttf");
}

body {
    color: #ffffff;
    background-color: #222A35;
    margin: 0;
    font-family: Libertine, serif;
    font-feature-settings: "liga";
    -webkit-user-select: none;
    user-select: none;
    
}
header {
    -webkit-user-select: none;
    user-select: none;
}

/* Fonts */
.ff-libertine-semibold
{
    font-family: libertine-semibold;
}
.ff-libertine {
    font-family: libertine;
}
.ff-custom {
    font-family: custom;
}

/* Font Params */
.small-caps {
    font-feature-settings: "smcp";
}
.fs-custom-lite-small {
    font-size: calc(0.8rem + 0.7vw) !important;
}
.fs-custom-lite {
    font-size: calc(1rem + 0.7vw) !important;
}
.fs-custom {
    font-size: calc(1.1rem + 0.7vw) !important;
}
.fs-large {
    font-size: calc(3rem + 2.2vw) !important;
}
.fs-plc {
  font-size: 1.2rem !important;
}
@media (max-width: 991.98px) {
    .fs-plc {
        font-size: 0.78rem !important;
      }
}
.fs-print {
    font-size: 1.3rem !important;
}
@media (max-width: 991.98px) {
    .fs-print {
        font-size: 1rem !important;
    }
}
.fc-dark {
    color: #0d1821;
}
.fc-orange {
    color: #eb761d;
}
.fc-lime {
    color: #ADCF00;
}
.fc-blue {
    color: #0192ED;
}
.fc-white {
    color: #ffffff;
}
.fc-gold {
    color: #7F6000;
}
.fc-burnt {
    color: #843C0C;
}
.fc-crimson {
    color: #A72237;
}
.fc-wheat {
    color: #F4B183;
}
.fc-deep {
    color: #203864;
}
.fc-twilight {
    color: #3f5680;
}
.fc-maize {
    color: #FFD966;
}
.fc-yellow {
    color: #FFCD00;
}
.fc-baby {
    color: #FE0154;
}

.hanging {
    /* Not Fully Supported */
    /*text-indent: 0.15rem hanging;*/
    text-indent: -0.15rem;
    margin-left: 0.15rem;
}
.text-shadow {
    text-shadow: -2px 1px 10px #0000004d;
}
.drop-shadow {
    filter: drop-shadow(-2px 1px 10px #0000004d);
}
.font-hover-white:hover, font-hover-white.active {
    color: #ffffff;
}
.font-hover-light:hover, font-hover-light.active {
    color: #333F50;;
}
.text-vertical {
    writing-mode: vertical-rl;
}
.text-rotate {
    transform: rotate(180deg);
}
.text-nowrap {
    white-space: nowrap !important;
}

.lh-1 {
    line-height: 1 !important;
}
.lh-sm {
    line-height: 1.25 !important;
}  

/* Div Height */
.height-10 {
    height: 10vh;
}
.height-50 {
    height: 50vh;
}
.height-75 {
    height: 75vh;
}
.height-100 {
    min-height: 100vh;
}
.height-adaptive {
    height: 100vh;
}
@media (max-width: 767.98px) {
    .height-adaptive {
        height: 50vh;
    }
}
.height-full {
    height: 100%;
}

/* Background Color*/
.background-dark {
    background-color: #222A35;
}
.background-light {
    background-color: #333F50;
}
.background-lime {
    background-color: #ADCF00;
}
.background-orange {
    background-color: #eb761d;
}
.background-maize {
    background-color: #FFD966;
}
.background-wheat {
    background-color: #F4B183;
}
.background-baby {
    background-color: #8FAADC;
}
.background-baby-dark {
    background-color: #ADB9CA;
}
.background-baby-darkest {
    background-color: #9ba5b4;
}
.background-sky {
    background-color: #0083DE;
}
.background-blue {
    background-color: #0192ED;
}

/* Vertical Border */
.border-thin-start {
    border-left: solid 0.15rem;
}
.border-thin-end {
    border-right: solid 0.15rem;
}
.border-thick-start {
    border-left: solid 0.8rem;
}
.border-thick-end {
    border-right: solid 0.8rem;
}
.border-regular-end {
    border-right: solid 0.5rem;
}
.border-regular-end-desktop {
    border-right: solid 0.5rem;
}
@media (max-width: 991.98px) {
    .border-regular-end-desktop {
        border-right: none;
    }
}


/* Horizontal Border */
.border-thin-bottom {
    border-bottom: solid 0.15rem;
}
.border-thin-top {
    border-top: solid 0.15rem;
}
.border-regular-top {
    border-top: solid 0.5rem;
}
.border-regular-bottom {
    border-bottom: solid 0.5rem;
}
.border-regular-bottom-mobile {
    border-bottom: none;
}
@media (max-width: 991.98px) {
    .border-regular-bottom-mobile {
        border-bottom: solid 0.5rem;
    }
}

/* Outside Border */
.border-outside {
    border: solid 0.5rem;
}

/* Border Color */
.border-lime {
    /* border-color: #C1E700; */
    border-color: #ADCF00;
}
.border-white {
    border-color: #ffffff;
}
.border-orange {
    border-color: #eb761d;
}
.border-blue {
    border-color: #0192ED;
}
.border-neon {
   border-color: #FE0154;
}
.border-yellow {
    border-color: #FFCD00;
}
.border-crimson {
    border-color: #A72237;
}
.border-deep {
    border-color: #203864;
}

/* Parallax */
.parallax {
    position: -webkit-sticky;
    position: sticky;
    top: -20vh;
    z-index: -2;
}
.parallax-other {
    position: -webkit-sticky;
    position: sticky;
    top: -30vh;
    z-index: -2;
}
/* Overlay */
.overlay {
    position: relative;
    top: 1rem;
    max-width: calc(1.2rem + 3.5vw);
}
.listWipe li {
    opacity: 0;
}
.shout  {
    animation: wipeUp 0.75s forwards;
    animation-delay: 0s;
}
.shout li:nth-child(1) {
    animation: wipeUp 0.75s forwards;
    animation-delay: 0s;
}
.shout li:nth-child(2) {
    animation: wipeUp 0.75s forwards;
    animation-delay: 0.5s;
}
.shout li:nth-child(3) {
    animation: wipeUp 0.75s forwards;
    animation-delay: 1s;
}
.shout li:nth-child(4) {
    animation: wipeUp 0.75s forwards;
    animation-delay: 1.5s;
}
.shout li:nth-child(5) {
    animation: wipeUp 0.75s forwards;
    animation-delay: 2s;
}
.shout li:nth-child(6) {
    animation: wipeUp 0.75s forwards;
    animation-delay: 2.5s;
}
.shout li:nth-child(7) {
    animation: wipeUp 0.75s forwards;
    animation-delay: 3s;
}

/* Wipe-Up Entrance */
.wipe-up {
    animation: wipeUp 0.75s forwards;
    animation-play-state: paused;
}
@keyframes wipeUp {
    from {
        opacity: 0;
        -webkit-transform: translateY(0.75rem);
        transform: translateY(0.75rem);
    }
    to {
        opacity: 1;
    }
}

/* Grow on Hover */
.hover-grow:hover {
    transform: scale(1.02);
}

/* Fade-in Entrance */
.hidden {
    opacity: 0.2;
}
.appear {
    animation: fade-in 2s forwards;
}
@keyframes fade-in{
    from {opacity: 0.2;}
    to {opacity: 1;}
}

/* Rolling Numbers */
#counter {
    backface-visibility: hidden;
    height: calc(3rem + 2.2vw) !important;
    overflow-y: hidden !important;
}
#counter span{
    font-size: calc(3rem + 2.2vw) !important;
    line-height: 1em;
}
.digit {
    float:left;
    list-style-type: none;
    font-size: calc(3rem + 2.2vw) !important;
    line-height: 1em;
    margin: 0;
    padding: 0;
}
@media (min-width: 1800px) {
    #counter {
        height: calc(3.5rem + 2vw) !important;
        overflow-y: hidden !important;
    }
    #counter span{
        
        font-size: calc(3.5rem + 2vw) !important;
        line-height: 1em;
    }
    .digit {
        float:left;
        list-style-type: none;
        font-size: calc(3.5rem + 2vw) !important;
        line-height: 1em;
        margin: 0;
        padding: 0;
    }
}
.speed-1 {
    animation: 1s slot ease forwards;
}
.speed-2 {
    animation: 1.5s slot ease forwards;
}
.speed-3 {
    animation: 2s slot ease forwards;
}
@keyframes slot {
    100% {
        margin-top: -10em;
    }
}

/* Header & Footer */
/* Anchor Styling */
.anchor-styling a,ul,li {
    list-style: none !important;
    text-decoration: none !important;
    color: #ffffff;
    padding: 0;
    margin: 0;
}

#header-outer {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: center;
}
#brand {
    font-size: calc(2.1rem + 2vw) !important;
    line-height: calc(1.2rem + 1.5vw) !important;
}
@media (max-width: 991.98px) {
    #brand {
        font-size: calc(1.6rem + 1.8vw) !important;
        line-height: calc(1.5rem + 1.5vw) !important;
    }
}
#tagline {
    font-size: calc(1rem + 0.7vw) !important;
}
@media (max-width: 991.98px) {
    #tagline {
        font-size: calc(1.6rem + 0.7vw) !important;
        line-height: 2rem;
    }
}
#logo {
    min-width: 6rem;
    width: 5.5vw;
    height: auto;
}
#logo-small {
    position: relative;
    top: 1rem;
}
.navigation {
    display: flex;
    justify-content: center;
    font-size: calc(1.1rem + 0.75vw) !important;;
}
.navigation li {
    margin: 0 0.9rem;
}
.navigation ul li{
    display: inline !important;
    list-style: none !important;
}
.navigation a {
    color: #000000;
    text-decoration: none !important;
}
.navigation a:hover {
    color: #0000006e;
    text-decoration: none !important;
}
.navigation a.active {
    color: #000000;
    font-family: libertine-semibold;
}

/* Off Canvas Navigation */
.close-btn {
    font-size: 30px;
    margin: 1rem;
    color: #ffffff;
}
#hamburger {
    position: relative;
    top: -1rem;
}
.offcanvas-navigation {
    position: fixed;
    z-index: 3;
    top: 0;
    right: 0;
    background: #222A35;
    width: 300px;
    height: 100vh;
    transform: translateX(100%);
    transition: all .4s ease;
}

.offcanvas-navigation.active {
    transform: translateX(0);
}

.offcanvas-navigation ul{
    padding: 0;
    list-style: none;
}

.offcanvas-navigation li{
    padding: 0.5rem 0;
}

.offcanvas-navigation ul li a {
    font-size: 1.5rem;
    color: #ffffff;
    font-weight: 400;
    text-decoration: none;
    transition: all .4s ease;
}

.offcanvas-navigation li a:hover {
    color: #ADCF00;
}

.offcanvas-navigation img {
    width: 250px;
    margin: 0;
}

.offcanvas-navigation a.active {
    border-bottom: 0.25rem solid #ADCF00;
}

/* Scroll Me Hint */

#hint-arrow{
    position: absolute;
    bottom: 30px;
    left: 50%;
    width: 32px;
    height: 16px;
    margin-left: -16px;
    animation: bounce 2s infinite;
}
#hint-text-1{
    position: absolute;
    bottom: 50px;
    left: 50%;
    margin-left: -61px;
    font-family: libertine;
    font-size: 1.6rem;
    opacity: 0.9;
    animation: bounce 2s infinite;
}
#hint-text-2{
    position: absolute;
    bottom: 50px;
    left: 50%;
    margin-left: -95px;
    font-family: libertine;
    font-size: 1.6rem;
    opacity: 0.9;
    animation: bounce 2s infinite;
}
#hint-text-3{
    position: absolute;
    bottom: 50px;
    left: 50%;
    margin-left: -150px;
    font-family: libertine;
    font-size: 1.6rem;
    opacity: 0.9;
    animation: bounce 2s infinite;
}
#hint-text-4{
    position: absolute;
    bottom: 50px;
    left: 50%;
    margin-left: -80px;
    font-family: libertine;
    font-size: 1.6rem;
    opacity: 0.9;
    animation: bounce 2s infinite;
}
#hint-ProductLineCard{
    position: absolute;
    bottom: 50px;
    left: 50%;
    margin-left: -96px;
    font-family: libertine;
    font-size: 1.6rem;
    opacity: 0.9;
    animation: bounce 2s infinite;
}
/* Applied to Scroll Me Hint */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      transform: translateY(0);
    }
    40% {
      transform: translateY(-15px);
    }
    60% {
      transform: translateY(-8px);
    }
}

/* Landing Animations */
.delay-background-WhoWeAre {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    animation: delayBackground0 1.5s forwards;
}
.rotate-grow {
    animation: grow 0.75s forwards;
}
@media (min-width: 992px) {
    .rotate-grow {
        animation: rotateGrow 0.75s forwards;
    }
    .wipe-down {
        opacity: 0;
        animation: wipeDown 0.75s forwards;
        animation-delay: 0.75s;
    }
}
@keyframes delayBackground0 {
    from {
        opacity: 0;
    }
    to {
        background-image:url(/images/IMG_1058E2.jpg);
    }
}
@keyframes grow {
    from {
        transform: scale(0%);
    }
}
@keyframes rotateGrow {
    from {
        transform: rotate(48deg) scale(0%);
    }
}
@keyframes wipeDown {
    from {
        opacity: 0;
        -webkit-transform: translateY(-0.75rem);
        transform: translateY(-0.75rem);
    }
    to {
        opacity: 1;
    }
}

/* Chamfered DIV Fields */
.chamfer-Manufacturing {
    background: linear-gradient(45deg, transparent 1rem, #F4B183 0), linear-gradient(315deg, transparent 1rem, #F4B183 0), 
        linear-gradient(225deg, transparent 1rem, #F4B183 0), linear-gradient(135deg, transparent 1rem, #F4B183 0);
    background-position: bottom left, bottom right, top right, top left;
    background-size: 51% 51%;
    background-repeat: no-repeat;
}

.chamfer-General {
    height: max-content;
    width: max-content;
    --notchSize: 40px;
    clip-path: 
      polygon(
        0% var(--notchSize), 
        var(--notchSize) 0%, 
        calc(100% - var(--notchSize)) 0%, 
        100% var(--notchSize), 
        100% calc(100% - var(--notchSize)), 
        calc(100% - var(--notchSize)) 100%, 
        var(--notchSize) 100%, 
        0% calc(100% - var(--notchSize))
      );
}