App.css 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844
  1. body {
  2. margin: 0;
  3. font-family: 'Roboto', sans-serif;
  4. font-size: 16px;
  5. line-height: 1.6;
  6. color: #727272;
  7. }
  8. html {
  9. box-sizing: border-box;
  10. }
  11. *,
  12. *::before,
  13. *::after {
  14. box-sizing: inherit;
  15. }
  16. .wrapper {
  17. width: 100%;
  18. position: relative;
  19. overflow: hidden;
  20. }
  21. img {
  22. max-width: 100%;
  23. height: auto;
  24. vertical-align: top;
  25. }
  26. p {
  27. /* margin-top: 0;
  28. margin-bottom: 20px; */
  29. margin: 0 0 20px 0;
  30. }
  31. h1,
  32. h2,
  33. h3,
  34. h4,
  35. h5,
  36. h6 {
  37. color: black;
  38. line-height: 1.15;
  39. font-weight: 500;
  40. margin-top: 0;
  41. }
  42. h1 {
  43. font-size: 35px;
  44. }
  45. h2 {
  46. font-size: 28px;
  47. }
  48. ul,
  49. ol {
  50. padding-left: 0;
  51. margin: 0;
  52. list-style: none;
  53. }
  54. .header {
  55. background: #eeeff1;
  56. position: absolute;
  57. top: 0;
  58. left: 0;
  59. width: 100%;
  60. }
  61. .header-wrap {
  62. display: flex;
  63. align-items: center;
  64. padding-top: 57px;
  65. }
  66. .logo {
  67. display: inline-block;
  68. max-width: 96px;
  69. max-height: 60px;
  70. margin-right: 15px;
  71. }
  72. .logo img {
  73. vertical-align: middle;
  74. min-width: 96px;
  75. min-height: 60px;
  76. }
  77. .nav {
  78. display: flex;
  79. justify-content: flex-end;
  80. flex-grow: 1;
  81. }
  82. /* BURGER */
  83. .burger-checkbox {
  84. opacity: 0;
  85. visibility: hidden;
  86. position: absolute;
  87. left: -9999999px;
  88. }
  89. .burger {
  90. position: relative;
  91. width: 26px;
  92. height: 18px;
  93. }
  94. .burger::before,
  95. .burger span,
  96. .burger:after {
  97. position: absolute;
  98. right: 0;
  99. left: 0;
  100. background: #000;
  101. height: 2px;
  102. }
  103. .burger:before {
  104. content: "";
  105. top: 0;
  106. }
  107. .burger span {
  108. top: 8px;
  109. }
  110. .burger:after {
  111. content: "";
  112. bottom: 0;
  113. }
  114. .burger-checkbox:checked+.burger span {
  115. opacity: 0;
  116. }
  117. .burger-checkbox:checked+.burger::before {
  118. transition: transform 0.3s ease-in;
  119. transform: rotate(45deg);
  120. top: 8px;
  121. }
  122. .burger-checkbox:checked+.burger::after {
  123. transition: transform 0.3s ease-in;
  124. transform: rotate(-45deg);
  125. bottom: 8px;
  126. }
  127. .burger-checkbox:checked~.header-list {
  128. transition: opacity .3s ease-in;
  129. opacity: 1;
  130. visibility: visible;
  131. z-index: 1;
  132. }
  133. .header-list {
  134. position: absolute;
  135. top: 100%;
  136. right: 0;
  137. left: 0;
  138. text-align: center;
  139. background: #eeeff1;
  140. opacity: 0;
  141. visibility: hidden;
  142. }
  143. .header-item {
  144. padding-bottom: 15px;
  145. }
  146. .header-item a {
  147. color: black;
  148. text-decoration: none;
  149. margin-left: 42px;
  150. transition: transform 0.3s ease-in;
  151. }
  152. .header-item a:hover {
  153. opacity: 0.8;
  154. color: #34547A;
  155. }
  156. /* section banner */
  157. .btn {
  158. display: inline-block;
  159. border: 1px solid #34547A;
  160. background: #34547A;
  161. color: #fff;
  162. text-transform: uppercase;
  163. padding: 15px 25px;
  164. line-height: 1;
  165. text-decoration: none;
  166. }
  167. .btn:hover {
  168. transition: opacity 0.3s ease-in;
  169. opacity: 0.7;
  170. cursor: pointer;
  171. }
  172. .container {
  173. max-width: 1180px;
  174. padding: 0 15px;
  175. margin: 0 auto;
  176. }
  177. .section-banner {
  178. background: #eeeff1;
  179. padding: 170px 0 50px;
  180. width: 100%;
  181. }
  182. .banner-wrap {
  183. display: flex;
  184. flex-direction: column;
  185. align-items: center;
  186. margin: 0 -65px;
  187. }
  188. .col {
  189. padding: 0 65px;
  190. width: 50%;
  191. }
  192. .col--img {
  193. display: flex;
  194. justify-content: center;
  195. padding-bottom: 50px;
  196. width: 100%;
  197. }
  198. .col--description {
  199. width: 100%;
  200. text-align: center;
  201. }
  202. .section-banner .title {
  203. margin-bottom: 60px;
  204. text-align: center;
  205. }
  206. .section-banner .holder {
  207. padding-bottom: 40px;
  208. }
  209. .section-about-me {
  210. padding-bottom: 50px;
  211. padding-top: 50px;
  212. }
  213. .about-me-header {
  214. text-align: center;
  215. }
  216. .about-me-text {
  217. max-width: 540px;
  218. text-align: center;
  219. margin: 0 auto 0;
  220. }
  221. /* section project */
  222. .section-projects {
  223. background-color: #34547A;
  224. padding: 50px 0;
  225. }
  226. .projects-wrap {
  227. display: flex;
  228. flex-wrap: wrap;
  229. justify-content: center;
  230. margin: 0 -7px;
  231. }
  232. .project-col {
  233. display: flex;
  234. padding: 0 7px 14px;
  235. }
  236. .project-image {
  237. padding-right: 20px;
  238. }
  239. .project-description {
  240. display: flex;
  241. flex-direction: column;
  242. justify-content: left;
  243. width: calc(100% - 70px);
  244. color: #fff;
  245. }
  246. .project-description p {
  247. margin: 0;
  248. text-align: left;
  249. }
  250. .project-description p:first-child {
  251. font-size: 21px;
  252. font-weight: 500;
  253. margin-top: 0px;
  254. vertical-align: top;
  255. }
  256. .section-skill {
  257. padding: 50px 0;
  258. }
  259. .skill-row {
  260. display: flex;
  261. align-items: center;
  262. flex-wrap: wrap;
  263. }
  264. .skill-col {
  265. width: 100%;
  266. }
  267. .skill-descr {
  268. padding-right: 20px;
  269. }
  270. .skill-descr h2 {
  271. text-align: center;
  272. }
  273. .skill-img {
  274. background: url(image/men_photo.jpg);
  275. background-repeat: no-repeat;
  276. background-size: cover;
  277. background-position: center;
  278. padding-top: 70%;
  279. }
  280. .skill-descr .title {
  281. margin-bottom: 50px;
  282. }
  283. .skill-box {
  284. min-width: 100%;
  285. }
  286. .skill-this {
  287. margin-bottom: 30px;
  288. }
  289. .skill-label {
  290. display: block;
  291. margin-bottom: 20px;
  292. }
  293. .skill-loader {
  294. background: #c4c4c4;
  295. height: 4px;
  296. position: relative;
  297. }
  298. .skill-load {
  299. background: #34547A;
  300. position: absolute;
  301. top: 0;
  302. bottom: 0;
  303. left: 0;
  304. }
  305. /* video */
  306. .section-video {
  307. background-color: #EEEFF1;
  308. padding: 50px 0 0 0;
  309. }
  310. .video-wrap {
  311. display: flex;
  312. flex-direction: column;
  313. align-items: center;
  314. }
  315. .header-video {
  316. text-align: center;
  317. }
  318. .video-text {
  319. width: 540px;
  320. height: 67px;
  321. text-align: center;
  322. position: relative;
  323. }
  324. .video-text p {
  325. margin: 0;
  326. width: 540px;
  327. height: 67px;
  328. text-align: center;
  329. }
  330. .video-img {
  331. position: relative;
  332. }
  333. .video-play {
  334. position: absolute;
  335. top: 50%;
  336. left: 50%;
  337. transform: translate(-50%, -50%);
  338. }
  339. /* gallery */
  340. .section-gallery {
  341. padding-top: 28px;
  342. }
  343. .section-gallery .row {
  344. display: flex;
  345. flex-wrap: wrap;
  346. }
  347. .section-gallery .col {
  348. width: 50%;
  349. padding-top: 50%;
  350. background-size: cover;
  351. background-position: center;
  352. position: relative;
  353. }
  354. .row a:nth-child(1) {
  355. order: 1;
  356. }
  357. .row a:nth-child(2) {
  358. order: 2;
  359. }
  360. .row a:nth-child(3) {
  361. order: 4;
  362. }
  363. .row a:nth-child(4) {
  364. order: 3;
  365. }
  366. .row a:nth-child(5) {
  367. order: 6;
  368. }
  369. .row a:nth-child(6) {
  370. order: 5;
  371. }
  372. .row a:nth-child(7) {
  373. order: 7;
  374. }
  375. .row a:nth-child(8) {
  376. order: 8;
  377. }
  378. .section-gallery .col:hover::before,
  379. .section-gallery .col:hover::after {
  380. transition: opacity 0.3s ease-in;
  381. opacity: 1;
  382. visibility: visible;
  383. }
  384. .section-gallery .col::before {
  385. content: "";
  386. position: absolute;
  387. top: 0;
  388. right: 0;
  389. bottom: 0;
  390. left: 0;
  391. background: rgba(52, 84, 122, 0.8);
  392. opacity: 0;
  393. visibility: hidden;
  394. }
  395. .section-gallery .col::after {
  396. content: "";
  397. position: absolute;
  398. top: 50%;
  399. left: 50%;
  400. transform: translate(-50%, -50%);
  401. background: url(image/oko.svg) no-repeat;
  402. background-size: cover;
  403. background-position: center;
  404. width: 100px;
  405. height: 58px;
  406. opacity: 0;
  407. visibility: hidden;
  408. }
  409. /* Microsoft */
  410. .section-microsoft {
  411. padding: 50px 0;
  412. }
  413. .microsoft-wrap {
  414. display: flex;
  415. flex-wrap: wrap;
  416. align-items: center;
  417. justify-content: center;
  418. margin-left: -30px;
  419. }
  420. .microsoft-img {
  421. margin-left: 30px;
  422. }
  423. /* Form section */
  424. .section-form {
  425. background: #EEEFF1;
  426. display: block;
  427. padding: 50px 0;
  428. }
  429. .form-wrap {
  430. display: flex;
  431. flex-direction: column;
  432. justify-content: center;
  433. }
  434. .form {
  435. max-width: 540px;
  436. display: flex;
  437. flex-direction: column;
  438. justify-content: center;
  439. }
  440. /* .form-header {
  441. text-align: center;
  442. padding-bottom: 34px;
  443. }
  444. .form-text{
  445. width: 540px;
  446. height: 67px;
  447. text-align: center;
  448. } */
  449. .form input {
  450. width: 255px;
  451. height: 50px;
  452. border: none;
  453. padding: 17px 20px 18px 20px;
  454. outline: 0;
  455. }
  456. .form input [placeholder] {
  457. font-size: 50px;
  458. }
  459. .form input::placeholder,
  460. .form textarea::placeholder {
  461. font-family: 'Roboto';
  462. font-style: normal;
  463. font-weight: 400;
  464. font-size: 14px;
  465. line-height: 23px;
  466. color: #5F5D5D;
  467. }
  468. .form-contacts {
  469. display: flex;
  470. flex-wrap: wrap;
  471. justify-content: space-between;
  472. margin-bottom: 20px;
  473. padding-top: 45px;
  474. }
  475. .form-message {
  476. max-width: 540px;
  477. height: 175px;
  478. border: none;
  479. padding: 17px 20px 0 20px;
  480. resize: none;
  481. border: none;
  482. margin-bottom: 50px;
  483. outline: 0;
  484. }
  485. .form-btn {
  486. display: flex;
  487. align-items: center;
  488. justify-content: center;
  489. }
  490. .section-form .btn {
  491. padding: 15px 30px;
  492. }
  493. /* Footer */
  494. .footer {
  495. background: #34547A;
  496. }
  497. .footer-wrap {
  498. display: flex;
  499. flex-wrap: wrap;
  500. justify-content: space-between;
  501. }
  502. .footer-contacts {
  503. display: flex;
  504. flex-direction: column;
  505. justify-content: left;
  506. color: #fff;
  507. padding: 50px 0 30px 0;
  508. }
  509. .footer-contacts p {
  510. margin: 0;
  511. padding-bottom: 20px;
  512. line-height: 1;
  513. font-size: 13px;
  514. }
  515. .footer-contacts p:first-child {
  516. font-size: 21px;
  517. }
  518. .social-networks {
  519. display: flex;
  520. align-items: center;
  521. }
  522. .social-networks a {
  523. padding-right: 22px;
  524. }
  525. @media (min-width: 576px) {
  526. .section-form {
  527. display: flex;
  528. flex-direction: column;
  529. justify-content: center;
  530. }
  531. }
  532. @media (min-width: 1024px) {
  533. h1 {
  534. font-size: 48px;
  535. }
  536. h2 {
  537. font-size: 32px;
  538. }
  539. .burger {
  540. display: none;
  541. }
  542. .header-list {
  543. position: static;
  544. display: flex;
  545. align-items: center;
  546. justify-content: center;
  547. opacity: 1;
  548. visibility: visible;
  549. }
  550. .header-item {
  551. padding-bottom: 0px;
  552. }
  553. .btn {
  554. padding: 23px 50px;
  555. }
  556. .col {
  557. padding: 0 65px;
  558. width: 50%;
  559. }
  560. .col--img {
  561. justify-content: flex-end;
  562. }
  563. .col--description p {
  564. text-align: left;
  565. }
  566. .section-banner {
  567. background: #eeeff1;
  568. padding: 257px 0 146px;
  569. width: 100%;
  570. }
  571. .banner-wrap {
  572. display: flex;
  573. align-items: center;
  574. margin: 0 -65px;
  575. flex-direction: row;
  576. }
  577. .section-about-me {
  578. padding-bottom: 100px;
  579. padding-top: 119px;
  580. }
  581. .section-projects {
  582. padding: 100px 0;
  583. }
  584. .project-description {
  585. width: calc(100% - 70px);
  586. }
  587. .section-skill {
  588. padding: 100px 0;
  589. }
  590. .skill-col {
  591. width: 50%;
  592. }
  593. .skill-descr h2 {
  594. text-align: left;
  595. }
  596. .skill-box {
  597. min-width: 445px;
  598. }
  599. .skill-img {
  600. padding-top: 34.6%;
  601. }
  602. .video-img {
  603. margin: 57px 35px 100px 35px;
  604. }
  605. .section-microsoft {
  606. padding-top: 72px;
  607. padding-bottom: 100px;
  608. }
  609. .section-video {
  610. padding: 100px 0 0 0;
  611. }
  612. .section-form {
  613. padding: 100px 0 100px 0;
  614. }
  615. .section-form .btn {
  616. padding: 18.5px 48px;
  617. }
  618. .section-gallery .col {
  619. width: 25%;
  620. padding-top: 25%;
  621. background-size: cover;
  622. background-position: center;
  623. position: relative;
  624. }
  625. .row a:nth-child(1) {
  626. order: 1;
  627. }
  628. .row a:nth-child(2) {
  629. order: 1;
  630. }
  631. .row a:nth-child(3) {
  632. order: 1;
  633. }
  634. .row a:nth-child(4) {
  635. order: 1;
  636. }
  637. .row a:nth-child(5) {
  638. order: 1;
  639. }
  640. .row a:nth-child(6) {
  641. order: 1;
  642. }
  643. .row a:nth-child(7) {
  644. order: 1;
  645. }
  646. .row a:nth-child(8) {
  647. order: 1;
  648. }
  649. }
  650. @media (min-width: 768px) {}
  651. @media (max-width: 575px) {
  652. .form-wrap {
  653. width: 100%;
  654. }
  655. .form input {
  656. width: 100%;
  657. margin-bottom: 10px;
  658. }
  659. }
  660. @media (max-width: 430px) {
  661. .social-networks a {
  662. padding: 0 22px 20px 0;
  663. }
  664. .social-networks {
  665. margin-right: -22px;
  666. }
  667. .footer-contacts p {
  668. text-align: center;
  669. }
  670. .footer-wrap {
  671. justify-content: center;
  672. }
  673. .footer-contacts {
  674. justify-content: center;
  675. }
  676. }