html body {
    background: #fff;
    color: #222;
    font-family: Rubik, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    min-width: 1180px;
}
.container {
    width: 980px;
    margin: 0 auto;
}
h1 {
    margin: 0;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}
h2 {
    margin-bottom: 15px;
    font-size: 25px;
}
h3 {
    margin-bottom: 15px;
    font-size: 20px;
}

a {
    outline: none !important;
    text-decoration: underline;
    color: #333366;
}
p {
    margin-bottom: 15px;
}
p:last-child {
    margin-bottom: 0;
}

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

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.flex-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.flex-left {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.flex-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.flex-middle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.flex-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.flex-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
.flex-nowrap {
    flex-wrap: nowrap;
}

#wrapper {
    min-height: 100vh;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: nowrap;
}

html body > p.flash-message {
    font-size: 15px;
}
html body > p.flash-message button.close {
    height: 29px;
}
html body > p.flash-message {
    width: 500px;
    margin-left: -280px;
    left: 50%;
}
html body > p.flash-message pre {
	text-align: left;
}

.form-group {
    margin-bottom: 25px;
}
.form-group:last-child {
    margin-bottom: 0;
}

input, a, span, button, select {
    outline: none !important;
}

input[type="text"] {
    height: 50px;
    padding: 0 16px;
    font-family: Rubik, Arial, sans-serif;
    border-radius: 6px;
    border: 1px solid #999;
    font-size: 16px;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

button {
    padding: 0 30px;
    height: 50px;
    font-family: Rubik, Arial, sans-serif;
    font-size: 16px;
    border: none;
    color: #fff;
    border-radius: 6px;

    cursor: pointer;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    background: #6666cc;
}

.call-form .form-inner {
    min-height: 150px;
}
.call-form .item-wrapper {
    border-radius: 6px;
    border: 1px solid #fff;
    margin: 0;
}
.call-form .item-wrapper input[name="code"] {
    border-radius: 6px 0 0 6px;
    width: 300px;
    min-width: 300px;
}
.call-form .item-wrapper button {
    border-radius: 0 6px 6px 0;
    padding: 0;
    width: 245px;
    min-width: 245px;
    text-align: center;
}
.call-form .item-wrapper .form-group {
    margin: 0;
}

[data-call-form-alter] {
    margin: 15px 0;
}

.home-page {
    width: 100%;
    margin: 30px 0;
}
.home-page h1 {
    font-size: 36px;
    font-weight: 500;
    color: #333366;
    line-height: 1.15;
    margin-bottom: 30px;

    max-width: 545px;
}
.home-page .text {
    margin: 30px 0;
    font-size: 15px;
    max-width: 545px;
}
.home-page .text p {
    margin-bottom: 20px;
}
.home-page .text p:last-child {
    margin-bottom: 0;
}

body.is-home-page #wrapper {
    height: 100vh;
}
body.is-home-page #content {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    height: 100%;
    min-height: 0;
}

.menu-block {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;

    min-width: 600px;

    overflow: hidden;
}
.menu-block:after {
    content: '';
    width: 1600px;
    height: 1600px;
    border-radius: 10000px;
    right: -1050px;
    top: -1050px;
    z-index: -1;

    position: absolute;

    background-color: #6666cc;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='376' height='376' viewBox='0 0 800 800'%3E%3Cg fill='none' stroke='%238393c7' stroke-width='1'%3E%3Cpath d='M769 229L1037 260.9M927 880L731 737 520 660 309 538 40 599 295 764 126.5 879.5 40 599-197 493 102 382-31 229 126.5 79.5-69-63'/%3E%3Cpath d='M-31 229L237 261 390 382 603 493 308.5 537.5 101.5 381.5M370 905L295 764'/%3E%3Cpath d='M520 660L578 842 731 737 840 599 603 493 520 660 295 764 309 538 390 382 539 269 769 229 577.5 41.5 370 105 295 -36 126.5 79.5 237 261 102 382 40 599 -69 737 127 880'/%3E%3Cpath d='M520-140L578.5 42.5 731-63M603 493L539 269 237 261 370 105M902 382L539 269M390 382L102 382'/%3E%3Cpath d='M-222 42L126.5 79.5 370 105 539 269 577.5 41.5 927 80 769 229 902 382 603 493 731 737M295-36L577.5 41.5M578 842L295 764M40-201L127 80M102 382L-261 269'/%3E%3C/g%3E%3Cg fill='%238393c7'%3E%3Ccircle cx='769' cy='229' r='5'/%3E%3Ccircle cx='539' cy='269' r='5'/%3E%3Ccircle cx='603' cy='493' r='5'/%3E%3Ccircle cx='731' cy='737' r='5'/%3E%3Ccircle cx='520' cy='660' r='5'/%3E%3Ccircle cx='309' cy='538' r='5'/%3E%3Ccircle cx='295' cy='764' r='5'/%3E%3Ccircle cx='40' cy='599' r='5'/%3E%3Ccircle cx='102' cy='382' r='5'/%3E%3Ccircle cx='127' cy='80' r='5'/%3E%3Ccircle cx='370' cy='105' r='5'/%3E%3Ccircle cx='578' cy='42' r='5'/%3E%3Ccircle cx='237' cy='261' r='5'/%3E%3Ccircle cx='390' cy='382' r='5'/%3E%3C/g%3E%3C/svg%3E");
}

.menu-block ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 30px;
    align-items: center;

    color: #ffffff;
}
.menu-block li {
    margin-right: 25px;
}
.menu-block li:last-child {
    margin-right: 0;
}
.menu-block a {
    text-decoration: none;
    line-height: 50px;
    display: block;
    padding: 0 30px;
    border-radius: 100px;
    border: 1px solid #fff;
    color: #ffffff !important;
}
.menu-block a:hover {
    color: #333333 !important;
    background: #fff;
}
.menu-block .phone {
    text-decoration: none;
    border-radius: 100px;
    font-size: 20px;
    margin-right: 40px;
}
.menu-block .phone a {
    border: none;
}
.menu-block .phone a:hover {
    background: none;
}

#footer {
    background: #fff;
    padding: 30px 0;

    border-top: 1px solid #ccc;
}

.footer-block .item {
    margin-right: 30px;
}
.footer-block .item:last-child {
    margin-right: 0;
}

.alert {
    color: #339933;
    border-radius: 6px;
    margin-bottom: 25px;
}
.alert-error {
    color: #ea3c3c;
}
.alert-info {
    color: #3c92dc;
}

.alert:last-child {
    margin-bottom: 0;
}

.call-form .item-wrapper button:disabled {
    background: #999;
    cursor: default;
}
.call-form .alert {
    margin: 0;
}
.call-form .disconnect {
    margin-top: 5px;
    font-weight: 500;
}

