diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c01c92a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM node:18 + +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +CMD ["npm", "run", "dev"] \ No newline at end of file diff --git a/css/main.css b/css/main.css index 6537dac..53d1e07 100644 --- a/css/main.css +++ b/css/main.css @@ -1,2 +1,2 @@ - +@font-face{font-family:Georgia;font-style:normal;font-weight:400;src:url(/src/fonts/georgia/georgia.woff) format("woff")}@font-face{font-family:Georgia;font-style:italic;font-weight:400;src:url(/src/fonts/georgia/georgiai.woff) format("woff")}@font-face{font-family:Georgia;font-style:normal;font-weight:700;src:url(/src/fonts/georgia/georgiab.woff) format("woff")}@font-face{font-family:Georgia;font-style:italic;font-weight:700;src:url(/src/fonts/georgia/georgiaz.woff) format("woff")}@font-face{font-family:Futura;src:url(/src/fonts/futura/Futura-Bold.woff2) format("woff2"),url(/src/fonts/futura/Futura-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Futura;src:url(/src/fonts/futura/Futura-MediumItalic.woff2) format("woff2"),url(/src/fonts/futura/Futura-MediumItalic.woff) format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Futura;src:url(/src/fonts/futura/Futura-Medium.woff2) format("woff2"),url(/src/fonts/futura/Futura-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}:root{--fontFamilyGeorgia:'Georgia',serif;--fontFamilyFutura:'Futura',sans-serif}:root{--primaryColor:#202F66;--secondaryColor:#6ED5B8;--fontColor:#202F66;--fontColorLight:#FFFFFF;--generalPadding:20px;--menuBarHeight:80px;--mainlogoWidth:140px;--footerMainHeight:314px;--footerSubHeight:92px}*,::after,::before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline:0;box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,html,p{margin:0;padding:0}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}a{color:inherit}.container{max-width:1400px;margin:auto;padding:0 20px;position:relative;width:100%}.container .row{display:flex;flex-wrap:wrap;width:100%}.container .row .col{padding:0 10px;flex:1}.btn{all:unset;border:none;border-radius:10px;padding:21px 56px;font-family:var(--fontFamilyFutura);font-size:18px;font-weight:700;box-shadow:0 4px 15px rgba(0,0,0,.1);cursor:pointer;display:inline-block}.btn.btn-primary{background-color:var(--secondaryColor);color:var(--primaryColor)}body{font-family:var(--fontFamilyFutura);background-color:var(----fontColorLight);color:var(--fontColor);line-height:1.5}header{position:fixed;width:100%;z-index:2}header .top-bar{max-width:1400px;margin:auto;padding:var(--generalPadding) var(--generalPadding);display:flex;justify-content:center;align-items:flex-end}header .top-bar .menu-bar{position:relative;background-color:var(--secondaryColor);display:flex;width:100%;max-width:934px;min-height:var(--menuBarHeight);padding:0 45px;justify-content:flex-start;align-items:center;border-radius:100px}header .top-bar .menu-bar .logo{color:var(--primaryColor);width:var(--mainlogoWidth);height:auto}main{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(180deg,rgba(126,135,167,0) -10.51%,rgba(126,135,167,.53) 6.07%,#202f66 70.16%)}main .hero{text-align:center;padding:calc(var(--menuBarHeight) + var(--generalPadding) * 2) var(--generalPadding) calc(var(--generalPadding) * 2) var(--generalPadding)}main .hero .col{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:35px}main .hero h1{font-family:var(--fontFamilyGeorgia);font-size:45px;line-height:120%;font-weight:400;color:var(--fontColorLight);max-width:660px}main .hero h1 span{font-family:var(--fontFamilyFutura);font-weight:700;color:var(--secondaryColor)}main .hero h2{font-family:var(--fontFamilyFutura);font-size:22px;line-height:125%;font-weight:500;color:var(--fontColorLight);max-width:450px}footer{font-size:16px;line-height:130%;color:var(--primaryColor)}footer .footer-mainfooter{display:flex;justify-content:center;align-items:center;min-height:var(--footerMainHeight);background-color:var(----fontColorLight);padding:var(--generalPadding) 0;text-align:left}footer .footer-mainfooter .container .row{flex-direction:column;justify-content:center;align-items:center;text-align:center}footer .footer-mainfooter .container .row .col{display:flex;flex-direction:column;gap:20px}footer .footer-mainfooter .container .row .col .footer-title{font-family:var(--fontFamilyGeorgia);font-size:30px;line-height:110%;font-weight:400;padding-top:25px}footer .footer-mainfooter .container .row .col .link-address{text-decoration:none}footer .footer-mainfooter .container .row .col ul{list-style:none;padding:9px 0 0 0;margin:0}footer .footer-mainfooter .container .row .col ul li{margin-bottom:10px}footer .footer-mainfooter .container .row .col .social-links{display:flex;flex-direction:row;justify-content:space-between;gap:20px}footer .footer-mainfooter .container .row .col .social-links a{width:38px;height:38px}footer .footer-mainfooter .container .row .col:last-child{margin:calc(var(--generalPadding)*2) var(--generalPadding) var(--generalPadding) var(--generalPadding)}footer .footer-mainfooter .logo{width:220px;height:auto}footer .footer-subfooter{display:flex;justify-content:center;align-items:center;min-height:var(--footerSubHeight);background-color:var(--primaryColor);padding:10px 0;text-align:center;font-size:14px}footer .footer-subfooter .col{display:flex;justify-content:center;align-items:center}footer .footer-subfooter .col .logo{width:150px;height:auto;color:var(--fontColorLight)}@media (min-width:1024px){:root{--menuBarHeight:112px;--mainlogoWidth:182px;--footerMainHeight:314px}.container .row .col.col-3{flex:0 0 25%;max-width:25%}.container .row .col.col-12{flex:0 0 100%;max-width:100%}.btn{transition:all .2s ease}.btn.btn-primary:hover{background-color:var(--fontColorLight);color:var(--secondaryColor)}header .top-bar .menu-bar .logo{transition:all .2s ease}header .top-bar .menu-bar .logo:hover{color:var(--fontColorLight)}main .hero h1{font-size:60px;line-height:107%;max-width:950px}footer .footer-mainfooter .container .row{flex-direction:row;justify-content:flex-start;align-items:flex-start;text-align:left}footer .footer-mainfooter .container .row .col{gap:30px;order:2}footer .footer-mainfooter .container .row .col .social-links{justify-content:flex-start}footer .footer-mainfooter .container .row .col .social-links a{transition:all .2s ease}footer .footer-mainfooter .container .row .col .social-links a:hover{transform:scale(1.1)}footer .footer-mainfooter .container .row .col:not(:last-child) p{line-height:190%;padding-top:9px}footer .footer-mainfooter .container .row .col:last-child{margin:0;order:1}} /*# sourceMappingURL=main.css.map */ diff --git a/css/main.css.map b/css/main.css.map index b227a97..1f53738 100644 --- a/css/main.css.map +++ b/css/main.css.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"main.css","sourcesContent":[]} \ No newline at end of file +{"version":3,"sources":["_fonts.scss","main.scss","main.css"],"names":[],"mappings":"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","file":"main.css","sourcesContent":["@font-face {\n font-family: 'Georgia';\n font-style: normal;\n font-weight: normal;\n src: url('/src/fonts/georgia/georgia.woff') format('woff');\n}\n\n@font-face {\n font-family: 'Georgia';\n font-style: italic;\n font-weight: normal;\n src: url('/src/fonts/georgia/georgiai.woff') format('woff');\n}\n\n@font-face {\n font-family: 'Georgia';\n font-style: normal;\n font-weight: bold;\n src: url('/src/fonts/georgia/georgiab.woff') format('woff');\n}\n\n@font-face {\n font-family: 'Georgia';\n font-style: italic;\n font-weight: bold;\n src: url('/src/fonts/georgia/georgiaz.woff') format('woff');\n}\n\n@font-face {\n font-family: 'Futura';\n src: url('/src/fonts/futura/Futura-Bold.woff2') format('woff2'),\n url('/src/fonts/futura/Futura-Bold.woff') format('woff');\n font-weight: bold;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Futura';\n src: url('/src/fonts/futura/Futura-MediumItalic.woff2') format('woff2'),\n url('/src/fonts/futura/Futura-MediumItalic.woff') format('woff');\n font-weight: 500;\n font-style: italic;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'Futura';\n src: url('/src/fonts/futura/Futura-Medium.woff2') format('woff2'),\n url('/src/fonts/futura/Futura-Medium.woff') format('woff');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n\n:root {\n --fontFamilyGeorgia: 'Georgia', serif;\n --fontFamilyFutura: 'Futura', sans-serif;\n}\n\n","@import \"fonts\"; \n\n// Define CSS variables\n:root{\n --primaryColor: #202F66;\n --secondaryColor: #6ED5B8;\n --fontColor: #202F66;\n --fontColorLight: #FFFFFF;\n --generalPadding: 20px;\n --menuBarHeight: 80px;\n --mainlogoWidth: 140px;\n --footerMainHeight: 314px;\n --footerSubHeight: 92px;\n} \n\n// Global styles to improve consistency across browsers\n*,\n*::before,\n*::after {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n outline: 0;\n box-sizing: border-box;\n}\n\n// Reset default margins and paddings\nhtml, body, p, h1, h2, h3, h4, h5, h6 {\n margin: 0;\n padding: 0;\n}\n\n// Set images and media to be responsive\nimg, picture, video, canvas, svg {\n display: block;\n max-width: 100%;\n}\n\n// Inherit fonts for form elements\nbutton, input, textarea, select {\n font: inherit;\n}\n\na {\n color: inherit;\n}\n\n// Layout helpers\n.container {\n max-width: 1400px;\n margin: auto;\n padding: 0 20px;\n position: relative;\n width: 100%;\n .row{\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n .col{\n padding: 0 10px;\n flex: 1;\n }\n }\n}\n\n// Button styles\n.btn{\n all: unset;\n border: none;\n border-radius: 10px;\n padding: 21px 56px;\n font-family: var(--fontFamilyFutura);\n font-size: 18px;\n font-weight: 700;\n box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n display: inline-block;\n &.btn-primary{\n background-color: var(--secondaryColor);\n color: var(--primaryColor);\n }\n}\n\n// Body styles\nbody {\n font-family: var(--fontFamilyFutura);\n background-color: var(----fontColorLight);\n color: var(--fontColor);\n line-height: 1.5;\n}\n\n// Header styles\nheader{\n position: fixed;\n width: 100%;\n z-index: 2;\n .top-bar{\n max-width: 1400px;\n margin: auto;\n padding: var(--generalPadding) var(--generalPadding);\n display: flex;\n justify-content: center;\n align-items: flex-end;\n .menu-bar{\n position: relative;\n background-color: var(--secondaryColor);\n display: flex;\n width: 100%;\n max-width: 934px;\n min-height: var(--menuBarHeight);\n padding: 0px 45px;\n justify-content: flex-start;\n align-items: center; \n border-radius: 100px;\n .logo{\n color: var(--primaryColor);\n width: var(--mainlogoWidth);\n height: auto;\n }\n }\n }\n}\n\n// Main styles\nmain{\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center; \n min-height: 100vh;\n background: linear-gradient(180deg, rgba(126, 135, 167, 0) -10.51%, rgba(126, 135, 167, 0.53) 6.07%, #202F66 70.16%);\n .hero{\n text-align: center;\n padding: calc(var(--menuBarHeight) + var(--generalPadding) * 2) var(--generalPadding) calc(var(--generalPadding) * 2) var(--generalPadding);\n .col{\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 35px;\n }\n h1{\n font-family: var(--fontFamilyGeorgia);\n font-size: 45px;\n line-height: 120%;\n font-weight: 400;\n color: var(--fontColorLight);\n max-width: 660px;\n span{\n font-family: var(--fontFamilyFutura);\n font-weight: 700;\n color: var(--secondaryColor);\n }\n }\n h2{\n font-family: var(--fontFamilyFutura);\n font-size: 22px;\n line-height: 125%;\n font-weight: 500;\n color: var(--fontColorLight);\n max-width: 450px;\n }\n }\n}\n\n// Footer styles\nfooter{\n font-size: 16px;\n line-height: 130%;\n color: var(--primaryColor);\n .footer-mainfooter{\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: var(--footerMainHeight);\n background-color: var(----fontColorLight);\n padding: var(--generalPadding) 0;\n text-align: left;\n .container{\n .row{\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n .col{\n display: flex;\n flex-direction: column;\n gap: 20px;\n .footer-title{\n font-family: var(--fontFamilyGeorgia);\n font-size: 30px;\n line-height: 110%;\n font-weight: 400;\n padding-top: 25px;\n }\n\n .link-address{\n text-decoration: none;\n }\n\n ul{\n list-style: none;\n padding: 9px 0 0 0;\n margin: 0;\n li{\n margin-bottom: 10px;\n }\n }\n\n .social-links{\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: 20px;\n a{\n width: 38px;\n height: 38px;\n }\n }\n\n &:last-child{\n margin: calc(var(--generalPadding)*2) var(--generalPadding) var(--generalPadding) var(--generalPadding);\n } \n }\n }\n }\n\n .logo{\n width: 220px;\n height: auto;\n }\n }\n .footer-subfooter{\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: var(--footerSubHeight);\n background-color: var(--primaryColor);\n padding: 10px 0;\n text-align: center;\n font-size: 14px;\n .col{\n display: flex;\n justify-content: center;\n align-items: center;\n .logo{\n width: 150px;\n height: auto;\n color: var(--fontColorLight);\n } \n }\n }\n}\n\n// Desktop styles\n@media (min-width: 1024px) {\n :root{\n --menuBarHeight: 112px;\n --mainlogoWidth: 182px;\n --footerMainHeight: 314px;\n } \n\n .container {\n .row{\n .col{\n &.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n &.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n }\n }\n }\n\n .btn{\n transition: all 0.2s ease;\n &.btn-primary{\n &:hover{\n background-color: var(--fontColorLight);\n color: var(--secondaryColor);\n }\n }\n }\n\n header{\n .top-bar{\n .menu-bar{ \n .logo{ \n transition: all 0.2s ease;\n &:hover{\n color: var(--fontColorLight);\n }\n }\n }\n }\n }\n\n main{\n .hero{\n h1{\n font-size: 60px;\n line-height: 107%;\n max-width: 950px;\n }\n }\n }\n\n footer{\n .footer-mainfooter{\n .container{\n .row{\n flex-direction: row;\n justify-content: flex-start;\n align-items: flex-start;\n text-align: left;\n .col{\n gap: 30px;\n order: 2;\n .social-links{\n justify-content: flex-start;\n a{\n transition: all 0.2s ease;\n &:hover{\n transform: scale(1.1);\n }\n }\n }\n\n &:not(:last-child){\n p{\n line-height: 190%;\n padding-top: 9px;\n }\n }\n &:last-child{\n margin: 0;\n order: 1;\n }\n }\n }\n } \n }\n }\n}",null]} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f2bebf4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +services: + frontend: + build: . + container_name: ooptimo-frontend + ports: + - "3000:3000" + volumes: + - .:/app + - /app/node_modules + command: npm run dev \ No newline at end of file diff --git a/index.html b/index.html index 4c48af9..87a75f1 100644 --- a/index.html +++ b/index.html @@ -1,19 +1,172 @@ - +
+Job Application HTML Tests — ooptimo
+ +.your-style {
+ font-family: 'Futura';
+ font-weight: bold;
+ font-style: normal;
+}
+ +<link rel="preload" href="Futura-Bold.woff2" as="font" type="font/woff2" crossorigin>+
+ abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789.:,;()*!?'@#<>$%&^+-=~
+
The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+.your-style {
+ font-family: 'Futura';
+ font-weight: bold;
+ font-style: normal;
+}
+ +<link rel="preload" href="Futura-CondensedExtraBold.woff2" as="font" type="font/woff2" crossorigin>+
+ abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789.:,;()*!?'@#<>$%&^+-=~
+
The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+.your-style {
+ font-family: 'Futura';
+ font-weight: 500;
+ font-style: normal;
+}
+ +<link rel="preload" href="Futura-CondensedMedium.woff2" as="font" type="font/woff2" crossorigin>+
+ abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789.:,;()*!?'@#<>$%&^+-=~
+
The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+.your-style {
+ font-family: 'Futura';
+ font-weight: 500;
+ font-style: italic;
+}
+ +<link rel="preload" href="Futura-MediumItalic.woff2" as="font" type="font/woff2" crossorigin>+
+ abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789.:,;()*!?'@#<>$%&^+-=~
+
The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+.your-style {
+ font-family: 'Futura';
+ font-weight: 500;
+ font-style: normal;
+}
+ +<link rel="preload" href="Futura-Medium.woff2" as="font" type="font/woff2" crossorigin>+
+ abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789.:,;()*!?'@#<>$%&^+-=~
+
The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+The quick brown fox jumps over the lazy dog.
+