App.css 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921
  1. body {
  2. margin: 0;
  3. }
  4. html {
  5. box-sizing: border-box;
  6. }
  7. *,
  8. *:before,
  9. *:after {
  10. box-sizing: inherit;
  11. }
  12. .App {
  13. min-height: 100%;
  14. overflow: hidden;
  15. display: flex;
  16. flex-direction: column;
  17. font-family: 'Roboto';
  18. font-style: normal;
  19. color: #FFFFFF;
  20. }
  21. img {
  22. max-width: 100%;
  23. height: auto;
  24. vertical-align: top;
  25. }
  26. ._container {
  27. max-width: 1180px;
  28. margin: 0px auto;
  29. padding: 0 15px;
  30. }
  31. /* Header----------------------------------------------------------------------------------------- */
  32. .header_container {
  33. max-width: 1180px;
  34. margin: 0 auto;
  35. padding: 0 15px;
  36. display: flex;
  37. align-items: center;
  38. justify-content: space-between;
  39. }
  40. .header {
  41. position: relative;
  42. width: 100%;
  43. background: #EEEFF1;
  44. padding-top: 57px;
  45. transition: 0.3s;
  46. }
  47. .logo {
  48. width: 96px;
  49. height: 60px;
  50. }
  51. .logo a {
  52. display: block;
  53. }
  54. .logo a img {
  55. display: block;
  56. width: 100%;
  57. }
  58. .navigation {
  59. display: flex;
  60. justify-content: space-between;
  61. align-items: center;
  62. margin-left: 369px;
  63. }
  64. .menu {
  65. display: flex;
  66. justify-content: center;
  67. align-items: center;
  68. flex-direction: row;
  69. z-index: 1;
  70. transition: .5s;
  71. }
  72. .menu li {
  73. list-style-type: none;
  74. }
  75. .menu li a {
  76. color: #000;
  77. text-decoration: none;
  78. display: block;
  79. padding: 24px 21px;
  80. font-weight: 400;
  81. font-size: 18px;
  82. line-height: 1;
  83. transition: .3s;
  84. text-transform: uppercase;
  85. }
  86. .menu li a:hover {
  87. font-weight: 500;
  88. color: #34547A;
  89. }
  90. .hamburger {
  91. position: relative;
  92. width: 30px;
  93. height: 4px;
  94. background: #000;
  95. border-radius: 10px;
  96. cursor: pointer;
  97. z-index: 2;
  98. transition: .3s;
  99. }
  100. .hamburger:before,
  101. .hamburger:after {
  102. content: "";
  103. position: absolute;
  104. height: 4px;
  105. right: 0;
  106. background: #000;
  107. border-radius: 10px;
  108. transition: .3s;
  109. }
  110. .hamburger:before {
  111. top: -10px;
  112. width: 20px;
  113. }
  114. .hamburger:after {
  115. top: 10px;
  116. width: 25px;
  117. }
  118. .toggle-menu {
  119. position: absolute;
  120. width: 30px;
  121. height: 100%;
  122. z-index: 3;
  123. cursor: pointer;
  124. opacity: 0;
  125. }
  126. .hamburger,
  127. .toggle-menu {
  128. display: none;
  129. }
  130. .navigation input:checked~.hamburger {
  131. background: transparent;
  132. }
  133. .navigation input:checked~.hamburger:before {
  134. top: 0;
  135. transform: rotate(-45deg);
  136. width: 30px;
  137. }
  138. .navigation input:checked~.hamburger:after {
  139. top: 0;
  140. transform: rotate(45deg);
  141. width: 30px;
  142. }
  143. .navigation input:checked~.menu {
  144. right: 0;
  145. }
  146. @media screen and (max-width: 1180px) {
  147. .hamburger,
  148. .toggle-menu {
  149. display: block;
  150. }
  151. .menu {
  152. justify-content: start;
  153. flex-direction: column;
  154. align-items: center;
  155. position: fixed;
  156. top: 0;
  157. right: -300px;
  158. background: #a5b6b8;
  159. width: 300px;
  160. height: 100vh;
  161. padding-top: 100px;
  162. }
  163. .menu li {
  164. width: 100%;
  165. }
  166. menu li a,
  167. menu li a:hover {
  168. padding: 30px;
  169. font-size: 24px;
  170. box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1) inset;
  171. }
  172. }
  173. @media (max-width: 767px) {
  174. .navigation {
  175. margin-left: 180px;
  176. }
  177. }
  178. @media (max-width: 560px) {
  179. .navigation {
  180. margin-left: 90px;
  181. }
  182. }
  183. /* Mainpage------------------------------------------------------------------------------------------------------ */
  184. #mainpage {
  185. width: 100%;
  186. display: flex;
  187. justify-content: center;
  188. background: #EEEFF1;
  189. padding-top: 257px;
  190. padding-bottom: 146px;
  191. }
  192. .mainpage_container {
  193. min-height: 297px;
  194. display: flex;
  195. justify-content: center;
  196. margin-left: auto;
  197. margin-right: auto;
  198. }
  199. .mainpage_container__notelogo {
  200. min-height: 235px;
  201. }
  202. .mainpage_container__information {
  203. min-height: 297px;
  204. max-width: 540px;
  205. margin-left: calc(30px + (130 - 30) * ((100vw - 320px) / (1920 - 320)));
  206. display: flex;
  207. flex-direction: column;
  208. justify-content: space-between;
  209. }
  210. .mainpage_container__title {
  211. font-weight: 500;
  212. font-size: 48px;
  213. line-height: 1.1;
  214. color: #000000;
  215. }
  216. .mainpage_container__description {
  217. font-weight: 400;
  218. font-size: 16px;
  219. line-height: 1.1;
  220. color: #727272;
  221. }
  222. .link_btn {
  223. display: inline-block;
  224. width: fit-content;
  225. background-color: #34547A;
  226. padding: 23px 38px;
  227. text-decoration: none;
  228. font-weight: 400;
  229. font-size: 16px;
  230. letter-spacing: 0.1em;
  231. color: #FFFFFF;
  232. text-transform: uppercase;
  233. }
  234. .link_btn:hover {
  235. transition: all .5s ease-in-out;
  236. background-color: #7b65ec;
  237. cursor: pointer;
  238. }
  239. @media (max-width: 992px) {
  240. .mainpage_container {
  241. display: flex;
  242. flex-direction: column;
  243. justify-content: space-between;
  244. align-items: center;
  245. }
  246. .mainpage_container__notelogo {
  247. margin-bottom: 20px;
  248. }
  249. .link_btn {
  250. font-size: 12px;
  251. letter-spacing: 0.1em;
  252. color: #FFFFFF;
  253. }
  254. .mainpage_container__information {
  255. max-width: 540px;
  256. margin-left: 0;
  257. align-items: center;
  258. }
  259. .mainpage_container__description {
  260. text-align: center;
  261. padding: 0px 5px;
  262. }
  263. }
  264. @media (max-width: 569px) {
  265. .mainpage_container__description {
  266. text-align: center;
  267. }
  268. .mainpage_container__title {
  269. font-size: 32px;
  270. padding-left: 5px;
  271. padding-right: 5px;
  272. text-align: center;
  273. }
  274. }
  275. /* Aboutme--------------------------------------------------------------------------------- */
  276. #aboutme {
  277. display: flex;
  278. justify-content: center;
  279. align-items: center;
  280. width: 100%;
  281. padding: 120px 0 100px 0;
  282. }
  283. .aboutme_description {
  284. width: 540px;
  285. }
  286. .description__title {
  287. font-weight: 500;
  288. font-size: 32px;
  289. line-height: calc(38 / 32 * 100%);
  290. text-align: center;
  291. margin-bottom: 50px;
  292. color: #000000;
  293. }
  294. .description__text {
  295. font-weight: 400;
  296. font-size: 16px;
  297. line-height: calc(26 / 16 * 100%);
  298. text-align: center;
  299. color: #727272;
  300. }
  301. /* Projects --------------------------------------------------------------------------------------------*/
  302. .projects {
  303. max-width: 100vw;
  304. background: #34547A;
  305. min-height: 250px;
  306. }
  307. .projects_row {
  308. display: flex;
  309. justify-content: center;
  310. padding-top: 100px;
  311. padding-bottom: 100px;
  312. margin-right: auto;
  313. margin-left: auto;
  314. }
  315. .projects_description:not(:first-child) {
  316. margin: 0 0 0 50px;
  317. }
  318. .projects_description {
  319. display: flex;
  320. align-items: center;
  321. height: 50px;
  322. width: 141px;
  323. }
  324. .projects_description__pict {
  325. height: 50px;
  326. width: 45%;
  327. background-repeat: no-repeat;
  328. }
  329. .projects_description__about {
  330. max-height: 50px;
  331. width: 50%;
  332. display: flex;
  333. flex-direction: column;
  334. justify-content: center;
  335. margin-left: 10px;
  336. }
  337. .projects_description__title {
  338. font-family: 'Roboto';
  339. font-style: normal;
  340. font-weight: 500;
  341. font-size: 21px;
  342. line-height: calc(24, 61 / 21 * 100%);
  343. color: #FFFFFF;
  344. margin: 0 0;
  345. }
  346. .projects_description__text {
  347. margin: 0 0;
  348. font-family: 'Roboto';
  349. font-style: normal;
  350. font-weight: 400;
  351. font-size: 16px;
  352. line-height: calc(26, 25 / 21 * 100%);
  353. color: #FFFFFF;
  354. }
  355. @media (max-width: 1124px) {
  356. .projects_description:not(:first-child) {
  357. margin: 0 0 0 25px;
  358. }
  359. }
  360. @media (max-width: 992px) {
  361. .projects_row {
  362. display: flex;
  363. flex-direction: column;
  364. justify-content: center;
  365. align-items: center;
  366. padding-top: 25px;
  367. padding-bottom: 25px;
  368. margin-right: auto;
  369. margin-left: auto;
  370. }
  371. .projects_description:not(:first-child) {
  372. margin: 10px 0 0 0;
  373. }
  374. }
  375. /* Skills---------------------------------------------------------------------------------------------------- */
  376. .container {
  377. max-width: 1180px;
  378. padding: 0 15px;
  379. margin: 0 auto;
  380. }
  381. .section-skill {
  382. padding: 100px 0;
  383. }
  384. .skill-row {
  385. display: flex;
  386. margin: 0 -75px;
  387. max-width: 1150px;
  388. max-height: 450px;
  389. }
  390. .skill-coll {
  391. width: 50%;
  392. padding: 0 125px;
  393. }
  394. .skill-text {
  395. display: flex;
  396. flex-direction: column;
  397. justify-content: center;
  398. }
  399. .skill-bg {
  400. background-size: cover;
  401. background-position: center;
  402. background-repeat: no-repeat;
  403. padding-top: 48%;
  404. max-height: 450px;
  405. width: 45%;
  406. }
  407. .section-header {
  408. padding-bottom: 25px;
  409. }
  410. .section-header .title {
  411. line-height: 1.18;
  412. margin: 0 0 25px;
  413. font-family: 'Roboto';
  414. font-style: normal;
  415. font-weight: 500;
  416. font-size: 32px;
  417. color: #000000;
  418. }
  419. .skill-title {
  420. line-height: 1.6;
  421. display: block;
  422. margin-bottom: 20px;
  423. margin-top: 10px;
  424. font-family: 'Roboto';
  425. font-style: normal;
  426. font-weight: 400;
  427. font-size: 16px;
  428. color: #727272;
  429. }
  430. .skill-item:not(:last-child) {
  431. margin-bottom: 30px;
  432. }
  433. .skill-wrap {
  434. position: relative;
  435. height: 4px;
  436. background: #c4c4c4;
  437. z-index: 1;
  438. }
  439. .skill {
  440. background-color: #34547A;
  441. position: relative;
  442. z-index: 2;
  443. height: 4px;
  444. }
  445. /* How i work ----------------------------------------------------------------------------------------------------*/
  446. #howiwork {
  447. width: 100%;
  448. background: #EEEFF1;
  449. }
  450. .howiwork_container {
  451. display: flex;
  452. flex-direction: column;
  453. align-items: center;
  454. padding-top: 100px;
  455. }
  456. .howiwork_description {
  457. max-width: 540px;
  458. display: flex;
  459. justify-content: space-between;
  460. flex-direction: column;
  461. align-items: center;
  462. }
  463. .howiwork_title {
  464. font-weight: 500;
  465. font-size: 32px;
  466. line-height: calc(37.5 / 32 * 100%);
  467. text-align: center;
  468. color: #000000;
  469. margin-bottom: 60px;
  470. }
  471. .howiwork_information {
  472. font-weight: 400;
  473. font-size: 16px;
  474. line-height: calc(26.25 / 16 * 100%);
  475. text-align: center;
  476. color: #727272;
  477. }
  478. .howiwork_video {
  479. min-height: 600px;
  480. max-width: 1180px;
  481. width: 96.2%;
  482. margin: 57px 15px 100px 15px;
  483. background: linear-gradient(0deg, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url(code.png);
  484. background-size: cover;
  485. background-position: center;
  486. background-repeat: no-repeat;
  487. display: flex;
  488. justify-content: center;
  489. align-items: center;
  490. }
  491. .howiwork_button {
  492. height: 100px;
  493. width: 100px;
  494. opacity: 0;
  495. }
  496. .howiwork_button:hover {
  497. transition: opacity .7s ease-in-out;
  498. opacity: 1;
  499. }
  500. @media (max-width: 767px) {
  501. .howiwork_title {
  502. font-size: 24px;
  503. margin-bottom: 50px;
  504. line-height: calc(37.5 / 24 * 100%);
  505. }
  506. .howiwork_information {
  507. font-size: 14px;
  508. line-height: calc(26.25 / 14 * 100%);
  509. }
  510. }
  511. /* Section photo -------------------------------------------------------------------------------------------------------*/
  512. .photo {
  513. padding-top: 30px;
  514. }
  515. .photo_container {
  516. height: 100%;
  517. max-width: 1920px;
  518. display: flex;
  519. flex-direction: column;
  520. padding: 0;
  521. }
  522. .photo_row1 {
  523. max-width: 1920px;
  524. max-height: 480px;
  525. min-height: 80px;
  526. height: 25vw;
  527. display: flex;
  528. }
  529. .photo_row2 {
  530. max-width: 1920px;
  531. max-height: 480px;
  532. min-height: 80px;
  533. height: 25vw;
  534. display: flex;
  535. }
  536. .photo_row__straight {
  537. background-size: cover;
  538. background-position: center;
  539. background-repeat: no-repeat;
  540. max-height: 480px;
  541. width: 25%;
  542. min-width: 80px;
  543. display: flex;
  544. justify-content: center;
  545. align-items: center;
  546. }
  547. .notebooks__eye {
  548. background: url(notebooks.png);
  549. }
  550. .notebooks__eye:hover {
  551. transition: all .5s linear;
  552. background: linear-gradient(0deg, rgba(52, 84, 122, 0.8), rgba(52, 84, 122, 0.8)), url(notebooks.png);
  553. }
  554. .notes__eye {
  555. background: url(notes.png);
  556. }
  557. .notes__eye:hover {
  558. background: linear-gradient(0deg, rgba(52, 84, 122, 0.8), rgba(52, 84, 122, 0.8)), url(notes.png);
  559. }
  560. .eye {
  561. width: 100px;
  562. height: 100px;
  563. background-image: url(view.png);
  564. background-repeat: no-repeat;
  565. opacity: 0;
  566. }
  567. .eye:hover {
  568. transition: all .6s ease-in;
  569. opacity: 1;
  570. }
  571. /* Microsoft Logo ------------------------------------------------------------------------------------------------*/
  572. .microsoft_logo {
  573. width: 100%;
  574. min-height: 292px;
  575. display: flex;
  576. justify-content: center;
  577. align-items: center;
  578. }
  579. .microsoft_logocontainer {
  580. display: flex;
  581. justify-content: space-between;
  582. }
  583. .microsoftlogo {
  584. width: 255px;
  585. height: 120px;
  586. }
  587. .microsoftlogo:not(:first-child) {
  588. margin: 0 0 0 30px;
  589. }
  590. @media screen and (max-width: 1124px) {
  591. .microsoft_logo {
  592. min-height: 540px;
  593. display: flex;
  594. flex-direction: column;
  595. align-items: center;
  596. }
  597. .microsoft_logocontainer {
  598. display: flex;
  599. flex-direction: column;
  600. justify-content: space-between;
  601. }
  602. .microsoftlogo:not(:first-child) {
  603. margin: 0;
  604. }
  605. }
  606. /* Form----------------------------------------------------------------------------------------------------- */
  607. .form {
  608. width: 100%;
  609. background-color: #EEEFF1;
  610. }
  611. .formcontainer {
  612. display: flex;
  613. flex-direction: column;
  614. justify-content: center;
  615. align-items: center;
  616. padding-top: 100px;
  617. padding-bottom: 100px;
  618. }
  619. .form_description {
  620. display: flex;
  621. flex-direction: column;
  622. align-items: center;
  623. margin-bottom: 65px;
  624. max-width: 540px;
  625. }
  626. .form_description__title {
  627. margin-bottom: 50px;
  628. font-weight: 500;
  629. font-size: 32px;
  630. line-height: calc(38 / 32 * 100%);
  631. text-align: center;
  632. color: #000000;
  633. }
  634. .form_description__text {
  635. font-weight: 400;
  636. font-size: 16px;
  637. line-height: calc(26.25 / 16 * 100%);
  638. text-align: center;
  639. color: #727272;
  640. }
  641. .forminput_container {
  642. width: 30vw;
  643. min-width: 290px;
  644. max-width: 540px;
  645. }
  646. .form_input {
  647. max-width: 540px;
  648. min-height: 350px;
  649. display: flex;
  650. flex-direction: column;
  651. justify-content: space-between;
  652. }
  653. .form_input__nameemail {
  654. max-width: 540px;
  655. min-height: 50px;
  656. display: flex;
  657. justify-content: space-between;
  658. }
  659. .form_input__name,
  660. .form_input__email,
  661. .name,
  662. .email {
  663. width: 98%;
  664. height: 50px;
  665. font-weight: 400;
  666. font-size: 14px;
  667. line-height: calc(22.97 / 14 * 100%);
  668. color: #5F5D5D;
  669. border-style: none;
  670. }
  671. .form_input__email {
  672. margin-left: 30px;
  673. }
  674. .message {
  675. resize: none;
  676. padding-left: 20px;
  677. padding-top: 17px;
  678. }
  679. .form_input__message,
  680. .message {
  681. width: 100%;
  682. max-height: 175px;
  683. min-height: 120px;
  684. height: 10vw;
  685. font-weight: 400;
  686. font-size: 14px;
  687. line-height: calc(23 / 14 * 100%);
  688. color: #5F5D5D;
  689. border-style: none;
  690. }
  691. .name,
  692. .email {
  693. display: inline-block;
  694. padding-left: 20px;
  695. }
  696. .btn {
  697. font-weight: 400;
  698. line-height: calc(23 / 14 * 100%);
  699. letter-spacing: 0.15em;
  700. margin: 0 auto;
  701. display: inline-block;
  702. background-color: #34547A;
  703. padding: 14.4px 40.5px;
  704. text-decoration: none;
  705. font-size: 16px;
  706. color: #FFFFFF;
  707. text-transform: uppercase;
  708. border-style: none;
  709. }
  710. .btn:hover {
  711. transition: all .5s ease-in-out;
  712. background-color: #7b65ec;
  713. cursor: pointer;
  714. }
  715. /* Footer----------------------------------------------------------------------------------------------------------------------- */
  716. #footer {
  717. width: 100%;
  718. min-height: 151px;
  719. background: #34547A;
  720. display: flex;
  721. }
  722. .footer_container {
  723. display: flex;
  724. align-content: center;
  725. margin: auto;
  726. }
  727. .footer_about {
  728. display: flex;
  729. flex-direction: column;
  730. }
  731. .footer_name {
  732. font-weight: 500;
  733. font-size: 21px;
  734. line-height: calc(24.61 / 21 * 100%);
  735. color: #FFFFFF;
  736. margin-bottom: 20px;
  737. }
  738. .footer_year {
  739. font-weight: 400;
  740. font-size: 13px;
  741. line-height: calc(21.33 / 13 * 100%);
  742. color: #FFFFFF;
  743. }
  744. .footer_logo {
  745. display: flex;
  746. align-items: center;
  747. margin-left: 757px;
  748. flex-shrink: 0;
  749. }
  750. @media (max-width: 1180px) {
  751. .footer_logo {
  752. margin-left: 500px;
  753. }
  754. }
  755. @media (max-width: 890px) {
  756. .footer_logo {
  757. margin-left: 300px;
  758. }
  759. }
  760. @media (max-width: 683px) {
  761. .footer_logo {
  762. margin-left: 150px;
  763. }
  764. }
  765. @media (max-width: 533px) {
  766. .footer_logo {
  767. margin-left: 50px;
  768. }
  769. }