/*!
Author: Vebster | freelancerxq@gmail.com
Author URI: mailto:freelancerxq@gmail.com
*/

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

*:hover,
*:active,
*:focus,
*:visited {
    -webkit-tap-highlight-color: transparent;
}

:root {
    --containerWidth: 1330px;
    --containerWidthLarge: 1730px;
    --colorWhite: #fff;
    --colorBlack: #000;
    --colorWhiteSmoke: #f8f8f8;
    --colorDimGray: #6c6c6c;
    --colorVermilion: #ff4f12;
    --colorRobRoy: #deb855;
    --colorFern: #72ba67;
    --colorVeryLightGrey: #cacaca;
    --colorGainsboro: #e6e6e6;
    --fontMain: 'Rostelecom Basis';
    --fontMediumHighlight: 'Rostelecom Basis Medium Highlight';
}

body {
    font-family: var(--fontMain), 'Arial', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    padding: 0;
    scroll-behavior: smooth;
    background-color: var(--colorWhiteSmoke);
    color: var(--colorBlack);
    min-width: 320px;
}

a {
    color: var(--colorBlack);
    text-decoration: none;
    transition: color 0.5s;
}
a:not([class]):hover {
    color: var(--colorVermilion);
}
p {
    margin-top: 0;
    margin-bottom: 1em;
}
b {
    font-weight: 700;
}
strong {
    font-weight: 900;
}

* {
    margin: 0;
    padding: 0;
}
html,
body {
    height: 100%;
}

/* CONTAINERS */
.clearfix {
    clear: both;
}
.ov-hidden {
    overflow: hidden;
}
.ps-absolute {
    position: absolute;
}
.ps-relative {
    position: relative;
}
.wrapper {
	display: flex;
    flex-direction: column;
    min-height: 100%;
}
.container-fluid {
    max-width: 1920px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.container {
    max-width: var(--containerWidth);
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}
.container-large {
    max-width: var(--containerWidthLarge);
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}
main {
	flex: 1 1 auto;
}
/* END CONTAINERS */

/* CLEAN STYLES */
.list-reset {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.lh0 {
    line-height: 0;
}
.lh1 {
    line-height: 1;
}
.mb-0 {
    margin-bottom: 0;
}
.m-0 {
    margin: 0;
}
.p-0 {
    padding: 0;
}
.pl-0 {
    padding-left: 0;
}
.pr-0 {
    padding-right: 0;
}
.pb-0 {
    padding-bottom: 0;
}
.pt-0 {
    padding-top: 0;
}
/* END CLEAN STYLES */

/* SHORT CLASSES */
.d-none {
    display: none !important;
}
.d-block {
    display: block !important;
}
.d-grid {
    display: grid;
}
.align-items-start {
    align-items: flex-start;
}
.img-fluid {
    width: 100%;
    height: auto;
}
.curPoint {
    cursor: pointer;
}
.absElm {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.fitImg {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.contImg {
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
    height: 100%;
}
.is--objLeft {
    -o-object-position: left;
    object-position: left;
}
.is--objCenter {
    -o-object-position: center;
    object-position: center;
}
.nobr {
    white-space: nowrap;
}
.z-5 {
    z-index: 5;
}
.z-10 {
    z-index: 10;
}
.z-15 {
    z-index: 15;
}
.z-20 {
    z-index: 20;
}
.z-25 {
    z-index: 25;
}
.z-30 {
    z-index: 30;
}
.h-auto {
    height: auto;
}
.h-100 {
    height: 100%;
}
.pointer-events-none {
    pointer-events: none;
}
.op-05 {
    opacity: 0.5;
}
/* END SHORT CLASSES */

/* GAPS */
.gap-30 {
    height: 30px;
}
.gap-50 {
    height: 50px;
}
.gap-70 {
    height: 70px;
}
.gap-90 {
    height: 90px;
}
/* END GAPS */

/* HEADLINES */
h1,
.title__h1,
h2,
.title__h2,
h3,
.title__h3 {
    margin-top: 0;
    line-height: 1;
}
h1,
.title__h1 {
    font-size: 60px;
    margin-bottom: 40px;
}
h2,
.title__h2 {
    font-size: 48px;
    margin-bottom: 30px;
}
h3,
.title__h3 {
    font-size: 36px;
    margin-bottom: 25px;
}

.section__title {
    font-family: var(--fontSecond);
}
.section__title-v1 {
    font-size: 75px;
}
.section__title-v2 {
    font-size: 42px;
}
/* END HEADLINES */

/* FONTS */

/* END FONTS */

/* BUTTONS */
.btn-reset {
    border: none;
    background: none;
    outline: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
}
.btn {
    padding: 17px 50px;
    display: inline-block;
    outline: none;
    background: none;
    font-size: 20px;
    line-height: 1;
    color: var(--colorBlack);
    white-space: nowrap;
    border-radius: 10px;
    border: 1px solid var(--colorBlack);
    cursor: pointer;
}
.btn:hover {
}
.btn-orange {
    color: var(--colorVermilion);
    border: 1px solid var(--colorVermilion);
    transition: background-color 0.5s, color 0.5s;
}
.btn-orange:hover {
    color: var(--colorWhite);
    background-color: var(--colorVermilion);
}
.btn-grey {
    background-color: var(--colorGainsboro);
    border: 1px solid var(--colorGainsboro);
    transition: background-color 0.5s, color 0.5s;
}
.btn-grey:hover {
    background-color: var(--colorWhite);
    border: 1px solid var(--colorGainsboro);
}
.btn-orange--reverse {
    color: var(--colorWhite);
    border: 1px solid var(--colorVermilion);
    background-color: var(--colorVermilion);
    transition: background-color 0.5s, color 0.5s;
}
.btn-orange--reverse:hover {
    color: var(--colorVermilion);
    background-color: var(--colorWhite);
}
.btn-full {
    width: 100%;
}
.btn--process {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='20' fill='none' stroke='%23E5E7EB' stroke-width='4'%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='20' fill='none' stroke='%23ff4f12' stroke-width='4' stroke-dasharray='125.6' stroke-dashoffset='125.6'%3E%3Canimate attributeName='stroke-dashoffset' values='125.6;0' dur='2s' repeatCount='indefinite'%3E%3C/animate%3E%3C/circle%3E%3C/svg%3E") #fff;
    font-size: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40px;
    height: 100%;
}
/* END BUTTONS */

/* TEXTS */
.text-center {
    text-align: center;
}
.text-light {
    font-weight: 300;
}
.text-normal {
    font-weight: 400;
}
.text-regular {
    font-weight: 500;
}
.text-bold {
    font-weight: 700;
}
.text-extraBold {
    font-weight: 900;
}
.text-uppercase {
    text-transform: uppercase;
}

.font-14 {
    font-size: 14px;
}
.font-16 {
    font-size: 16px;
}
.font-20 {
    font-size: 20px;
}
.font-24 {
    font-size: 24px;
}
.font-32 {
    font-size: 32px;
}
.font-36 {
    font-size: 36px;
}
.font-40 {
    font-size: 40px;
}
/* END TEXTS */

/* COLORS */
.color-black {
    color: var(--colorBlack);
}
.color-white {
    color: var(--colorWhite);
}
/* END COLORS */

/* BACKGROUNDS */
.bg-noRepeat {
    background-repeat: no-repeat;
}
.bg-top-left {
    background-position: top left;
}
/* END BACKGROUNDS */

/* SVG */
.svg-default {
    width: 15px;
    height: 15px;
}
.svg-middle {
    width: 20px;
    height: 20px;
}
.svg-big {
    width: 25px;
    height: 25px;
}
.svg-extraBig {
    width: 30px;
    height: 30px;
}
.svg-bigger {
    width: 50px;
    height: 50px;
}
.svg-fileIcon {
    width: 55px;
    height: 70px;
}
.svg-quote {
    width: 79px;
    height: 55px;
}
.svg-white {
    fill: var(--colorWhite);
    transition: 0.5s fill;
}
.svg-black {
    fill: var(--colorBlack);
    transition: 0.5s fill;
}
.svg-hover-default:hover {
    fill: var(--colorBrightRed);
}
/* END SVG */

/* SECTIONS */
.section-top45 {
    padding-top: 45px;
}
.section-bottom45 {
    padding-bottom: 45px;
}
.section-top90 {
    padding-top: 90px;
}
.section-bottom90 {
    padding-bottom: 90px;
}
/* END SECTIONS */

/* FORMS */
.form-input {
    width: 100%;
    border: 1px solid var(--colorVeryLightGrey);
    background: var(--colorWhite);
    padding: 20px 15px;
}
/* END FORMS */

/* FORM POPUP */
.form-popup {
    max-width: 760px;
    width: 100%;
    padding: 0;
    background: url(../images/bg/form.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    color: initial;
}
.form-popup::before {
    content: '';
    position: absolute;
    background: url(../images/elements/item-3.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 300px;
    height: 300px;
    top: -70px;
    right: -75px;
}
.form-popup__header {
    padding: 50px 65px;
}
.form-popup__title {}
.form-popup__description {
    padding: 30px 65px;
    background: var(--colorWhite);
}
.form-popup__name {
    color: var(--colorDimGray);
    margin-bottom: 25px;
}
.form-popup__query {
}
.form-popup__body {
    padding: 65px;
}
.form-popup__fields {
    margin-bottom: 25px;
}
.form-popup__field {
}
.form-popup__field-name {
    padding-bottom: 5px;
}
.form-popup__fields.col-2 {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
    row-gap: 20px;
}

.form-success {
}
.form-success__icon {
    margin-bottom: 60px;
}
.form-success__text {
}
/* END FORM POPUP */

/* NICE SELECT */
.nice-select {
    height: 60px;
    line-height: 60px;
    border: 1px solid var(--colorVeryLightGrey);
    background: var(--colorWhite);
    border-radius: 0;
    font-size: 16px;
}
.nice-select:after {
    height: 10px;
    width: 10px;
    right: 20px;
}
.nice-select-dropdown {
    width: 100%;
    border-radius: 0;
}
.nice-select.open .nice-select-dropdown {
    border-radius: 0;
}
.nice-select .list {
    margin: 0;
    border-radius: 0;
    max-height: 100%;
}
.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
    background: var(--colorVermilion);
    border-radius: 0;
    color: var(--colorWhite);
    font-weight: 400;
}
.nice-select .list:hover .option:not(:hover) {
    color: var(--colorBlack);
}
/* END NICE SELECT */
