body {
   font-family: "Roboto", serif;
   color: #000000;
   font-size: 16px;
   margin: 0;
   padding: 0;
}

body, html {
   height: 100%;
}

div, p, form, input, a, span, button, textarea, input {
   box-sizing: border-box;
}

ul, li {
   display: block;
   padding: 0;
   margin: 0;
}

p {
   margin: 0;
   font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
   margin: 0;
}

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

a, button, input {
   transition: all 0.5s ease;
}

input {
   font-family: inherit;
   border-radius: 0;
   -webkit-appearance: button;
}

input, input:hover, input:focus, input:active,
button, button:hover, button:focus, button:active {
   outline: none;
}

main {
   flex: 1 1 auto;
}

.wrapper {
   min-height: 100%;
   display: flex;
   flex-direction: column;
}

.container {
   margin: 0 auto;
   max-width: 1280px;
   padding-left: 40px;
   padding-right: 40px;
}

.main-banner,
.thanks-section {
   background: url('../img/background.jpg') no-repeat center center/cover;
}

.thanks-section {
   color: #ffffff;
}

.main-banner .container,
.thanks-section .container {
   min-height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
}

.main-banner .data-block {
   position: relative;
   padding: 32px 30px;
   max-width: 400px;
   background: #f1f1f1;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
   border-radius: 16px;
}

.main-banner .data-icon {
   text-align: center;
   margin-bottom: 16px;
}

.main-banner .data-title {
   text-align: center;
   font-size: 26px;
   line-height: 32px;
   font-weight: bold;
   max-width: 340px;
   margin: 0 auto;
   overflow: hidden;
   text-overflow: ellipsis;
}

.main-banner .data-subtitle {
   font-size: 15px;
   line-height: 18px;
   text-align: center;
   margin-top: 6px;
   color: #7d7f81;
}

.main-banner .data-description {
   line-height: 25px;
   text-align: center;
   margin-top: 30px;
   margin-bottom: 24px;
}

.main-banner .data-description p:not(:last-child) {
   margin-bottom: 20px;
}

.main-banner .data-form-inputs {
   display: flex;
   flex-direction: column;
   gap: 15px;
}

.main-banner .data-input {
   width: 100%;
   border: none;
   background-color: #ffffff;
   padding: 15px 30px;
   font-size: 15px;
}

.iti {
   width: 100%;
}

.main-banner .button {
   width: 100%;
   padding: 0;
   min-height: 60px;
   cursor: pointer;
   background-color: #01ADFF;
   color: #ffffff;
   font-family: "Roboto", serif;
   font-size: 20px;
   border: none;

   background: linear-gradient(100deg, rgb(54, 173, 225) 0%, rgb(108, 206, 249) 64%, rgb(54, 173, 225) 100%);
   border-radius: 30px;
}

.error-message, .form-message {
   color: red;
}

.thanks-section .data-content {
   text-align: center;
}

.thanks-section .data-title {
   margin-bottom: 20px;
}

@media only screen and (max-width: 576px) {

   .main-banner .container,
   .thanks-section .container {
      padding: 80px 20px;
   }
}