/* Fonts */
@font-face {
  font-family: "HaasGrotMedium.woff";
  src: url("/wp-content/themes/custoys/fonts/HaasGrotDisp-65Medium.woff") format("woff");
}

@font-face {
  font-family: "HaasGrotMedium_Italic.woff";
  src: url("/wp-content/themes/custoys/fonts/HaasGrotDisp-66MediumItalic.woff") format("woff");
}

/* Colors */
:root {
  --orange: #FFF55A;
  --white: #F0EFEB;
  --black: #000000;
  --blue: #B40A27;
}


/* Scroll */
html {
    scroll-behavior: smooth;
    background-color: var(--black);
}

body::-webkit-scrollbar,
html::-webkit-scrollbar {
  display: none;  /* Chrome, Safari and Opera */
}

body,
html {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* Sitewide */

* {
    min-width: 0;
}

body {
    margin: 0;
    padding-top: 0;
    font-family: "HaasGrotMedium.woff";
}

img,svg, video {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    display: block;
    height: auto;
}

h1,h2,h3,h4,h5,h6,p,a,span {
    display: block;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: normal;
}

p, li {
    margin-bottom: 1em;
}

figure {
    display: block;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
}

a {
    text-decoration: none;
    color: inherit;
}


ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0;
}

.hidden,
.always_hidden {
    display: none!important;
}

.main_width {
    padding-top: 5.3vw;
}

/* Header */
.header {
    display: flex;
    flex-direction: row;
    border-bottom: 0.4vw solid var(--white);
    background-color: var(--white);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

.header_logo {
    width: 5.2vw;
}



.header_menu {
    width: 86.15vw;
    padding-right: 2.6vw;
    padding-top: 1.3vw;
    padding-bottom: 1.3vw;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border-left: 0.4vw solid var(--white);
    gap: 2.7vw;
    background-color: var(--black);
}

.header_menu a {
    font-size: 2.3vw;
    line-height: 2.3vw;
    color: var(--white);
    text-decoration: none;
}

.header_menu a:hover,
.header_menu a.currentPage {
    color: var(--orange);
}

.header_colorSwitch {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: var(--white);
    width: 5.7vw;
}

.header_colorSwitch svg {
    width: 3.5vw;
    
}

.header_colorSwitch svg path,
.arrow svg path,
.acc_plus svg path,
.mobile_menu_icon svg path {
    fill: var(--black);
}

.client_link svg path,
.acc_plus.mobile_only svg path,
.acc_minus.mobile_only svg path,
.rotatedImgText svg path {
    fill: var(--white);
}

.header_logo svg path:first-child {
    fill: var(--orange);
}

.header_logo svg path:nth-child(2),
.header_logo svg path:nth-child(3),
.acc_minus svg path,
.gallery_icon_container svg path:nth-child(2),
.lb_icon svg path,
.footer_arrow svg path,
.footer_logo svg path,
.footer_logo_mini svg path,
.footer_logo_m svg path,
.gallery_icon_container svg path{
    fill: var(--blue);
}

/* Footer */
.footer {
    background-color: var(--orange);
    display: flex;
    flex-direction: row;
    color: var(--blue);
    overflow: hidden;
}

.footer_left {
    width: 88.675vw;
    padding-top: 3.125vw;
    padding-bottom: 3.125vw;
    padding-left: 2.6vw;
    padding-right: 3.125vw;
}

.footer_logo {
    width: 38.5vw;
    padding-bottom: 9.3vw;
}

.footer_bottom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: flex-end;
}

.footer_bottom_left {
    display: flex;
    flex-direction: row;
}

.footer_logo_line_left {
    display: flex;
    flex-direction: row;
    gap: 1.15vw;
    padding-right: 1.4vw;
    border-right: 0.25vw solid var(--blue);
}

.footer_logo_mini {
    width: 3.6vw;
    height: 3.6vw;
    cursor: pointer;
}

.footer_link:hover {
    color: var(--black);
}


@media (min-width: 769px) {
    .footer_logo_mini:hover svg path,
    .footer_logo_m:hover svg path{
        fill: var(--black);
    }
    
    .footer_logo_mini:nth-child(5) {
        width: 4vw;
    }

    
    .footer_logo_mini:nth-child(6) {
        margin-left: -0.2vw;
    }
    
}

.footer_logo_m {
    width: 14.65vw;
    padding-left: 1.4vw;
    cursor: pointer;
}

.footer_bottom_right {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    margin-bottom: -0.3vw;
}

.footer_bottom_right .textSmall {
    line-height: 1.5vw;
    margin-top: 0;
    display: inline;
    margin-bottom: 0;
}

.footer_bottom_right a {
    text-decoration: underline;
    text-decoration-thickness: 0.15vw;
    text-underline-offset: 0.1vw;
}

.footer_right {
    width: 5.2vw;
    border-left: 0.4vw solid var(--blue);
}

.footer_up {
    width: 5.22vw;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1vw;
    padding-bottom: 1vw;
    cursor: pointer;
    border-bottom: 0.4vw solid var(--blue);
}

.footer_up svg {
    width: 3.65vw;
    height: auto;
}

.footer_up svg path {
    fill: var(--blue);
}

.footer_contact {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.66vw;
    height: 100%;
}

.footer_arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 0.8vw;
    padding-bottom: 0.8vw;
}

.footer_arrow svg {
    width: 3.65vw;
    height: auto;
}

.footer_contact .textRotate {
    padding-right: 0;
    margin-right: -7.5vw;
}



/* About */
.section {
    display: flex;
    flex-direction: row;
    border-bottom: 0.4vw solid var(--white);
}

.drag_section {
    z-index: 9;
}

.section_title {
    width: 5.2vw;
    border-right: 0.4vw solid var(--white);
    color: var(--white);
    position: relative;
    z-index: 1;
    background-color: var(--black);
}

.section_title span {
    position: sticky;
    top: 5vw;
}

.section_content {
    color: var(--white);
    width: 94.5vw;
    position: relative;
    z-index: 2;
}

.lbFix.section_content {
    z-index: auto;
}

.about_section_1 .section_content .textTitle:first-child {
    max-width: 60vw;
}

.about_section_1 .section_content {
    padding-top: 3vw;
    padding-left: 1.66vw;
    width: 92.8vw;
    height: calc(100vh - 8.3vw);
}

.about_section_1 .section_content {
    position: relative;
}

.about_section_1 .textSmall {
    position: absolute;
    bottom: 0;
    margin-top: 1.6vw;
    padding-bottom: 4.4vw;
}

.about_section_1 .section_content .textTitle:nth-child(2) {
    width: 60vw;
}

.col2 .textBody p {
    padding-bottom: 4.4vw;
}

.section_content p {
    margin-bottom: 0;
    padding-bottom: 2vw;
}

.textRotate {
    padding-right: 3.4vw;
    width: min-content;
    transform: rotate(-90deg) translate(-100%, 0px);
    position: relative;
    white-space: nowrap;
    transform-origin: 0 0;
}

@media (min-width: 769px) {
    .section_title .textRotate {
        padding-top: 0.3vw;
    }
}


.about_section_3 .textRotate {
    padding-right: 3.95vw;
}

.textTitle {
    font-size: 9.3vw;
    line-height: 8.3vw;
}

.textTitle2 {
    font-size: 3.6vw;
}

.textSmall {
    font-size: 1.5vw;
    margin-top: 1.25vw;
}

.textSmall2 {
    font-size: 1.56vw;
    line-height: 1.66vw;
}

.textSmall3 {
    font-size: 1.56vw;
    line-height: 1.875vw;
}

.textBody {
    font-size: 2.3vw;
    line-height: 2.6vw;
}

.upsideDown {
    transform: rotate(180deg);
    display: inline-block;
    margin-bottom: -1vw;
    margin-top: 0.5vw;
}

.content_image {
    width: 31.25vw;
    position: absolute;
    top: 14vw;
    right: 9.7vw;
    height: min-content;
    z-index: 999;
    cursor: grab;
}


.content_image_1 {
    top: 13vw;
    right: 11vw;
}

.content_image_2 {
    top: 47vw;
    right: 58vw;
}

.content_image_3 {
    top: 76vw;
    right: 13vw;
}

.content_image_4 {
    top: 117vw;
    right: 58vw;
}

.content_image_5 {
    top: 153.5vw;
    right: 11vw;
}

.content_image_6 {
    top: 187vw;
    right: 57.3vw;
}

.content_image_7 {
    top: 230vw;
    right: 5vw;
}

.content_image_8 {
    top: 296vw;
    right: 20vw;
}


.shop_content_image_2 {
    top: 27vw;
    right: 59vw;
}

.shop_content_image_1 {
    top: 50vw;
    right: 28vw;
}

.content_image:active {
    cursor: grabbing;
}

.col2_cardLink {
    display: flex;
    flex-direction: row;
}

.col2 {
    width: 88.8vw;
    display: flex;
    flex-direction: row;
}

.col {
    width: 44.2vw;
}

.col2 .col .textBody {
    padding-right: 6vw;
}

.textFull {
    padding-top: 2.6vw;
    padding-left: 1.6vw;
    padding-right: 2vw;
    padding-bottom: 2.4vw;
    border-bottom: 0.4vw solid var(--white);
}

.col span,
.col p {
    padding-left: 1.6vw;
    padding-right: 1.6vw;
}

.col2 .col:first-child {
    border-right: 0.4vw solid var(--white);
}

.col .textTitle2 {
    padding-top: 2.6vw;
}



.cardLink {
    width: 5.7vw;
    background-color: var(--white);
    color: var(--black);
    border-bottom: 0.4vw solid var(--black);
    margin-bottom: -0.4vw;
}

.cardLink .arrow {
    margin-top: 1vw;
    width: 5.2vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cardLink .arrow svg {
    width: 3.5vw;
}

.cardLink .textRotate {
    margin-left: 0.35vw;
}

.accordion {
    display: flex;
    flex-direction: row;
}

.accordion_content {
    padding-left: 1.6vw;
    padding-right: 1.6vw;
    padding-top: 2.6vw;
    padding-bottom: 2.6vw;
    border-top: 0.4vw solid var(--white);
    width: 85.7vw;
    
}

.accordion_toggle {
    display: flex;
    justify-content: center;
    background-color: var(--white);
    width: 5.7vw;
    margin-top: 0.4vw;
    cursor: pointer;
}

.acc_active .accordion_toggle {
    background-color: var(--orange);
    align-items: flex-start;
    width: 5.7vw;
    margin-top: 0.4vw;
}

@media (min-width: 769px) {
    .accordion_toggle:hover {
        background-color: var(--orange);
    }
    
    .header_colorSwitch:hover {
        background-color: var(--orange);
    }
    
    .cardLink:hover {
        background-color: var(--orange);
        color: var(--blue);
    }
    
    .header_colorSwitch:hover svg path,
    .accordion_toggle:hover svg path,
    .cardLink:hover svg path {
        fill: var(--blue);
    }
}

.acc_icon {
    margin-top: 2.5vw;
    width: 3.33vw;
    height: 3.7vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.accordion_text {
    padding-top: 2.6vw;
}

.client_list,
.latest_list,
.latest_project_list {
    display: flex;
    flex-direction: row;
}

.client_list .cardLink,
.latest_list .cardLink {
    margin-bottom: 0;
    border-bottom: none;
}


.client_links_top,
.client_links_bottom {
    display: flex;
    flex-direction: row;
    width: 88.8vw;
}

.client_link_container {
    width: 10.75vw;
    border-right: 0.4vw solid var(--white);
    border-bottom: 0.4vw solid var(--white);
}

.client_link_container:nth-child(8),
.client_link_container:nth-child(16) {
    border-right: none;
    padding-right: 0.4vw;
}

.client_links_bottom .client_link_container {
    border-bottom: none;
}

.latest_project {
    width: 21.95vw;
    border-right: 0.4vw solid var(--white);
}

.latest_project:nth-child(4) {
    border-right: 0;
}

.latest_project .latest_project_image {
    width: 100%;
    border-bottom: 0.4vw solid var(--white);
}

.latest_project_title {
    height: 5vw;
    padding-left: 1.6vw;
    padding-top: 1.6vw;
    padding-right: 1.6vw;
    padding-bottom: 1.6vw;
}

.section_padding {
    width: 100%;
    height: 15vw;
    border-top: 0.4vw solid var(--white);
}

/* in_progress */
.template_ip .accordion,
.template_work .accordion {
    flex-direction: column;
}

.template_work .accordion:first-child .accordion_toggle,
.template_ip .accordion:first-child .accordion_toggle { 
    border-top: 0.4vw solid var(--white);
    margin-top: 0;
}

.template_ip .accordion_top,
.template_work .accordion_top {
    display: flex;
    flex-direction: row;
}

.template_ip .textFull,
.template_work .textFull {
    border-bottom: none;
}

.accordion_bottom_gallery {
    display: flex;
    flex-direction: row;
}

.accordion_gallery {
    width: 88.9vw;
    background-color: var(--black);
    background-size: cover;   /* Optional: Adjust size of the background */
    background-repeat: no-repeat; /* Optional: Prevent repeating background */
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 0.4vw solid var(--white);
    border-bottom: 0.4vw solid var(--white);
}

.accordion_gallery img {
    max-width: auto;
    max-height: auto;
    object-fit: contain;
}

.accordion_gallery_controls {
    display: flex;
    flex-direction: column;
}

.gallery_control_button {
    flex: 1;
    background-color: var(--orange);
    width: 5.7vw;
    cursor: pointer;
}

.gallery_icon_container {
    border-top: 0.4vw solid var(--black);
    padding-bottom: 0.4vw;
    width: 5.7vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.gallery_icon_container svg{
    width: 3.23vw;
}

.lb_icon svg {
    width: 3.54vw;
}

.accordion_bottom_description {
    display: flex;
    flex-direction: row;
}

.gallery_prev .gallery_icon_container {
    margin-left: 0;
    padding-left: 0;
}

.accordion_gallery_caption {
    width: 85.58vw;
    padding-top: 2.6vw;
    padding-left: 1.66vw;
    padding-right: 1.66vw;
    padding-bottom: 4.16vw;
}

 .accordion_gallery_caption p {
    margin-bottom: 0;
    padding-bottom: 0;
}

.lightbox_open {
    background-color: var(--orange);
    width: 5.7vw;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}


.gallery_lightbox .lightbox_open {
    width: 5.6vw;
    display: block;
    border-left: 0;
    border-right: 0.4vw solid var(--white);
    border-top: 0.4vw solid var(--white);
    border-bottom: 0.4vw solid var(--white);
}


.lightbox_open .gallery_icon_container {
    flex: 1;
    height: 100%;
    margin-left: 0;
    padding-left: 0;
    border-top: 0.4vw solid var(--black);
    display: flex;
    align-items: center;
    justify-content: center;
}



.lb_icon  {
    width: 5.2vw;
    display: flex;
    align-items: center;
    justify-content: center;
}




.uc {
    padding-top: 2vw;
    padding-left: 1.6vw;
    padding-right: 2vw;
}

.template_shop .textFull {
    border-bottom: 0;
    padding-bottom: 60vw;
    padding-right: 3.6vw;
}

.shop_draggableImage1 {
    
}

.shop_draggableImage2 {
    top: 39vw;
    right: 54vw;
}

.shop_draggableImage3 {
    top: 57vw;
    right: 24vw;
}

.closed_container {
    display: flex;
    flex-direction: row;
    border-bottom: 0.4vw solid var(--white);
    margin-bottom: 15vw;
}

.input {
    border-top: 0.4vw solid var(--white);
}

.closed_container .input {
    border-top: 0;
}

.login_text {
    border-bottom: 0.4vw solid var(--white)!important;
}

.input_links {
    display: flex;
    flex-direction: column;
}

.input_links .cardLink {
    border-bottom: 0;
    margin-bottom: 0;
}

.form_line {
    padding-top: 5.6vw;
    margin-left: 1.6vw;
    padding-right: 2vw;
    padding-bottom: 0.83vw;
    border-bottom: 0.4vw solid var(--white);
    display: flex;
    align-items: center;
}

.form_line:last-child {
    border-bottom: 0;
    padding-top: 7.475vw;
    margin-left: 0;
    padding-left: 1.6vw;
}

.template_work .cardLink {
    height: 17.56vw;
    border-bottom: 0;
    margin-bottom: 0;
    border-top: 0.4vw solid var(--white);
}


.input input,
.input input::placeholder {
    border: none;
    font-family: "HaasGrotMedium.woff";
    font-size: 1.56vw;
    line-height: 1.875vw;
    background-color: transparent;
}

.input input {
    margin-left: 1.66vw;
    color: var(--white);
    width: 60vw;
}

.input input:focus-visible {
    outline: none;
}

@media(min-width: 768px) {
    .logged_in .accordion:first-child .accordion_toggle {
        margin-top: -0.4vw!important;
        border-top: 0.4vw solid var(--black)!important;
    }
}

.contact_section_2 .textFull {
    border-bottom: 0;
    padding-bottom: 30vw;
}

.contact_section_1 .closed_container {
    padding-bottom: 0;
}


.template_contact .cardLink {
    flex: 1;
    border-bottom: 0;
    margin-bottom: 0;
}

.template_contact .closed_container {
    margin-bottom: 0;
    border-bottom: 0;
}

.gallery_lightbox .accordion_gallery {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    border-top: 0;
    border-bottom: 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
}

@media (min-width: 768px) {
    .gallery_lightbox .accordion_gallery {
        overflow: scroll;
    }
}   

.gallery_lightbox .accordion_gallery_controls {
    position: fixed;
    flex-direction: row-reverse;
    z-index: 99999;
    top: 0.83vw;
    right: 7.7vw;
}

.gallery_lightbox .gallery_icon_container {
    padding-left: 0;
    border-top: none;
    
}

.gallery_lightbox .gallery_control_button {
    border-top: 0.4vw solid var(--white);
    border-bottom: 0.4vw solid var(--white);
}

.gallery_lightbox .gallery_next .gallery_icon_container {
    border-left: 0.4vw solid var(--black);
}

.gallery_lightbox .lightbox_open {
    position: fixed;
    z-index: 99999;
    top: 0.83vw;
    right: 1.83vw;
}

.gallery_lightbox .lightbox_open .gallery_icon_container {
    margin-top: 0;
    border-left: 0.4vw solid var(--black);
    border-top: 0;
    border-bottom: 0;
    display: block;
}

.gallery_lightbox .gallery_icon_container {
    padding-bottom: 0;
}

.lightbox_open .gallery_control_button {
    border-top: 0;
    border-bottom: 0;
}

.ip_project_list {
    border-bottom: 0.4vw solid var(--white);
}

.template_work .ip_project_list {
    border-bottom: 0;
}

.about_section_2 .cardLink .textRotate {
    padding-right: 4.7vw;
}

.about_section_3 .cardLink .textRotate {
    padding-right: 4.7vw;
}

.gallery_control_button .gallery_icon_container svg {
    margin-top: 1.3vw;
}

.gallery_lightbox .gallery_control_button .gallery_icon_container svg {
    margin-top: 0;
}



@media (min-width: 769px) {
    .gallery_lightbox .gallery_icon_container,
    .gallery_lightbox .lightbox_open .gallery_icon_container .lb_icon  {
        height: 5.2vw;
    }
    
    .gallery_lightbox .gallery_prev .gallery_icon_container {
        border-left: 0.4vw solid var(--white);
        width: 5.2vw;
    }
}


.gallery_lightbox .lightbox_ope .gallery_icon_container .lb_icon  {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Legal */
.section_legal .textTitle2 {
    padding-top: 2.6vw;
    padding-left: 1.6vw;
    padding-right: 2vw;
}

.section_legal:last-child {
    padding-bottom: 10.4vw;
}

.section_legal:last-child .textFull {
    border-bottom: 0;
}

.template_legal .section_title .textRotate {
    padding-right: 4vw;
}

@media (min-width: 769px) {
    .mobile_only {
        display: none!important;
    }
}
/* Mobile */
@media (max-width: 769px) {
    .desktop_only,
    .mobile_hidden {
        display: none!important;
    }
    
    /* Header */
    .header {
        height: 11.5vw;
        border-bottom: 0.8vw solid var(--black);
        background-color: transparent;
    }
    
    .header_logo {
        width: 11.5vw;
        border-right: 0.8vw solid var(--black);
        flex: 0 0 auto;
    }
    
    .header_colorSwitch {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        background-color: var(--white);
        width: 76vw;
        flex: 0 0 auto;
    }
    
    .header_colorSwitch svg {
        width: 7.5vw;
        margin-right: 2.3vw;
    }
    
    .mobile_menu_toggle {
        width: 11.5vw;
        border-left: 0.8vw solid var(--black);
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: var(--white);
        flex: 0 0 auto;
    }
    
    .mobile_menu_icon {
        width: 7.5vw;
    }
    
    .header_menu {
        width: 88vw;
        height: 100vh;
        padding-right: 0;
        padding-top: 0;
        padding-bottom: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        border-left: none;
        gap: 0;
        background-color: var(--black);
        position: fixed;
        left: 11.5vw;
        top: 12.3vw;
        border-left: 0.8vw solid var(--white);
    }
    
    .header_menu a {
        display: block;
        width: 100%;
        font-size: 11.5vw;
        line-height: 11.5vw;
        color: var(--white);
        text-decoration: none;
        padding-left: 4.5vw;
        padding-top: 6vw;
        padding-bottom: 6vw;
        padding-right: 4.5vw;
        border-bottom: 0.8vw solid var(--white);
    }
    
    .header_menu a:hover {
        color: var(--white);
    }
    
    .mobile_header_left {
        position: fixed;
        left: 0;
        top: 12.3vw;
        width: 11.5vw;
        height: calc(100vh - 12.3vw);
        background-color: var(--black);
    }
    
   .mobile_header_left span {
        padding-top: 1vw;
        color: var(--white);
    }
    
    /* Footer */
    .footer {
        flex-direction: column;
    }
    
    .footer_left {
        position: relative;
        width: auto;
        padding-top: 6vw;
        padding-bottom: 6vw;
        padding-left: 3vw;
        padding-right: 3vw;
    }
    
    .footer_bottom_right {
        position: absolute;
        top: 6vw;
        right: 3vw;
        width: 25vw;
        display: block;
        margin-bottom: 0;
    }
    
    .footer_bottom_right .textSmall {
        line-height: 3vw;
        letter-spacing: 0.1vw;
        margin-top: 0;
        display: inline-block;
        font-size: 2.9vw;
    }

    
    .footer_bottom_right a {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 0.4vw;
    }
    
    .footer_logo_line_left {
        gap: 1.65vw;
        padding-right: 6.3vw;
        border-right: 0.5vw solid var(--blue);
    }
    
    .footer_bottom_left {
        justify-content: space-between;
        width: 94vw;
    }
    
    .footer_logo {
        width: 56.3vw;
        padding-bottom: 10vw;
    }
    
    .footer_logo_mini {
        width: 6.5vw;
        height: 6.5vw;
    }
    
    .footer_logo_mini:nth-child(5) {
        width: 7.5vw;
    }
    
    .footer_logo_m {
        width: 25vw;
        padding-left: 0;
    }
    
    .footer_right {
        width: auto;
        border-left: none;
        border-top: 0.8vw solid var(--blue);
        display: flex;
        flex-direction: row-reverse;
    } 
    
    .footer_contact {
        flex-direction: row-reverse;
        align-items: center;
        justify-content: space-between;
        gap: 0;
        padding-left: 3vw;
        width: 82.7vw;
        padding-right: 2vw;
        border-right: 0.8vw solid var(--blue);
    }
    
    .footer_contact .textRotate {
        padding-right: 0;
        margin-right: 0;
        width: auto;
        transform: none;
        position: relative;
        white-space: normal;
        transform-origin: 0 0;
    }
    
    .footer_arrow {
        justify-content: center;
        align-items: center;
        padding-top: 2.3vw;
        padding-bottom: 2.3vw;
    }
    
    .footer_arrow svg {
        width: 7.42vw;
        height: auto;
    }
    
    .footer_up {
        width: 7.7vw;
        justify-content: center;
        align-items: center;
        padding-top: 2.3vw;
        padding-bottom: 2.3vw;
        padding-left: 2vw;
        padding-right: 2vw;
        cursor: pointer;
        border-bottom: none;
    }
    
    .footer_up svg {
        width: 7.7vw;
        height: auto;
    }
    
    .footer_mobile_bottom {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        border-top: 0.8vw solid var(--blue);
        padding-top: 4vw;
        padding-bottom: 4vw;
    }
    
    .footer_mobile_bottom p,
    .footer_mobile_bottom a{
        margin-bottom: 0;
        font-size: 3.4vw;
    }
    
    /* Sitewide */
    .main_width {
        padding-top: 12.3vw;
    }
    
    .section {
        border-bottom: 0.8vw solid var(--white);
    }
    
    .section_title {
        width: 11.5vw;
        border-right: 0.8vw solid var(--white);
        flex: 0 0 auto;
    }
    
    .section_title span {
        top: 12.3vw;
        padding-top: 1vw;
    }
    
    .section_content {
        width: 87.8vw;
        padding-left: 0;
        padding-right: 0;
        flex: 0 0 auto;
    }
    
    .textFull {
        padding-top: 5.2vw;
        padding-left: 3vw;
        padding-right: 3vw;
        padding-bottom: 7vw;
        border-bottom: 0.8vw solid var(--white);
    }
    
    .section_content p {
        margin-bottom: 0;
        padding-bottom: 0;
    }
    
    .textTitle2 {
        font-size: 6.8vw;
    }
    
    .textSmall {
        font-size: 2.4vw;
        margin-top: 0;
    }
    
    .textSmall2 {
        font-size: 3.43vw;
        line-height: 4vw;
    }
    
    .textSmall3 {
        font-size: 2.4vw;
        line-height: 3.4vw;
    }
    
    .textBody {
        font-size: 4.5vw;
        line-height: 5.2vw;
    }
    
    .col2_cardLink {
        flex-direction: column;
    }
    
    .col2 {
        width: auto;
        flex-direction: column;
    }
    
    .col {
        width: auto;
    }
    
    .col p.textTitle2 {
        padding-top: 4.5vw;
        padding-bottom: 3.7vw;
    }
    
    .col span, .col p {
        padding-left: 3vw;
        padding-right: 3vw;
    }
    
    .col2 .col .textBody {
        padding-right: 0;
    }
    
    .col2 .textBody p {
        padding-bottom: 7vw;
    }
    
    .col2 .col:first-child {
        border-right: 0;
    }
    
    .col2 .col {
        border-right: 0;
        border-bottom: 0.8vw solid var(--white);
    }
    
    .col2 .col:nth-child(2) {
        border-bottom: none;
    }
    
    .cardLink {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
        width: auto;
        background-color: var(--white);
        color: var(--black);
        border-bottom: 0;
        margin-bottom: 0;
        padding-left: 3vw;
        padding-right: 2vw;
        margin-bottom: -1px;
    }
    
    .cardLink .arrow {
        margin-top: 0;
        width: 7.4vw;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 2vw;
        padding-bottom: 1.2vw;
    }
    
    .cardLink .arrow svg {
        width: 100%;
    }
    
    .textRotate {
        padding-right: 6vw;
    }
    
    .about_section_3 .textRotate {
        padding-right: 7vw;
    }
    
    .about_section_5 .textRotate {
        padding-right: 6.6vw;
    }
    
    .work_section_1 .textRotate {
        padding-right: 6.6vw;
    }
    
    .work_section_2 .textRotate {
        padding-right: 6.3vw;
    }
    
    .template_shop .textRotate {
        padding-right: 6.7vw;
    }
    
    .contact_section_1 .textRotate {
        padding-right: 6.5vw;
    }
    
    .contact_section_2 .textRotate {
        padding-right: 6.6vw;
    }
    
    .about_section_2 .cardLink .textRotate {
        padding-right: 0;
    }
    
    .cardLink .textRotate {
        margin-left: 0;
        padding-right: 0;
        width: auto;
        transform: none;
        position: relative;
        white-space: normal;
        transform-origin: auto;
    }
    
    .accordion {
        align-items: flex-start;
        border-top: 0.8vw solid var(--white);
        justify-content: space-between;
    }
    
    .accordion:nth-child(2) {
        border-top: 0;
    }
    
    .accordion_content {
        padding-left: 3vw;
        padding-right: 3vw;
        padding-top: 3.5vw;
        padding-bottom: 3.5vw;
        border-top: 0;
        width: auto;
    }
    
    .accordion_title {
        line-height: 6.8vw;
    }
    
    
    .accordion_toggle {
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: transparent;
        width: 7.4vw;
        height: 7.4vw;
        margin-top: 0;
        cursor: auto;
        padding-top: 3.5vw;
        padding-right: 2vw;
        flex: 0 0 auto;
        border-left: 0;
    }
    
    .acc_active .accordion_toggle {
        background-color: transparent;
        align-items: center;
        width: 7.4vw;
        margin-top: 0;
        border-left: 0;
    }
    
    .acc_icon {
        margin-top: 0;
        width: 7.4vw;
        height: 7.4vw;
    }
    
    .accordion_text {
        padding-top: 3.5vw;
        padding-bottom: 2.5vw;
    }
    
    .client_list,
    .latest_list {
        display: flex;
        flex-direction: column;
    }
    
    .client_links {
        overflow: hidden;
    }
    
    .client_links_top, .client_links_bottom {
        display: flex;
        flex-direction: row;
        width: 90vw;
        flex-wrap: wrap;
    }
    
    .client_link_container {
        width: 21.45vw;
        border-right: 0.8vw solid var(--white);
        border-bottom: 0.8vw solid var(--white);
    }
    
    .client_link_container:nth-child(4) {
        border-right: none;
    }
    
    .client_links_bottom .client_link_container {
        border-bottom: 0.8vw solid var(--white);
    }
    
    .client_links_bottom .client_link_container:nth-child(5),
    .client_links_bottom .client_link_container:nth-child(6),
    .client_links_bottom .client_link_container:nth-child(7),
    .client_links_bottom .client_link_container:nth-child(8) {
        border-bottom: none;
    }
    
    .latest_project_list {
        flex-wrap: wrap;
    }
    
    .latest_project {
        width: 43.428vw;
        border-right: 0.8vw solid var(--white);
    }
    
    .latest_project:nth-child(1) {
        border-bottom: 0.8vw solid var(--white);
    }
    
    .latest_project:nth-child(2) {
        border-right: none;
        border-bottom: 0.8vw solid var(--white);
    }
    
    .latest_project .latest_project_image {
        width: 100%;
        border-bottom: 0.8vw solid var(--white);
    }
    
    .latest_project_title {
        height: 12vw;
        padding-left: 3vw;
        padding-top: 3vw;
        padding-right: 3vw;
        padding-bottom: 3vw;
    }
    
    .section_padding {
        height: 30vw;
        border-top: 0.8vw solid var(--white);
    }
    
    
    /* About */
    .about_section_1 .section_content {
        padding-top: 0;
        padding-left: 0;
        width: 87.7vw;
        height: auto;
    }
    
    .about_section_1 .section_content .textTitle {
        display: none;
    }
    
    .about_section_1 .section_content .rotatedImgText {
        width: 80vw;
        margin-top: 4.5vw;
        margin-left: 3vw;
        margin-bottom: 36vw;
    }
    
    .about_section_1 .textSmall {
        position: relative;
        padding-bottom: 0;
        margin-bottom: 3.4vw;
        margin-left: 3vw;
    }
    
    .content_image {
        width: 50vw;
        position: absolute;
        top: 60vw;
        right: 20vw;
        height: min-content;
        z-index: 999;
    }
    
    .content_image_1 {
        top: 71.25vw;
        left: 42.5vw;
    }
    
    .content_image_2 {
        top: 175vw;
        left: 12vw;
    }
    
    .content_image_3 {
        top: 303.5vw;
        left: 45vw;
    }
    
    .content_image_4 {
        top: 431.25vw;
        left: 12.5vw;
    }
    
    .content_image_5 {
        top: 505.75vw;
        left: 42.75vw;
    }
    
    .content_image_6 {
        top: 631vw;
        left: 7vw;
    }
    
    .content_image_7 {
        top: 727.75vw;
        left: 43vw;
    }
    
    .content_image_8 {
        top: 945vw;
        left: 49.5vw;
    }
    
    .template_work .accordion:first-child .accordion_toggle, .template_ip .accordion:first-child .accordion_toggle {
        border-top: 0;
        margin-top: 0;
    }
    
    .accordion:nth-child(2) {
        border-top: 0.8vw solid var(--white);
    }
    
    .template_ip .accordion_top, .template_work .accordion_top {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
    }
    
    .template_ip .accordion_bottom_gallery, .template_work .accordion_bottom_gallery {
        display: flex;
        flex-direction: column;
    }
    

    
    .template_ip .accordion_gallery, .template_work .accordion_gallery {
        width: 87.7vw;
        background-color: var(--black);
        background-size: cover;
        background-repeat: no-repeat;
        display: flex;
        align-items: center;
        justify-content: center;

        border-top: 0.8vw solid var(--white);
        border-bottom: 0.8vw solid var(--white);
    }
    
    
    
    .template_ip .accordion_gallery_controls, 
    .template_work .accordion_gallery_controls {
        display: flex;
        flex-direction: row-reverse;
        background-color: var(--orange);
        border-bottom: 0.8vw solid var(--white);
    }
    
    .template_ip .gallery_lightbox .accordion_gallery_controls, 
    .template_work .gallery_lightbox .accordion_gallery_controls {
        background-color: transparent;
    }
    
    .template_ip .gallery_lightbox .accordion_gallery_controls, 
    .template_work .gallery_lightbox .accordion_gallery_controls {
        border-bottom: 0;
    }
    
    .template_ip .gallery_icon_container, 
    .template_work .gallery_icon_container {
        margin-left: 0;
        border-top: 0;
        padding-bottom: 0;
        padding-left: 0;
        width: 11.5vw;
        height: 11.5vw;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    
    
    .template_ip .gallery_control_button, 
    .template_work .gallery_control_button {
        flex: 0 0 auto;
        background-color: var(--orange);
        width: 11.4vw;
        border-left: 0.8vw solid var(--black);
        cursor: pointer;
    }
    
    .template_ip .gallery_lightbox .gallery_control_button, 
    .template_work .gallery_lightbox .gallery_control_button {
        width: 12.3vw;
    }
    
    .template_ip .gallery_prev,
    .template_work .gallery_prev {
        border-left: 0;
    }
    
    .template_ip .lightbox_open, 
    .template_work .lightbox_open {
        background-color: var(--orange);
        width: 11.4vw;
        border-left: 0;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        border-right: 0.8vw solid var(--black);
    }
    
    .template_ip .lightbox_open .gallery_icon_container, 
    .template_work .lightbox_open .gallery_icon_container {
        flex: 0 0 auto;
        height: 100%;
        margin-left: 0;
        padding-left: 0;
        border-top: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .template_ip .lb_icon, 
    .template_work .lb_icon {
        width: 11.4vw;
    }
    
    .gallery_control_button .gallery_icon_container svg {
        margin-top: 0;
    }
    
    .template_ip .accordion_gallery_caption, .template_work .accordion_gallery_caption {
        width: 81.7vw;
        padding-top: 4.5vw;
        padding-left: 3vw;
        padding-right: 3vw;
        padding-bottom: 7vw;
    }

    .gallery_lightbox .accordion_gallery {
        position: fixed;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        z-index: 9999;
        border-top: 0;
        border-bottom: 0;
        padding: 0;
    }
    
    .gallery_lightbox .gallery_next .gallery_icon_container {
        border-left: 0;
    }
    
    .gallery_lightbox .accordion_gallery_controls {
        position: fixed;
        flex-direction: row-reverse;
        transform: rotate(90deg) translate(45%, 65%);
        z-index: 99999;
        top: -1vw;
        right: -17vw;
        width: 37.7vw;
        height: 13.1vw;
    }
    
    .template_ip .gallery_lightbox .lightbox_open, 
    .template_work .gallery_lightbox .lightbox_open {
        width: 12.2vw;
        border-right: 0.8vw solid var(--white);
        border-top: 0.8vw solid var(--white);
        border-bottom: 0.8vw solid var(--white);
    }
    
    .gallery_lightbox .lightbox_open {
        position: relative;
        z-index: 99999;
        top: 0;
        right: 0;
        order: 1;
    }
    
    .gallery_lightbox .gallery_prev {
        
        order: 3;
    }
    
    .gallery_lightbox .gallery_next {
        
        order: 2;
    }
    
    .gallery_lightbox .lightbox_open .gallery_icon_container {
        border-left: 0.8vw solid var(--black);

    }
    
    .template_ip .gallery_lightbox .gallery_control_button, 
    .template_work .gallery_lightbox .gallery_control_button {
        border-top: 0.8vw solid var(--white);
        border-bottom: 0.8vw solid var(--white);
    }
    
    .template_ip .gallery_lightbox .gallery_control_button .gallery_icon_container, 
    .template_work .gallery_lightbox .gallery_control_button .gallery_icon_container {
        border-left: 0.8vw solid var(--black);
    }
    
    .template_ip .gallery_lightbox .gallery_prev .gallery_icon_container, 
    .template_work .gallery_lightbox .gallery_prev .gallery_icon_container  {
        border-left: 0.8vw solid var(--white);
    }
    
    .template_ip .gallery_lightbox .gallery_control_button, 
    .template_work .gallery_lightbox .gallery_control_button {
        border-left: 0;
    }
    
    .gallery_lightbox .gallery_control_button svg {
        transform: rotate(270deg);
    }
    
    .gallery_lightbox .gallery_prev .gallery_icon_container svg {
        margin-top: 0.75vw;
    }
    
    .gallery_lightbox .gallery_next .gallery_icon_container svg {
        margin-bottom: 0.5vw;
    }
    
    .gallery_lightbox .gallery_next {
        position: relative;
        z-index: 9;
    }
    
    
    .template_ip .lightbox_open .gallery_icon_container, 
    .template_work .lightbox_open .gallery_icon_container {
        width: 11.5vw;
        height: 11.7vw;
    }
    
    .gallery_next .gallery_icon_container svg, 
    .gallery_prev .gallery_icon_container svg {
        width: 6.86vw;
    }
    
    .lb_icon svg {
        width: 7.43vw;
    }
    
    .gallery_lightbox .gallery_next svg {
        margin-top: 0.5vw;
    }
    
    .gallery_lightbox .gallery_prev svg {
        margin-bottom: 0.5vw;
    }
    
    
    
    
    
    .ip_project_list {
        margin-bottom: 45vw;
        border-bottom: 0.8vw solid var(--white);
    }
    
    .uc {
        padding-top: 4.5vw;
        padding-left: 3vw;
        padding-right: 3vw;
    }
    
    .template_shop .textFull {
        border-bottom: 0;
        padding-bottom: 220vw;
        padding-right: 3.6vw;
    }
    
    .template_shop .content_image {
        width: 50vw;
        position: absolute;
        top: 60vw;
        right: 5vw;
        height: min-content;
        z-index: 999;
    }
    
    .template_shop .shop_content_image_1  {
        top: 203.75vw;
        left: 44vw;
    }
    
    .template_shop .shop_content_image_2  {
        top: 110vw;
        left: 11.2vw;
        width: 60vw;
    }
    
    .template_shop .shop_content_image_3  {
        top: 47.75vw;
        left: 46vw;
    }
    
    .closed_container {
        display: flex;
        flex-direction: column;
        border-bottom: 0.8vw solid var(--white);
        margin-bottom: 30vw;
    }
    
    .input_links {
        display: flex;
        flex-direction: row;
    }
    
    .template_work .cardLink {
        height: auto;
        border-bottom: 0;
        margin-bottom: 0;
        border-top: 0;
        flex: 1;
    }
    
    .template_work .cardLink:nth-child(2) {
        border-top: 0;
        margin-top: 0;
        border-left: 0;
    }
    
    .template_work .closed_container {
        border-bottom: 0;
    }
    
    .input {
        width: 87.7vw;
        border-top: 0.8vw solid var(--white);
    }
    
    .closed_container .input {
        border-top: 0;
    }
    
    .login_text {
        border-bottom: 0.8vw solid var(--white)!important;
    }
    
    .form_line {
        padding-top: 10vw;
        margin-left: 3vw;
        padding-left: 0;
        padding-right: 2vw;
        padding-bottom: 1.5vw;
        border-bottom: 0.8vw solid var(--white);
        display: flex;
        align-items: center;
    }
    
    .form_line:last-child {
        border-bottom: 0;
        padding-top: 14vw;
    }
    
    .input input {
        margin-left: 2vw;
        color: var(--white);
        width: 50vw;
    }
    
    .input .form_line:nth-child(3) input {
        margin-left: 2vw;
        color: var(--white);
        width: 35vw;
    }
    
    .input input, .input input::placeholder {
        border: none;
        font-family: "HaasGrotMedium.woff";
        font-size: 3.4vw;
        line-height: 4vw;
        background-color: transparent;
    }
    
    .form_line label {
        font-size: 3.4vw;
        line-height: 4vw;
        padding-bottom: 0.5vw;
    }
    
    .contact_section_1 .closed_container {
        padding-bottom: 0;
        margin-bottom: 0;
    }
    
    
    
    /* Legal */

    
    .section_legal:last-child {
        border-bottom: 0;
        padding-bottom: 23vw;
    }
    
    .section_legal .textTitle2 {
        padding-top: 4.5vw;
        padding-left: 3vw;
        padding-right: 3vw;
    }
    
    .section_legal p {
        margin-bottom: 1em;
    }
    
    .footer_link.textSmall {
        text-decoration: underline;
    }
    .ip_section_1 .textFull p{
        margin-bottom: 1em;
    }
    
    .ip_section_1 .textFull p:last-child {
        margin-bottom: 0;
    }
    
    .ip_project_list {
        margin-bottom: 30vw!important;
    }
    
    .template_work .ip_project_list {
        margin-bottom: 0!important;
    }
    
    .form-success {
        font-size: 3.4vw;
        line-height: 4vw;
        padding-left: 1.4vw;
    }
    
}

@media (min-width: 769px) {
    .header_logo:hover svg path:first-child {
        fill: var(--blue);
    }
    
    .header_logo:hover svg path:nth-child(2),
    .header_logo:hover svg path:nth-child(3){
        fill: var(--orange);
    }
    
    .footer_up:hover {
        background-color: var(--blue);
    }
    
    .footer_up:hover svg path {
        fill: var(--orange);
    }
    
    .footer_contact:hover {
        background-color: var(--blue);
    }
    
    .footer_contact:hover svg path{
        fill: var(--orange);
    }
    
    .footer_contact:hover .textTitle2 {
        color: var(--orange);
    }
    
    .work_section_2 .section_title .textRotate {
        padding-bottom: 25vw!important;
    }
    
    
}
/*
.ip_project_list {
    margin-bottom: 15vw;
    
}
@media (min-width: 769px) and (max-width: 1500px) {
    .template_ip .ip_project_list {
        margin-bottom: 52vw;
    }
}
*/

@media (min-width: 769px) and (max-width: 1700px) {
    .about_section_1 .section_content {
        padding-top: 3vw;
        padding-left: 1.66vw;
        width: 92.8vw;
        height: auto;
    }
    
    .about_section_1 .textSmall {
        position: relative;
    }
    
    .about_section_1 .section_content .textTitle:nth-child(2) {
        width: auto;
    }
    
    .about_section_1 .textTitle {
        font-size: 15vw;
        line-height: 12.3vw;
    }
    
    .upsideDown {
        transform: rotate(180deg);
        display: inline-block;
        margin-bottom: -1vw;
        margin-top: 2.5vw;
    }
}

@media (min-width: 1701px) {
    .content_image_1 {
        top: 7vw;
        right: 7vw;
    }
    
    .content_image_2 {
        top: 34vw;
        right: 58vw;
    }
    
    .content_image_3 {
        top: 56vw;
        right: 13vw;
    }
    
    .content_image_4 {
        top: 97vw;
        right: 58vw;
    }
    
    .content_image_5 {
        top: 136.5vw;
        right: 11vw;
    }
    
    .content_image_6 {
        top: 176vw;
        right: 57.3vw;
    }
    
    .content_image_7 {
        top: 213vw;
        right: 5vw;
    }
    
    .content_image_8 {
        top: 277vw;
        right: 20vw;
    }
}

.text_link {
    display: inline;
}

@media (min-width: 769px) {

    
    
    .form_line:last-child {
        border-bottom: 0.4vw solid var(--white);
    }
    
    .template_work form:nth-child(3) .form_line:last-child {
        border-bottom: 0;
    }
    
    .template_contact .form_line:last-child {
        border-bottom: 0;
    }
    
    .template_work .input  {
        width: auto;
    }
    
    .form_structure {
        display: flex;
    }
    
    .form_right {
        cursor: pointer;
    }
    
    
    .form_structure .cardLink {
        flex: auto!important;
        width: 5.7vw;
        height: auto;
        border-top: 0!important;
        margin-top: 0!important;
        font-family: "HaasGrotMedium.woff";
        display: flex;
        flex-direction: column;
        border-left: 0;
    }
    
    .form_email .cardLink {
        border: 0;
        border-bottom: 0.4vw solid var(--black) !important;
    }
    
    .form_login .cardLink {
        border: 0;
    }
    
    .form_structure .form_left {
        width: 88.8vw;
    }
    
    .form_structure .cardLink span {
        line-height: 3.6vw;
    }
    
    .template_work .closed_container .accordion:first-child .accordion_content{
        border-top: 0;
    }
    
    .template_work .accordion_title {
        line-height: 3.6vw;
    }
    
    .template_work .closed_container .accordion:first-child .accordion_toggle {
        border-top: 0;
    }
}

@media (max-width: 768px) {
    .template_work .cardLink {
        height: auto;
        border-bottom: 0;
        margin-bottom: 0;
        border-top: 0;
        flex: 1;
    }
    
    .form_structure {
        display: flex;
        flex-direction: column;
    }
    
    .form_structure .form_right span {
        font-family: "HaasGrotMedium.woff";
    }
    
    .template_work .input_links.mobile_only {
        display: none;
    }
    
    .template_work .form_line:last-child {
        padding-top: 10vw;
        padding-bottom: 2vw;
    }
    
    .closed_container .ip_project_list .accordion {
        border-top: 0;
        border-bottom: 0.8vw solid var(--white);
    }
}

input:-webkit-autofill {
    background-color: transparent !important; /* Reset background color */
    -webkit-box-shadow: 0 0 0px 1000px var(--black) inset !important; /* Remove the autofill box shadow */
    box-shadow: 0 0 0px 1000px var(--black) inset !important; /* Same for non-WebKit browsers */
    color: var(--white) !important;
}

.template_legal a {
    display: inline;
    text-decoration: none;
}

.exit_closed_portfolio {
    display: flex;
    flex-direction: row;
}

.exit_closed_portfolio .textFull {
    width: 85.3vw;
    border-top: 0.4vw solid var(--white);
}

.exit_cardlink {
    flex: auto!important;
}

.exit_closed_portfolio .cardLink {
    border-top: 0.4vw solid var(--black);
    height: auto;
}

.exit_closed_portfolio .textRotate {
    line-height: 3.6vw;
    margin-left: 0.7vw;
}

.exit_closed_portfolio .cardLink .arrow {
    margin-left: 0.2vw;
}

@media (max-width: 768px) {
    .exit_closed_portfolio {
        flex-direction: column;
    }
    
    .exit_closed_portfolio .cardLink .arrow {
        margin-left: 0;
    }
    
    .exit_closed_portfolio .textRotate {
        line-height: 6.8vw;
        margin-left: 0;
    }
    
    .exit_closed_portfolio .textFull {
        width: auto;
        border-top: 0;
    }
}


/* Login */
.customLoginContainer {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 2vw;
    width: 100vw;
    padding-top: 30vh;
}

.loginInfoText {
    width: 23vw;
    font-size: 0.75vw;
    line-height: 1vw;
    color: var(--white);
}

.customLogin {
    width: 27vw;
    border: 0.3vw solid var(--white);
    background-color: var(--orange);
    color: var(--blue);
    display: flex;
    flex-direction: column;
}

.customLogin input,
.customLogin input:-webkit-autofill,
.customLogin input::placeholder,
.customLogin label {
    border: none;
    font-family: "HaasGrotMedium.woff";
    font-size: 1vw;
    line-height: 1vw;
    background-color: transparent;
    color: var(--blue);
}

.customLogin input:-webkit-autofill {
    background-color: transparent !important; /* Reset background color */
    -webkit-box-shadow: 0 0 0px 1000px var(--orange) inset !important; /* Remove the autofill box shadow */
    box-shadow: 0 0 0px 1000px var(--orange) inset !important; /* Same for non-WebKit browsers */
    color: var(--blue) !important;
}

.customLogin input:focus-visible {
    outline: none;
}

.customLogin input[type="text" i] {
    padding-block: 0;
    padding-inline: 0;
}

.customLogin input:not([type="image" i], [type="range" i], [type="checkbox" i], [type="radio" i]) {
    overflow-clip-margin: 0px !important;
    overflow: auto !important;
}

.customLogin input {
    padding: 0!important;
    color: var(--blue);
}

.input_container {
    align-items: flex-start;
    display: flex;
    gap: 0.5vw;
    border-bottom: 0.3vw solid var(--blue);
    padding-bottom: 0.25vw;
}

.username_container {
    margin-bottom: 2.5vw;
}

.customLogin form {
    display: flex;
    margin-block-end: 0;
}

.login_left {
    padding-top: 3vw;
    padding-bottom: 4.5vw;
    padding-left: 1vw;
    flex: 1;
}

.customLogin .cardLink {
    border-bottom: 0;
    margin-bottom: 0;
    background-color: var(--orange);
    color: var(--blue);
    width: 3vw;
    border-left: 0.3vw solid var(--blue);
}

.customLogin .cardLink input{
    color: var(--blue);
}

.loginSubmit {
    padding-top: 0.5vw;
    border-top: 0.3vw solid var(--blue);
}

.loginArrow {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5vw;
}

.loginSubmit .textRotate {
    cursor: pointer;
    padding-right: 0;
    font-size: 2vw;
    line-height: 2vw;
}

.customLogin input [type=text] {
    margin-top: -0.25vw;
}

.loginArrow svg {
    width: 2vw;
}

.loginArrow svg path,
.loginExit svg path {
    fill: var(--blue);
}

.customLogin .cardLink:hover svg path {
    fill: var(--blue);
}

.loginExit {
    padding: 0.5vw;
    cursor: pointer;
}

.loginExit svg {
    width: 2vw;
}

.loginInputLabel {
    margin-top: -0.15vw;
}

.customLoginForm {
    order: 1;
}

.loginError {
    order: 2;
    border-top: 0.3vw solid var(--white);
    background-color: var(--blue);
    padding-left: 1.25vw;
    padding-top: 1.45vw;
    padding-bottom: 3vw;
}

.errorTitle {
    font-size: 1.56vw;
    margin-bottom: 1.5vw;
    color: var(--white);
}

.errorText {
    font-size: 0.7vw;
    line-height: 0.9vw;
    color: var(--white);
}

/* Mobile Login */
@media (max-width: 768px) {
    .customLogin {
        width: 80vw;
        border: 0.8vw solid var(--white);
    }
    
    .loginError {
        order: 2;
        border-top: 0.8vw solid var(--white);
        background-color: var(--blue);
        padding-left: 5vw;
        padding-top: 5vw;
        padding-bottom: 5vw;
        padding-right: 5vw;
    }
    
    .errorTitle {
        font-size: 6vw;
        margin-bottom: 6vw;
    }
    
    .errorText {
        font-size: 3vw;
        line-height: 4vw;
        letter-spacing: 0.1vw;
    }
    
    .login_left {
        padding-top: 7vw;
        padding-bottom: 15vw;
        padding-left: 3vw;
        flex: 1;
    }
    
    .input_container {
        align-items: flex-start;
        display: flex;
        gap: 3vw;
        border-bottom: 0.8vw solid var(--blue);
        padding-bottom: 1vw;
    }
    
    .username_container {
        margin-bottom: 5vw;
    }
    
    .customLogin input, .customLogin input:-webkit-autofill, .customLogin input::placeholder, .customLogin label {
        border: none;
        font-family: "HaasGrotMedium.woff";
        font-size: 4vw;
        line-height: 4vw;
        background-color: transparent;
        color: var(--blue);
    }
    
    
    
    
    .loginExit svg,
    .loginArrow svg {
        width: 5vw;
    }
    
    .loginSubmit {
        padding-top: 0;
        border-top: 0;
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-end;
        
    }
    
    .loginArrow {
        display: block;
        padding: 2vw;
        margin-bottom: 0;
        padding-left: 3vw;
        padding-right: 3vw;
    }
    
    
    
    .template_contact .cardLink {
        padding-block: 0;
        padding-inline: 0;
        border-width: 0;
        padding-left: 3vw;
        padding-right: 2vw;
    }
    
    .customLoginForm {
        display: flex;        
        flex-direction: column;
    }
    
    .customLoginForm .cardLink {
        width: auto;
        height: auto;
        border-bottom: 0;
        margin-bottom: 0;
        border-top: 0;
        display: flex;
        border-left: 0;
        border-top: 0.8vw solid var(--blue);
        justify-content: flex-start;
        padding-left: 0;
        padding-right: 0;
    }
    
    .customLoginForm .cardLink svg {
        width: 7.4vw;
    }
    
    .loginExit {
        padding: 2vw;
        cursor: pointer;
        border-left: 0.8vw solid var(--blue);
        padding-left: 3vw;
        padding-right: 3vw;
    }
    
    .loginSubmit .textRotate {
        cursor: pointer;
        padding-top: 2vw;
        font-size: 9vw;
        line-height: 8vw;
        margin-left: 0;
        padding-right: 0;
        width: auto;
        transform: none;
        position: relative;
        white-space: normal;
        transform-origin: auto;
    }
    
    .customLoginContainer {
        padding-top: 20vh;
    }
}


@media (min-width: 768px) {
    .loginExit:hover {
        background-color: var(--blue);
    }
    
    .loginExit:hover svg path {
        fill: var(--orange)!important;
    }
    
    .loginSubmit {
        height: calc(100% - 3.8vw);
        cursor: pointer;
    }
    
    .loginSubmit:hover {
        background-color: var(--blue);
        color: var(--orange)!important;
    }
    
    .loginSubmit:hover svg path{
        fill: var(--orange)!important;
    }
}

/* Height fix */
@media (min-width: 769px) {
    .template_ip .section_title,
    .template_shop .section_title {
        min-height: calc(100vh - 33.25vw);
    }
    
    .template_contact .contact_section_2 .section_title {
        min-height: calc(100vh - 83.4vw);
    }
    
    .template_ip .ip_section_1 .section_content {
        padding-bottom: 30vw;
    }
}

input {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

input:-webkit-autofill {
    -webkit-text-fill-color: var(--white) !important;
    font-family: "HaasGrotMedium.woff"!important;
}
