body {
  font-family: 'PT sans';
  font-size: 22.5px;
  color: #2f1b15;
  background: #797979; }
  body * {
    box-sizing: border-box; }

h2 {
  margin: 30px 0 13px;
  font-weight: bold; }

.wrapper {
  overflow: auto;
  width: 1000px;
  min-height: 250px;
  margin: 50px auto;
  background: #fff url(../i/pattern.jpg) repeat 0 0;
  box-shadow: 0 0 55px rgba(0, 0, 0, 0.4); }
  @media screen and (max-width: 999px) {
    .wrapper {
      width: 100%;
      margin: 0; } }
  @media screen and (max-width: 600px) {
    .wrapper {
      font-size: 18px; } }

header {
  overflow: auto;
  margin: 40px 45px; }
  @media screen and (max-width: 600px) {
    header {
      margin-bottom: 70px; } }

.main {
  margin: 10px 120px 60px 110px; }
  @media screen and (max-width: 999px) {
    .main {
      margin-right: 50px;
      margin-left: 40px; } }

label {
  font-weight: bold; }

input[type='text'], input[type='email'] {
  padding: 0 15px 3px;
  font-family: 'Courier New';
  font-size: 30px;
  line-height: 1.25;
  border: 0;
  outline: none;
  background: transparent; }
  @media screen and (max-width: 600px) {
    input[type='text'], input[type='email'] {
      font-size: 18px; } }

.main-info {
  margin-bottom: 28px; }
  .main-info input {
    width: 100%; }
  .main-info label {
    float: left;
    margin-right: 15px;
    padding-top: 5px;
    line-height: 2.2; }
    @media screen and (max-width: 400px) {
      .main-info label {
        float: none; } }
  .main-info span {
    display: block;
    overflow: hidden; }
    .main-info span::after {
      display: block;
      height: 4px;
      content: '';
      background: url(../i/border.png) repeat; }

.field {
  margin-bottom: 18px; }

.columns {
  overflow: auto; }
  @media screen and (max-width: 845px) {
    .columns {
      margin-bottom: 25px; } }
  .columns .column {
    float: left;
    width: 235px;
    margin: 10px 25px 10px 0; }
    @media screen and (max-width: 845px) {
      .columns .column {
        width: 33.333333%;
        margin-left: 0;
        margin-right: 0;
        padding-right: 15px; } }
    @media screen and (max-width: 600px) {
      .columns .column {
        width: 100%;
        margin-bottom: 0; } }
  .columns .column:last-child {
    margin-right: 0;
    padding-left: 17px; }
    @media screen and (max-width: 600px) {
      .columns .column:last-child {
        padding: 0; } }

.caption {
  position: relative;
  left: -15px;
  margin-bottom: 50px;
  text-align: center; }
  @media screen and (max-width: 600px) {
    .caption img {
      max-width: 150px;
      height: auto; } }

.secret {
  float: right;
  margin: 7px 7px 0 0; }
  @media screen and (max-width: 600px) {
    .secret {
      max-width: 150px;
      height: auto; } }
  @media screen and (max-width: 400px) {
    .secret {
      display: none; } }

.csssr {
  float: left;
  margin-top: 20px; }
  @media screen and (max-width: 600px) {
    .csssr {
      max-width: 100px;
      height: auto; } }

.radio-wrapper {
  position: relative;
  padding: 0 20px 0 30px; }
  .radio-wrapper .radio {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background: url(../i/sprite.png) no-repeat 0 0; }
  .radio-wrapper input {
    display: none; }
    .radio-wrapper input:checked ~ .radio::after {
      position: absolute;
      top: 7px;
      left: 7px;
      display: block;
      width: 15px;
      height: 15px;
      content: '';
      background: url(../i/sprite.png) no-repeat 0 -63px; }

.checkbox-wrapper {
  position: relative;
  display: block;
  margin: 10px 0 12px;
  padding-left: 30px;
  font-size: 21px;
  line-height: 1.19; }
  @media screen and (max-width: 600px) {
    .checkbox-wrapper {
      font-size: 18px; } }
  .checkbox-wrapper .checkbox {
    position: absolute;
    top: 5px;
    left: 0;
    width: 20px;
    height: 20px;
    background: url(../i/sprite.png) no-repeat 0 -35px; }
  .checkbox-wrapper input {
    display: none; }
    .checkbox-wrapper input:checked ~ .checkbox::after {
      position: absolute;
      top: -14px;
      left: 5px;
      display: block;
      width: 25px;
      height: 30px;
      content: '';
      background: url(../i/sprite.png) no-repeat 0 -100px; }

.graduate {
  margin-right: 25px; }
  @media screen and (max-width: 600px) {
    .graduate {
      display: block;
      margin-bottom: 25px; } }

.description {
  position: relative;
  padding-left: 18px;
  font-size: 13.75px;
  line-height: 1.5;
  color: #3d3d3d; }
  .description::before {
    position: absolute;
    top: -9px;
    left: 0;
    display: block;
    font-size: 36px;
    content: '*'; }

.date input {
  width: 210px; }
.date label {
  float: left;
  margin-right: 5px;
  padding-top: 5px;
  line-height: 2.2; }
.date span {
  position: relative; }
  .date span::after {
    position: absolute;
    left: 0;
    display: block;
    width: 210px;
    height: 4px;
    content: '';
    background: url(../i/border.png) repeat-x; }

.slider-wrapper {
  padding: 25px 0 0 12px; }
  .slider-wrapper .slider {
    user-select: none; }
  @media screen and (max-width: 845px) {
    .slider-wrapper {
      display: none; } }
