/*
Theme Name: Ivory Graft
Theme URI: https://ivorygraft.com/
Author: Arthur Khachatryan
Description: Education - Ivory Graft
Version: 1.0.0
*/

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-SemiBoldItalic.woff2') format('woff2');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-BoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-ExtraBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('./assets/fonts/open-sans/OpenSans-ExtraBoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

* {
    scroll-behavior: smooth;
    box-sizing: border-box;
}

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

html, body {
    width: 100%;
    max-width: 1920px;
    min-width: 320px;
    padding: 0;
}

html {
    margin: 0 auto 0!important;
}

body {
    height: 100vh;
    display: flex;
    flex-direction: column;
    text-transform: none;
    word-break: break-word;
    overflow-x: hidden;
    text-align: left;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    margin: 0 auto 0;
}

body::-webkit-scrollbar {
    width: 10px;
}

body::-webkit-scrollbar-track {
    background-color: #ecfaff;
}

body::-webkit-scrollbar-thumb {
    background-color: #cce7f0;
}

figure, h1, h2, h3, h4, h5, h6, p, ul, ol {
    margin: 0;
}

figure, ul , ol {
    padding: 0;
}

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

a, a:hover, a:focus, a:active {
    text-decoration: none;
}

li {
    list-style: none;
}

strong, b {
    font-weight: 600;
}

address {
    font-style: normal;
}

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

button {
    cursor: pointer;
    user-select: none;
}

label {
    display: block;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type=number] {
    -moz-appearance: textfield;
}

input:-webkit-autofill {
    box-shadow: 0 0 0 30px var(--v3-white-1) inset !important;
    -webkit-box-shadow: 0 0 0 30px var(--v3-white-1) inset !important;
    -webkit-text-fill-color: var(--v3-dark) !important;
}

input {
    outline: none;
    transition: background 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease;
}

svg path {
    transition: fill 300ms ease;
}

.d-none {
    display: none!important;
}

.light-mode {
    background: var(--v3-white-1);
}

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

body.hidden {
    width: 100%;
    height: 100%;
    position: fixed;
    overflow: hidden;
}

.loader {
    width: 100%;
    height: 100vh;
    display: flex;
    position: fixed;
    inset: 0;
    backdrop-filter: blur(10px);
    overflow: hidden;
    z-index: 99;
}

.no-post-found {
    font: 500 16px/1.2 var(--ff-open-sans);
    line-height: 16px;
}

.overlay {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    z-index: 1;
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

.ratio {
    width: 100%;
    position: relative;
    padding-top: 100%;
}

.ratio img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-wrapper {
    transition-timing-function: linear !important;
}

.send-message {
    color: var(--v3-white-1);
    font-family: var(--ff-open-sans);
    font-weight: 600;
    background: var(--v3-blue-3);
    border: 1px solid var(--v3-blue-3);
    border-radius: 6px;
    padding: 12px 40px;
    margin-top: 8px;
    cursor: pointer;
    transition: opacity 300ms ease;
}

.send-message:hover {
    opacity: .9;
}

.form-control {
    width: 100%;
    color: var(--v3-dark-7);
    font-family: var(--ff-open-sans);
    font-weight: 400;
    background: var(--v3-white-1);
    border: 1px solid var(--v3-gray-8);
    border-radius: 4px;
    transition: border 300ms ease, box-shadow 300ms ease;
}

.form-control:focus {
    border: 1px solid var(--v3-blue-3);
    box-shadow: 0 0 8px -2px var(--v3-blue-3);
    outline: none;
}

.form-control:focus::placeholder {
    color: var(--v3-blue-3);
}

.form-control::placeholder {
    color: var(--v3-dark-7);
    font-family: var(--ff-open-sans);
    font-weight: 400;
    transition: color 300ms ease;
}

.wpcf7-response-output, .wpcf7-spinner {
    display: none;
}

.wpcf7 form .wpcf7-response-output {
    padding: 0;
    margin: 0;
    border: none;
}

.wpcf7-not-valid-tip {
    display: block;
    color: #dc3232;
    font: 400 12px/1.2 var(--ff-open-sans);
    text-align: left;
    margin-top: 8px;
}

.ssBtnDefault,
#wpadminbar {display: none}

@media only screen and (min-width: 566px) {
    .form-control {
        font-size: 15px;
        padding: 12px 24px;
    }

    .form-control::placeholder {
        font-size: 15px;
    }

    .send-message {
        font-size: 16px;
    }
}

@media only screen and (max-width: 565px) {
    .form-control {
        font-size: 13px;
        padding: 10px 16px;
    }

    .form-control::placeholder {
        font-size: 13px;
    }

    .send-message {
        font-size: 15px;
    }
}