﻿/* ================================
   Base Reset
================================ */
html,
body {
    height: 100%;
    margin: 0;
    font-family: DINRegular;
    font-size: 18px;
    color: #000;
}

/* ================================
   Typography
================================ */
.heading-2 {
    color: #000;
    text-align: center;
    font-family: DINMedium;
    font-size: 32px;
    font-weight: 500;
    line-height: 115%;
}

h2 {
    color: #000;
    font-family: DINBold;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
}

h3 {
    color: #000;
    font-family: DINRegular;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
}

a {
    color: #3A39FF;
    font-family: DINMedium;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    text-decoration: none;
}

    a:hover {
        color: #FF0098;
    }

.sub-p {
    color: #000;
    text-align: center;
    font-family: DINRegular;
    font-size: 20px;
    font-weight: 400;
    line-height: 125%;
}

.primary-link {
    color: #3A39FF;
    font-family: DINBold;
    font-size: 16px;
    font-weight: 700;
    line-height: 120%;
    text-decoration: none;
}

    .primary-link:hover {
        color: #FF0098;
    }

/* ================================
   Visibility Helpers
================================ */
.desktop {
    display: block;
}

.mobile {
    display: none;
}

.hidden {
    display: none !important;
}

/* ================================
   Container
================================ */
.merix-container {
    height: 100%;
    padding: 70px 112px;
    max-width: 1400px;
    margin: auto;
    position: relative;
    z-index: 1;
}

.sub-head-contain {
    max-width: 600px;
    margin: auto;
}

.not-found-page {
    padding: 100px 0px;
    font-family: DINRegular;
}

/* ================================
   Skip to Main
================================ */
.merix-skip-main {
    left: -999px;
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: -999;
}

    .merix-skip-main:focus {
        color: #fff !important;
        background-color: #000;
        left: auto;
        top: auto;
        width: 30%;
        height: auto;
        margin: 10px 35%;
        padding: 5px;
        border-radius: 15px;
        border: 4px solid #ff0;
        text-align: center;
        font-size: 1.2em;
        z-index: 999;
    }

/* ================================
   Buttons
================================ */
.primary-btn {
    border-radius: 999px;
    background: #3A39FF;
    color: #FFF;
    font-family: DINMedium;
    font-size: 16px;
    font-weight: 500;
    line-height: 130%;
    padding: 16px 16px 14px;
    text-decoration: none;
    display: flex;
    align-items: center;
    border: none;
}

    .primary-btn:hover {
        background: #EBEBFF;
        color: #000;
    }

.secondary-btn {
    border-radius: 999px;
    background: #D9D9D6;
    color: black;
    font-family: DINMedium;
    font-size: 16px;
    font-weight: 500;
    line-height: 130%;
    padding: 16px 16px 14px;
    text-decoration: none;
    display: flex;
    align-items: center;
    border: none;
}

    .secondary-btn:hover {
        background: #EBEBFF;
        color: #000;
    }

.outline-btn {
    border-radius: 999px;
    background: transparent;
    border: 1px solid #3A39FF;
    color: black;
    font-family: DINMedium;
    font-size: 16px;
    font-weight: 500;
    line-height: 130%;
    padding: 16px 16px 14px;
    text-decoration: none;
    display: flex;
    align-items: center;
}

    .outline-btn:hover {
        background: #EBEBFF;
        color: #000;
        border: 1px solid #EBEBFF;
    }

/* ================================
   Popup
================================ */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1000;
}

.popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 80px;
    z-index: 1001;
    max-width: 500px;
    border-radius: 25px;
    background: #FFF;
    box-shadow: 0 7px 14px 2.5px rgba(5, 5, 18, 0.25);
    background-image: url('/Content/MERIX/Images/Pop-up.svg');
    background-position: 80%; 
    background-size: cover;
}

    .popup.hidden,
    .popup-overlay.hidden {
        display: none;
    }

.popup-close {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    background: transparent;
    border: none; 
    width: 45px;
    height: 45px;
    cursor: pointer; 
    background-image: url('/Content/MERIX/Images/close-icon-pop.svg');
    background-position:center;
    background-size: cover;
}

/* ================================
   Misc
================================ */
.btn-arrow {
    margin-right: 5px;
}

.check {
    display: inline-block;
    background: url('/Content/MERIX/Images/Check.svg') no-repeat left top;
    background-size: 30px;
    vertical-align: middle;
    padding-left: 35px;
}

/* ================================
   Form Layout
================================ */
.row {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
}

.controls input {
    width: 100%;
}

.controls textarea {
    width: 100%;
    min-height: 200px;
}

.col-md-4 {
    width: 100%;
}

.form-group {
    margin-bottom: 10px;
}

.merix-contact-form input {
    border-radius: 5.4px;
    border: 1.35px solid #3A39FF;
    margin-bottom: 20px;
    height: 49px;
}

.merix-contact-form textarea {
    border-radius: 5.4px;
    border: 1.35px solid #3A39FF;
    margin-bottom: 20px;
    width: 100%;
}

.merix-contact-form label {
    color: #000;
    font-family: DINMedium;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    margin-top: 15px;
}

.merix-form-title {
    color: #000;
    font-family: DINMedium;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 115%;
    margin-bottom: 10px;
}

.merix-contact-form select {
    border-radius: 5.4px;
    border: 1.35px solid #3A39FF;
    background-color: white !important;
    text-align: left;
    height: 49px;
}

.merix-contact-form .inner-form-text {
    color: #000;
    font-family: DINMedium;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    margin-top: 20px;
}

.merix-contact-btn-div {
    margin-top: 20px;
}

.merix-contact-btn {
    border-radius: 10000px !important;
    padding-bottom: 22px;
    padding-left: 30px;
    padding-right: 30px;
}

.merix-form-inner {
    max-width: 787px;
    border-radius: 25px;
    background: #FFF);
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15);
    margin: auto;
    padding: 40px;
}

.text-danger {
    color: #FF0505;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    margin-bottom: 20px;
}

    /* ================================
   Position Helpers
================================ */
    .topright-arrow {
    position: absolute;
    top: 0;
    right: 0;
}

.topleft-arrow {
    position: absolute;
    top: 0;
    left: 0;
}

.bottomright-arrow {
    position: absolute;
    bottom: 0;
    right: 0;
}

.bottomleft-arrow {
    position: absolute;
    bottom: 0;
    left: 0;
}

/* ================================
   Screen Reader Only
================================ */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ================================
   Minimal MyMERIX dropdown
================================ */
.my-merix-wrapper {
    position: relative;
    display: inline-block;
}

.my-merix {
    cursor: pointer;
}

.my-merix-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 237px;
    background-image: url("/Content/MERIX/Images/my-merix-bg.svg");
    background-position: bottom;
    background-size: cover;
    min-height: 250px;
    border-radius: 8px;
    box-shadow: 0 16px 24px 0 rgba(0, 0, 0, 0.14), 0 6px 30px 0 rgba(0, 0, 0, 0.12), 0 8px 10px 0 rgba(27, 1, 19, 0.11);
    z-index: 1000;
    padding: 40px;
}

.my-merix-menu-link {
    color: #FFF !important;
    font-family: DINMedium !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 130% !important;
}

.my-merix-menu-link:hover {
    color: #FF0098 !important;
}

.merix-menu-box {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mymerix-drop-contain {
    display: flex;
    gap: 20px;
}

/* Show menu when hovering wrapper */
.my-merix-wrapper:hover .my-merix-menu {
    display: block;
}

/* ================================
   Responsive
   (kept all media queries together at the bottom)
================================ */
@media only screen and (max-width: 1200px) {
    .desktop {
        display: none !important;
    }

    .mobile {
        display: block !important;
    }

    @media only screen and (max-width: 980px) {

        .heading-2 {
            font-size: 28px;
        }

        .sub-p {
            font-size: 18px;
        }

        .topright-arrow,
        .bottomright-arrow,
        .topleft-arrow,
        .bottomleft-arrow {
            width: 20%;
        }

        .merix-container {
            padding: 60px 30px;
        }

        .popup {
            padding: 40px;
            min-width: 85%;
        }
    }

    @media only screen and (max-width: 767px) {
        .merix-container {
            padding: 70px 20px;
        }
    }
}


.merix-contact-section {
    position: relative;
    background-image: url("/Content/MERIX/Images/form-bg.svg");
    background-position: top;
    background-size: cover;
    background-repeat: no-repeat;
}

.merix-search .search-heading {
    color: #000;
    font-family: DINMedium;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 115%;
}

.merix-search .search-item-title a {
    color: #000;
    font-family:DINMedium;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
}

.merix-search .search-item-contain {
    margin-bottom: 40px;
    margin-top: 20px;
}