/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

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

/**
 * 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;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
    font-size: 0.8em;
    margin: 0.67em 0;
}

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

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

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

/**
 * Remove the gray background on active links in IE 10.
 */

a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    text-decoration: underline dotted;
    /* 2 */
}

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

b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

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

small {
    font-size: 80%;
}

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

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
    border-style: none;
}

/* Forms
   ========================================================================== */

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

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 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="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

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

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

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

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

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

progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

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

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

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

[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

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

[type="search"]::-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 Edge, IE 10+, and Firefox.
 */

details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
    display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
    display: none;
}

html {
    box-sizing: border-box;
    --text: #fff;
    --box_color: #1B2054;
    --bg_color: #010C52;
    --shade_1: #005CB9;
    --shade_2: #fff
}

*,
*::before,
*::after {
    box-sizing: inherit
}

section {
    margin-bottom: 30px
}

body {
    position: relative;
    scroll-behavior: smooth;
    font-size: 24px;
    min-height: 100vh;
    background-color: var(--bg_color);
    color: var(--text);
    padding: 130px 25px 72px 25px
}

/* ===================== */
/* VCard & Button Styles */
/* ===================== */

.vcard {
    width: 300px;
    background-color: var(--box_color);
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    margin: 0 auto;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.vcard:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}

.vcard img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
    border: 3px solid var(--shade_1);
}

.vcard h2 {
    font-size: 1.2em;
    margin: 10px 0 5px;
}

.vcard p {
    font-size: 0.9em;
    color: var(--shade_2);
    margin-bottom: 15px;
}

.vcard button {
    background: linear-gradient(135deg, var(--shade_1), var(--bg_color));
    color: var(--shade_2);
    border: none;
    padding: 10px 25px;
    border-radius: 25px;
    font-size: 0.95em;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.vcard button:hover {
    background: linear-gradient(135deg, var(--shade_2), var(--shade_1));
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.vcard button:active {
    transform: translateY(1px);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.download_btn {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    font-size: 24px;
    color: var(--text);
    background-color: transparent;
    border-radius: 8px;
    height: 70px;
    width: 320px;
    padding: 0 20px;
    line-height: 70px;
    border: solid 2px transparent;
    background-image: linear-gradient(180deg, var(--shade_1) 0%, var(--shade_2) 100%), linear-gradient(180deg, var(--shade_1) 0%, var(--shade_2) 100%);
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px var(--box_color) inset;
    cursor: pointer;
    transition: transform 0.2s ease-in-out, filter 0.2s ease-in-out;
}

.download_btn:hover {
    filter: brightness(1.1);
    transform: scale(1.05);
}
.buttons_wrapper button+button {
    margin-left: 33px
}

.buttons_wrapper .add_btn,
.buttons_wrapper .contact_btn {
    display: inline-block;
    position: relative;
    /*padding-left: 10px;*/
    white-space: nowrap;
    margin: 0px;
    top: -5px;
}

.buttons_wrapper svg {
    position: relative;
    /*top: 2px;*/
}

/*
.buttons_wrapper .add_btn::before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzEiIGhlaWdodD0iMzEiIHZpZXdCb3g9IjAgMCAzMSAzMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1LjQ1NjMgMC42OTE0MDZDNy40MjU5MiAwLjY5MTQwNiAwLjkxMDE1NiA3LjMzNjg2IDAuOTEwMTU2IDE1LjUwMThDMC45MTAxNTYgMjMuNjY2NyA3LjQyNTkyIDMwLjMxMTUgMTUuNDU2MyAzMC4zMTE1QzIzLjQ4NzMgMzAuMzExNSAzMC4wMDI1IDIzLjY2NjcgMzAuMDAyNSAxNS41MDE4QzMwLjAwMjUgNy4zMzY4NiAyMy40ODczIDAuNjkxNDA2IDE1LjQ1NjMgMC42OTE0MDZaTTE1LjQ1NjMgMi4xMDU4NUMyMi43MDU2IDIuMTA1ODUgMjguNTc3MSA4LjA4ODg3IDI4LjU3NzEgMTUuNTAxMUMyOC41NzcxIDIyLjkxMzMgMjIuNzA1NiAyOC44OTY0IDE1LjQ1NjMgMjguODk2NEM4LjIwNzA2IDI4Ljg5NjQgMi4zMzQ5MSAyMi45MTMzIDIuMzM0OTEgMTUuNTAxMUMyLjMzNDkxIDguMDg4MzggOC4yMDcxOCAyLjEwNTg1IDE1LjQ1NjMgMi4xMDU4NVpNMTUuMzcyIDcuOTc1MDRDMTUuMDExMiA4LjAxOTM0IDE0Ljc0MTkgOC4zMjk0MiAxNC43NDkgOC42OTI3M1YxNC43OTQxSDguNzc0NDdDOC41NzcyNiAxNC43Nzg1IDguMzgyMzkgMTQuODQ2NCA4LjIzNzI1IDE0Ljk4MDdDOC4wOTE4NyAxNS4xMTUgOC4wMDk0MSAxNS4zMDM3IDguMDA5NDEgMTUuNTAxN0M4LjAwOTQxIDE1LjY5OTQgOC4wOTE4OCAxNS44ODgxIDguMjM3MjUgMTYuMDIyNEM4LjM4MjM5IDE2LjE1NjcgOC41NzcyNiAxNi4yMjQzIDguNzc0NDcgMTYuMjA4OEgxNC43NDlWMjIuMzEwMUMxNC43MzMyIDIyLjUwNzQgMTQuODAwNiAyMi43MDI1IDE0LjkzNDkgMjIuODQ3OEMxNS4wNjkyIDIyLjk5MzUgMTUuMjU4MiAyMy4wNzYyIDE1LjQ1NjEgMjMuMDc2MkMxNS42NTQgMjMuMDc2MiAxNS44NDMgMjIuOTkzNSAxNS45NzczIDIyLjg0NzhDMTYuMTExNiAyMi43MDI1IDE2LjE3OSAyMi41MDc0IDE2LjE2MzIgMjIuMzEwMVYxNi4yMDg4SDIyLjEzODJDMjIuMzM1NCAxNi4yMjQzIDIyLjUzIDE2LjE1NjUgMjIuNjc1NCAxNi4wMjIyQzIyLjgyMDYgMTUuODg3OSAyMi45MDMzIDE1LjY5OTEgMjIuOTAzMyAxNS41MDE0QzIyLjkwMzMgMTUuMzAzNSAyMi44MjA2IDE1LjExNDggMjIuNjc1NCAxNC45ODA1QzIyLjUzIDE0Ljg0NjIgMjIuMzM1NCAxNC43Nzg1IDIyLjEzODIgMTQuNzk0MUgxNi4xNjMyVjguNjkyNzNDMTYuMTY3IDguNDg4MjEgMTYuMDgyMSA4LjI5MTcgMTUuOTMwNiA4LjE1NDA5QzE1Ljc3ODkgOC4wMTY3MiAxNS41NzUzIDcuOTUxMjUgMTUuMzcyIDcuOTc1MDRaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K)
}

.buttons_wrapper .contact_btn::before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyNyAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjk1NzAzMSA2LjM0NjI4QzAuOTU3MDMxIDUuODM2MzQgMS4zNjI3OCA1LjQyMzQgMS44NjM4NSA1LjQyMzRIMjMuODYwNEwyMC41NzE1IDIuMDc2MkMyMC4yMTcyIDEuNzE1NjQgMjAuMjE3MiAxLjEzMDk5IDIwLjU3MTUgMC43NzA0MjRDMjAuOTI1NyAwLjQwOTg1OSAyMS41MDAyIDAuNDA5ODU5IDIxLjg1NDUgMC43NzA0MjRMMjYuNjkxMyA1LjY5Mzg2QzI2Ljg2MTcgNS44NjY0MiAyNi45NTcgNi4xMDE2NSAyNi45NTcgNi4zNDYzM0MyNi45NTcgNi41OTEgMjYuODYxNyA2LjgyNjIzIDI2LjY5MTMgNi45OTg4TDIxLjg1NDUgMTEuOTIyMkMyMS41MDAyIDEyLjI4MjggMjAuOTI1NyAxMi4yODI4IDIwLjU3MTUgMTEuOTIyMkMyMC4yMTcyIDExLjU2MTcgMjAuMjE3MiAxMC45NzcgMjAuNTcxNSAxMC42MTY1TDIzLjg2MDQgNy4yNjkyNUgxLjg2Mzg1QzEuMzYyNzggNy4yNjkyNSAwLjk1NzAzMSA2Ljg1NjIzIDAuOTU3MDMxIDYuMzQ2MjhaTTAuOTU3MDMxIDE4LjY1MzhDMC45NTcwMzEgMTguNDA5MSAxLjA1MjM1IDE4LjE3MzkgMS4yMjI3NiAxOC4wMDEzTDYuMDU5NTcgMTMuMDc3OUM2LjQxMzg2IDEyLjcxNzMgNi45ODgzMiAxMi43MTczIDcuMzQyNjEgMTMuMDc3OUM3LjY5Njg5IDEzLjQzODQgNy42OTY4OSAxNC4wMjMxIDcuMzQyNjEgMTQuMzgzNkw0LjA1MzcxIDE3LjczMDhIMjYuMDUwMkMyNi41NTEzIDE3LjczMDggMjYuOTU3IDE4LjE0MzggMjYuOTU3IDE4LjY1MzdDMjYuOTU3IDE5LjE2MzcgMjYuNTUxMyAxOS41NzY2IDI2LjA1MDIgMTkuNTc2Nkg0LjA1MzcxTDcuMzQyNjEgMjIuOTIzOEM3LjY5Njg5IDIzLjI4NDQgNy42OTY4OSAyMy44NjkgNy4zNDI2MSAyNC4yMjk2QzYuOTg4MzIgMjQuNTkwMSA2LjQxMzg2IDI0LjU5MDEgNi4wNTk1NyAyNC4yMjk2TDEuMjIyNzYgMTkuMzA2MkMxLjA1MjM2IDE5LjEzMzYgMC45NTcwMzEgMTguODk4NCAwLjk1NzAzMSAxOC42NTM4WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==)
}*/
/*
.buttons_wrapper button:hover {
    box-shadow: none;
    color: #fff
}*/

.container.social_media {
    background-color: var(--box_color);
    padding: 30px 60px
}

.social_media_grid {
    display: flex
}

.social_media_grid .text_wrapper {
    border-right: 1px solid var(--shade_1);
    padding-right: 40px
}

.social_media_grid .text {
    font-size: 40px;
    padding-top: 90px;
    white-space: nowrap
}

.media_links {
    display: grid;
    width: 100%;
    gap: 60px 25px;
    grid-template-columns: repeat(7, 1fr);
    margin-left: 40px;
    padding-top: 24px;
    padding-bottom: 20px
}

.media_link {
    position: relative;
    height: 60px;
    width: 60px;
    font-size: 12pt;
    background: linear-gradient(180deg, var(--shade_1) 0%, var(--shade_2) 100%);
    border-radius: 50%;
    transition: all .5s
}

.media_link .telegram {
    top: 0px;
    left: 0px
}

.media_link .facebook {
    top: 12px;
    left: 20px
}

.media_link .linkedin {
    top: 13px;
    left: 16px
}

.media_link .pinterest {
    top: 14px;
    left: 17px
}

.media_link .discord {
    top: 16px;
    left: 13px
}

.media_link .youtube {
    top: 18px;
    left: 13px
}

.media_link .social_icon_2 {
    left: 19px
}

.media_link img {
    position: absolute;
    top: 13px;
    left: 13px
}

/*.media_link:hover {
    background: linear-gradient(180deg, var(--shade_2) 0%, var(--shade_2) 100%)
}*/

.links_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    padding: 5px;
}

.link_wrapper {
    background-color: var(--box_color);
    border-radius: 20px;
    padding: 45px 10px;
    text-align: center;
    font-size: 20px
}

.link_wrapper p {
    margin: 0px;
}

.image_wrapper {
    margin: 0px auto;
    padding: 20px;
    height: 80px;
    width: 80px;
    border-radius: 50%;
    margin-bottom: 43px;
    box-shadow: 0 0 6px 0 rgba(157, 96, 212, .5);
    border: solid 2px transparent;
    background-image: linear-gradient(180deg, var(--shade_1) 0%, var(--shade_2) 100%), linear-gradient(180deg, var(--shade_1) 0%, var(--shade_2) 100%);
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px var(--box_color) inset
}

.image_wrapper.calendar,
.image_wrapper.products {
    padding-top: 16px
}

.qr_code_wrapper {
    width: fit-content;
    margin: 0px auto;
    padding: 30px;
    border-radius: 20px;
    background-color: var(--box_color)
}

.qr_code_wrapper i {
    font-size: 17px;
    padding-right: 5px;
    vertical-align: middle;
}

.qr_code_wrapper span {
    font-size: 18px;
}

.qr_code_wrapper img {
    width: 300px;
    height: 300px;
    max-width: 100%;
    object-fit: cover;
    margin: 0 auto;
}

@media(min-width: 1800px) {
    .bg_lines {
        height: 100%;
        right: 0px
    }
}

@media(max-width: 1200px) {
    body {
        padding: 127px 90px 48px 90px
    }

    .container.user_info {
        padding: 40px 256px 40px 50px
    }

    .gradient {
        width: 261px;
        clip-path: polygon(34% 0%, 100% 0%, 100% 100%, 0% 100%)
    }

    .sharing_button {
        top: 40px;
        right: 50px;
        height: 50px;
        width: 50px
    }

    .sharing_button svg {
        left: 9px;
        top: 10px;
    }

    .logo_wrapper {
        margin-bottom: 33px
    }

    .company_name {
        font-size: 35px
    }

    .user_image {
        width: 260px;
        height: 325px;
        top: 113px;
        right: 78px
    }

    .user_information {
        margin-bottom: 32px;
        padding-right: 100px
    }

    .name {
        font-size: 47px
    }

    .job {
        font-size: 18px;
        margin-bottom: 35px
    }

    .email,
    .info_phone,
    .info_phone_2,
    .address {
        font-size: 18px;
        display: block;
        margin-bottom: 32px;
        padding-left: 40px
    }

    .buttons_wrapper button {
        font-size: 18px;
        width: 250px;
        height: 60px;
    }

    .buttons_wrapper button+button {
        margin-left: 15px
    }

    /*.buttons_wrapper .add_btn,
    .buttons_wrapper .contact_btn {
        padding-left: 10px
    }*/

    .buttons_wrapper .add_btn::before,
    .buttons_wrapper .contact_btn::before {
        height: 25px;
        width: 25px;
        background-size: 25px 25px
    }

    .social_media_grid .text_wrapper {
        padding-right: 25px
    }

    .social_media_grid .text {
        font-size: 22px
    }

    .media_links {
        grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
        gap: 60px 25px;
        margin-left: 5px;
        padding-top: 24px;
        padding-bottom: 20px
    }

    .media_link {
        height: 50px;
        width: 50px;
        /* padding-top: 7px;
        padding-left: 9px;*/
    }

    .media_link .telegram {
        height: 50px;
        width: 50px;
        top: 0px;
        left: 0px
    }

    .media_link .facebook {
        top: 12px;
        left: 20px
    }

    .media_link .linkedin {
        top: 10px;
        left: 10px
    }

    .media_link .pinterest {
        top: 12px;
        left: 12px
    }

    .media_link .discord {
        top: 10px;
        left: 10px
    }

    .media_link .facebook {
        top: 10px;
        left: 10px
    }

    .media_link .youtube {
        top: 11px;
        left: 10px
    }

    .media_link .social_icon_2 {
        left: 10px
    }

    .media_link img {
        position: absolute;
        height: 30px;
        width: 30px;
        top: 10px;
        left: 10px
    }

    .links_grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 28px
    }

    .link_wrapper {
        background-color: var(--box_color);
        border-radius: 20px;
        padding: 35px 10px;
        text-align: center;
        font-size: 18px
    }

    .link_wrapper p {
        margin: 0px
    }

    .image_wrapper {
        margin: 0px auto;
        padding: 8px;
        height: 60px;
        width: 60px;
        margin-bottom: 35px
    }

    .image_wrapper img {
        height: 27px;
        width: 27px
    }

    .image_wrapper.calendar,
    .image_wrapper.products {
        padding-top: 15px
    }

    .contacts a svg {
        top: 8px;
    }
}

@media(max-width: 1024px) {
    .qr_code_wrapper {
        padding: 25px
    }

    .qr_code_wrapper img {
        width: 200px;
        height: 200px
    }
}

@media(max-width: 1010px) {
    .buttons_wrapper {
        display: grid;
        grid-gap: 15px
    }

    .buttons_wrapper button+button {
        margin-left: 0px
    }

    .qr_code_wrapper {
        padding: 25px
    }

    .qr_code_wrapper img {
        width: 200px;
        height: 200px
    }
}

@media(max-width: 950px) {
    body {
        padding: 70px 25px 50px 25px
    }

    .user_image {
        width: 190px;
        height: 237px
    }

    .name {
        font-size: 40px
    }
}

@media(max-width: 768px) {
    .container.user_info {
        padding: 281px 20px 20px 20px
    }

    .logo_wrapper {
        position: absolute;
        top: 136px;
        right: 38px
    }

    .logo_image {
        height: 60px;
        max-width: 100%;
    }

    .company_name {
        font-size: 22px
    }

    .sharing_button {
        top: 20px;
        right: 20px;
        height: 40px;
        width: 40px
    }

    .sharing_button svg {
        left: 3px;
        top: 5px;
    }

    .user_information {
        margin-bottom: 32px;
        padding-right: 20px
    }

    .gradient {
        height: 266px;
        width: 100%;
        clip-path: polygon(0 0, 100% 0%, 100% 46%, 0 25%);
        border-radius: 20px 20px 0px 0px
    }

    .name {
        font-size: 30px;
        margin-bottom: 5px
    }

    .job {
        font-size: 14px;
        margin-bottom: 25px
    }

    .email,
    .info_phone,
    .info_phone_2,
    .address {
        font-size: 16px;
        margin-bottom: 22px;
        padding-left: 0px;
        overflow-wrap: anywhere;
    }

    .email:before,
    .info_phone:before,
    .info_phone_2:before,
    .address:before {
        background-size: 22px 22px;
        height: 22px;
        margin-right: 22px
    }

    .user_image {
        top: 23px;
        left: 16px;
        right: none
    }

    .qr_code_wrapper {
        font-size: 16px;
    }

    .buttons_wrapper button {
        margin: 0px auto;
        font-size: 16px;
        width: 240px;
        height: 50px
    }

    .buttons_wrapper button+button {
        margin: 0px auto
    }

    .buttons_wrapper .add_btn,
    .buttons_wrapper .contact_btn {
        /*padding-left: 30px;*/
        vertical-align: super;
    }

    .buttons_wrapper .add_btn::before,
    .buttons_wrapper .contact_btn::before {
        height: 21px;
        width: 22px;
        background-size: 21px 22px
    }

    .container.social_media {
        padding: 20px 30px
    }

    .social_media_grid {
        display: block
    }

    .social_media_grid .text_wrapper {
        border-right: none;
        padding-right: 0px
    }

    .social_media_grid .text {
        text-align: center;
        padding-top: 0px;
        padding-bottom: 15px;
        border-bottom: 1px solid var(--shade_1);
        margin-bottom: 15px;
        font-size: 18px
    }

    .media_links {
        grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
        gap: 14px;
        margin: 0px auto;
        padding-bottom: 5px;
        padding-top: 5px
    }

    .media_link {
        margin: 0px auto;
        height: 40px;
        width: 40px;
        font-size: 5pt;
    }

    .media_link .telegram {
        height: 40px;
        width: 40px;
        top: 0px;
        left: 0px
    }

    .media_link .pinterest {
        top: 10px;
        left: 9px
    }

    .media_link .discord {
        top: 9px;
        left: 9px
    }

    .media_link .facebook {
        top: 9px;
        left: 9px
    }

    .media_link .youtube {
        top: 9px;
        left: 9px
    }

    .media_link .social_icon_2 {
        left: 9px
    }

    .media_link img {
        height: 23px;
        width: 23px;
        top: 9px;
        left: 9px
    }

    .links_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px
    }

    .link_wrapper {
        padding: 23px 10px
    }

    .qr_code_wrapper {
        padding: 20px;
    }

    .qr_code_wrapper img {
        width: 160px;
        height: 160px
    }
}

@media(max-width: 427px) {
    body {
        padding: 50px 25px
    }

    .container.user_info {
        padding: 210px 20px 20px 20px
    }

    .user_image {
        height: 171px;
        width: 137px
    }

    .logo_wrapper {
        right: 60px
    }

    .company_name {
        margin-left: 10px
    }

    .name {
        font-size: 24px
    }

    .email,
    .info_phone,
    .info_phone_2,
    .address {
        font-size: 14px
    }

    .buttons_wrapper button {
        width: 100%;
        font-size: 14px
    }

    .links_grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 24px
    }
}

@media(max-width: 370px) {
    .logo_wrapper {
        position: relative;
        top: 0px;
        right: 0px;
        margin-bottom: 20px
    }
}
/* ===== ANIMATIONS ===== */
.card {
  animation: fadeIn .6s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ===== HOVER ===== */
.button:hover {
  background: #005ad6;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 480px) {
  .card {
    padding: 1rem;
  }
}

/* ===== ICONES ===== */
.ri-phone-line,
.ri-mail-line {
  font-size: 1.2rem;
}

/* ===== FOOTER ===== */
footer {
  margin-top: 2rem;
  font-size: 0.85rem;
  color: #777;
}
.footer {
    text-align: center;          /* centre le texte horizontalement */
    margin-top: 20px;            /* espace au-dessus */
    font-size: 0.8em;            /* taille plus petite si nécessaire */
    color: var(--shade_2);       /* même couleur que ton texte secondaire */
}

.vcard-success {
    margin-top: 15px;
    font-size: 16px;
    text-align: center;
    color: #fff;
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.vcard-success.show {
    opacity: 1;
    transform: translateY(0);
}
