Prvotna verzija spletne strani

This commit is contained in:
Mark Poljanšek committed 2025-08-21 11:06:11 +02:00
1 parent 9d09f04023
commit 79150b21d2
58 files changed
+8507

No files matched your search

BIN
View File
Binary file not shown.
+59
View File
@@ -0,0 +1,59 @@
/* ==========================================================================
Base Styles
========================================================================== */
/**
* 1. Temeljni stili za celotno stran (box-sizing, osnovna pisava, barve).
* 2. Definicija glavnega `.container` razreda za omejitev širine vsebine.
* 3. Pravilo za preprečevanje drsenja strani, ko je mobilni meni odprt.
*/
/* 1. Temeljni stili */
html, body {
overflow-x: hidden; /* Preprečuje horizontalno drsenje na najvišji ravni */
}
body {
font-family: 'Inter', sans-serif;
margin: 0;
background-color: #FFFFFF;
color: #101828;
}
/* Prepreči drsenje strani, ko je mobilni meni odprt */
body.nav-open {
overflow: hidden;
}
/* 2. Glavni container */
.container {
width: 1280px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 32px;
box-sizing: border-box;
}
/* ==========================================================================
Mobile Base Styles
========================================================================== */
@media (max-width: 768px) {
body {
/* Odmik na vrhu telesa strani zaradi fiksne glave na mobilnih napravah.
Ta stil je tukaj, ker vpliva na celotno stran. */
padding-top: 60px;
}
.container {
width: 100%;
padding: 0 24px;
}
}
View File
Whitespace-only changes.
+122
View File
@@ -0,0 +1,122 @@
/* ==========================================================================
Buttons Styles
========================================================================== */
/**
* Ta datoteka vsebuje stile za vse ponovno uporabljive gumbe na spletni strani.
*
* 1. Osnovni stil za gumbe (.btn)
* 2. Različice gumbov (.btn-primary, .btn-primary-orange, .btn-secondary)
* 3. Gumbi z ikonami (.social-icon-btn)
* 4. Posebni gumbi (.play-button)
* 5. Stili za gumbe na mobilnih napravah
*/
/* 1. Osnovni stil za gumbe */
.btn {
padding: 10px 18px;
border-radius: 8px;
font-weight: 600;
font-size: 16px;
line-height: 24px;
cursor: pointer;
border: 1px solid transparent;
box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
text-decoration: none;
display: inline-block;
text-align: center;
}
/* 2. Različice gumbov */
.btn-primary {
background-color: #2D738C;
color: #FFFFFF;
border-color: #2D738C;
}
.btn-primary-orange {
background: #FA7850;
color: #FFFFFF;
padding: 16px 28px;
font-size: 18px;
line-height: 28px;
}
.btn-secondary {
background-color: #FFFFFF;
color: #344054;
border: 1px solid #D0D5DD;
}
/* 3. Gumbi z ikonami */
.social-icon-btn {
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
border: 1px solid #D0D5DD;
border-radius: 8px;
box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
color: #98A2B3;
font-size: 18px;
text-decoration: none;
}
/* 4. Posebni gumbi */
.play-button {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80px;
height: 80px;
background: rgba(255, 255, 255, 0.56);
border-radius: 50%;
border: none;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
}
.play-button::after {
content: '';
width: 0;
height: 0;
border-left: 24px solid white;
border-top: 14px solid transparent;
border-bottom: 14px solid transparent;
margin-left: 5px;
}
/* ==========================================================================
Mobile Buttons Styles
========================================================================== */
@media (max-width: 768px) {
.btn-primary-orange {
width: auto;
padding: 16px 28px;
border-radius: 12px;
font-size: 16px;
}
.play-button {
width: 42px;
height: 42px;
}
.play-button::after {
border-left-width: 14px;
border-top-width: 8px;
border-bottom-width: 8px;
}
}
+179
View File
@@ -0,0 +1,179 @@
/* ==========================================================================
Cards Styles
========================================================================== */
/**
* Ta datoteka vsebuje stile za vse ponovno uporabljive komponente v obliki kartic.
*
* 1. Kartice z novicami (.news-card)
* 2. Kartice s pričevanji (.testimonial-card)
* 3. Kartice s projekti/objavami (.post-card)
* 4. Stili za kartice na mobilnih napravah
*/
/* 1. Kartice z novicami (.news-card) */
.news-card {
width: 405.33px;
background: transparent;
text-align: left;
}
.news-card img {
width: 100%;
height: 240px;
object-fit: cover;
border-radius: 8px;
margin-bottom: 32px;
}
.news-card .card-content {
color: #FFFFFF;
}
.news-card .author {
font-size: 14px;
font-weight: 600;
margin-bottom: 12px;
}
.news-card h3 {
font-size: 24px;
font-weight: 600;
line-height: 32px;
margin-bottom: 12px;
}
.news-card p {
font-size: 16px;
line-height: 24px;
}
/* 2. Kartice s pričevanji (.testimonial-card) */
.testimonial-card {
padding: 24px 24px 40px;
border: 1px solid #D0D5DD;
border-radius: 16px;
}
.testimonial-column .testimonial-card:nth-child(even) {
background: #F9FAFB;
}
.testimonial-card h3 {
font-size: 24px;
font-weight: 600;
line-height: 1.2;
color: #000000;
margin-bottom: 24px;
}
.testimonial-card p {
font-size: 16px;
line-height: 1.2;
color: #646E82;
margin-bottom: 24px;
}
.author-info {
display: flex;
align-items: center;
gap: 16px;
}
.author-info img {
width: 48px;
height: 48px;
border-radius: 50%;
object-fit: cover;
}
.author-info h4 {
font-size: 18px;
font-weight: 600;
margin: 0 0 6px 0;
color: #000000;
}
.author-info p {
font-size: 16px;
margin: 0;
color: #2D738C;
}
/* Specifična pravila za barve znotraj pričevanj */
.testimonial-card:nth-child(3) .author-info h4,
.testimonial-card:nth-child(3) .author-info p {
color: #2D738C;
}
.testimonial-column:nth-child(1) .testimonial-card:nth-child(2) .author-info h4,
.testimonial-column:nth-child(2) .testimonial-card:nth-child(2) .author-info h4,
.testimonial-column:nth-child(1) .testimonial-card:nth-child(2) .author-info p,
.testimonial-column:nth-child(2) .testimonial-card:nth-child(2) .author-info p {
color: #646E82;
}
/* 3. Kartice s projekti/objavami (.post-card) */
.post-card {
display: flex;
flex-direction: column;
}
.post-link {
text-decoration: none;
color: inherit;
}
.post-image {
width: 100%;
height: 240px;
object-fit: cover;
border-radius: 8px;
margin-bottom: 32px;
}
.post-meta {
font-size: 14px;
font-weight: 600;
color: #FA7850;
margin: 0 0 12px;
}
.post-title {
font-size: 24px;
font-weight: 600;
line-height: 32px;
color: #101828;
margin: 0 0 12px;
}
.post-excerpt {
font-size: 16px;
line-height: 24px;
color: #667085;
margin: 0;
}
/* ==========================================================================
Mobile Cards Styles
========================================================================== */
@media (max-width: 768px) {
/* Kartice z novicami */
.news-card {
width: 100%;
max-width: 321px;
}
/* Kartice s pričevanji */
.testimonial-card {
flex: 0 0 291px;
scroll-snap-align: start;
margin-right: 24px;
}
}
+177
View File
@@ -0,0 +1,177 @@
/* ==========================================================================
Footer Styles
========================================================================== */
/**
* Ta datoteka vsebuje stile za nogo (footer) spletne strani.
*
* 1. Glavni kontejner za nogo
* 2. Vsebina noge (informacije, logotip, socialne ikone)
* 3. Povezave v nogi
* 4. Spodnji del noge (copyright, pravne povezave)
* 5. Stili za nogo na mobilnih napravah
*/
/* 1. Glavni kontejner za nogo */
footer {
background: #2D738C;
color: #FFFFFF;
padding: 64px 0 88px;
}
.footer-container {
width: 1280px;
margin: 0 auto;
}
.footer-main {
display: flex;
justify-content: space-between;
margin-bottom: 64px;
}
/* 2. Vsebina noge (informacije, logotip, socialne ikone) */
.footer-info {
width: 302px;
}
.footer-logo {
margin-bottom: 48px;
}
.footer-logo img {
height: auto;
width: 200px;
object-fit: contain;
}
.footer-info p {
font-size: 16px;
line-height: 1.5;
margin-bottom: 24px;
}
.social-icons {
display: flex;
gap: 24px;
}
.social-icons a {
color: #FFFFFF;
font-size: 24px;
text-decoration: none;
}
/* 3. Povezave v nogi */
.footer-links {
display: flex;
gap: 32px;
}
.links-column {
width: 192px;
}
.links-column h4 {
font-size: 18px;
font-weight: 600;
margin: 0 0 24px 0;
}
.links-column a {
display: block;
color: #FFFFFF;
text-decoration: none;
font-size: 16px;
margin-bottom: 16px;
}
/* 4. Spodnji del noge (copyright, pravne povezave) */
footer hr {
border: 0;
border-top: 1px solid rgba(255, 255, 255, 0.5);
margin: 0 0 24px 0;
}
.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 14px;
}
.legal-links {
display: flex;
gap: 24px;
}
.legal-links a {
color: #FFFFFF;
text-decoration: none;
}
/* ==========================================================================
Mobile Footer Styles
========================================================================== */
@media (max-width: 768px) {
footer {
padding: 0;
}
.footer-container {
width: 100%;
padding: 0 24px;
}
.footer-main {
flex-direction: column;
align-items: flex-start;
padding: 48px 0;
gap: 48px;
margin-bottom: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.footer-info {
width: 100%;
}
.footer-logo img {
max-width: 161px;
height: auto;
}
.footer-links {
flex-direction: column;
gap: 40px;
width: 100%;
}
.links-column {
width: 100%;
}
footer hr {
display: none;
}
.footer-bottom {
flex-direction: column;
gap: 32px;
padding: 40px 0;
align-items: flex-start;
}
.legal-links {
flex-direction: column;
gap: 16px;
align-items: flex-start;
}
}
+256
View File
@@ -0,0 +1,256 @@
/* ==========================================================================
Header Styles
========================================================================== */
/**
* Ta datoteka vsebuje stile za glavo (header) spletne strani.
*
* 1. Glavni kontejner za glavo
* 2. Vsebina glave (logotip, namizna navigacija)
* 3. Gumbi in akcije v glavi (vključno z izbiro jezika)
* 4. Stili za mobilno glavo in navigacijo
*/
/* 1. Glavni kontejner za glavo */
.dropdown-header-navigation {
position: absolute;
width: 100%;
height: 80px;
background: #FFFFFF;
border-bottom: 1px solid #F2F4F7;
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
}
/* 2. Vsebina glave (logotip, namizna navigacija) */
.header-content {
display: flex;
align-items: center;
gap: 40px;
}
.logo-link .logo-img {
height: 32px;
width: auto;
}
.navigation.desktop-nav {
display: flex;
gap: 32px;
}
.navigation a {
text-decoration: none;
color: #667085;
font-weight: 600;
font-size: 16px;
padding: 4px 0;
}
/* 3. Gumbi in akcije v glavi */
.navigation-actions {
display: flex;
align-items: center;
gap: 24px;
}
/* Stili za izbiro jezika */
.language-selector {
position: relative;
cursor: pointer;
}
.current-lang {
display: flex;
align-items: center;
gap: 8px;
color: #646E82;
padding: 8px; /* Dodan enakomeren padding za lažji klik */
border-radius: 6px; /* Rahlo zaobljeni robovi za lepši videz */
transition: background-color 0.2s ease-in-out;
}
.current-lang:hover {
background-color: #F9FAFB; /* Svetlo ozadje ob prehodu z miško */
}
.current-lang span {
font-weight: 600;
}
.current-lang .fa-chevron-down {
transition: transform 0.3s ease-in-out; /* Animacija puščice */
}
.lang-dropdown {
display: block; /* Meni je vedno v DOM-u, vidnost nadzorujemo drugače */
position: absolute;
top: calc(100% + 8px); /* Postavi se pod sprožilec z majhnim odmikom */
right: 0;
background-color: #FFFFFF;
border: 1px solid #EAECF0;
border-radius: 8px;
box-shadow: 0 8px 16px rgba(0,0,0,0.08);
padding: 8px;
z-index: 1001;
min-width: 180px;
/* Tranzicije za gladek prikaz in izginotje */
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
/* Stanje, ko je menjalnik jezika odprt (aktiven) */
.language-selector.active .lang-dropdown {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.language-selector.active .current-lang .fa-chevron-down {
transform: rotate(180deg); /* Zasuka puščico navzgor */
}
.lang-dropdown a {
display: block;
padding: 10px 12px;
color: #344054;
text-decoration: none;
font-weight: 500;
font-size: 16px;
white-space: nowrap;
border-radius: 6px;
}
.lang-dropdown a:hover {
background-color: #F9FAFB;
}
/* 4. Skrivanje mobilnih elementov na namizju */
.mobile-menu-icon {
display: none;
}
.mobile-nav-panel {
display: none;
}
/* ==========================================================================
Mobile Header Styles
========================================================================== */
@media (max-width: 768px) {
.dropdown-header-navigation {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 60px;
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.06);
border-bottom: none;
z-index: 1002; /* Biti mora nad panelom, ki ima 1001 */
}
/* Skrij namizne elemente */
.navigation.desktop-nav {
display: none;
}
.dropdown-header-navigation .container > .navigation-actions {
display: none;
}
/* Prikaži mobilno ikono */
.mobile-menu-icon {
display: block;
font-size: 24px;
color: #101828;
cursor: pointer;
z-index: 1002;
}
.mobile-menu-icon .fa-times {
display: none;
}
body.nav-open .mobile-menu-icon .fa-bars {
display: none;
}
body.nav-open .mobile-menu-icon .fa-times {
display: block;
}
/* Stiliziraj mobilni panel */
.mobile-nav-panel {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
gap: 48px;
position: fixed;
top: 60px; /* Začne se pod glavo */
left: 0;
width: 100%;
height: calc(100vh - 60px);
background: #FFFFFF;
padding: 40px 24px;
box-sizing: border-box;
transform: translateX(100%);
transition: transform 0.3s ease-in-out;
z-index: 1001; /* Pod glavo, a nad vsebino strani */
overflow-y: auto;
}
/* Logika za odpiranje panela */
body.nav-open .mobile-nav-panel {
transform: translateX(0);
}
.mobile-nav-panel .navigation.mobile-nav {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
}
.mobile-nav-panel .navigation a {
font-size: 20px;
color: #101828;
}
.mobile-nav-panel .navigation-actions {
display: flex; /* Mora biti flex za prikaz vsebine */
flex-direction: column;
align-items: center;
gap: 16px;
width: 100%;
}
.mobile-nav-panel .navigation-actions .btn {
width: 100%;
max-width: 300px;
}
.mobile-nav-panel .language-selector {
margin-top: 16px;
text-align: center; /* Poskrbi za poravnavo dropdown menija */
}
/* Na mobilnih napravah dropdown meni potrebuje malo drugačno pozicijo */
.mobile-nav-panel .lang-dropdown {
left: 50%;
transform: translateX(-50%); /* Centriranje menija pod ikono */
right: auto;
/* Tranzicije so podedovane iz namizne različice */
}
}
+32
View File
@@ -0,0 +1,32 @@
/* ==========================================================================
Main Stylesheet
========================================================================== */
/**
* Ta datoteka deluje kot glavna vstopna točka in uvaža vse ostale CSS
* datoteke v pravilnem vrstnem redu. Ne dodajajte stilov neposredno sem,
* ampak v ustrezne pod-datoteke.
*
* VRSTNI RED UVAŽANJA:
* 1. Base - Osnovni stili (reset, tipografija, itd.)
* 2. Layout - Strukturni elementi strani (glava, noga)
* 3. Components- Ponovno uporabljivi elementi (gumbi, kartice)
* 4. Pages - Stili, specifični za posamezne strani
*/
/* 1. Base Styles */
@import 'base/_base.css';
@import 'base/_typography.css';
/* 2. Layout Components */
@import 'layout/_header.css';
@import 'layout/_footer.css';
/* 3. Reusable Components */
@import 'components/_buttons.css';
@import 'components/_cards.css';
/* 4. Page-specific Styles */
@import 'pages/_home.css';
@import 'pages/_projects.css';
@import 'pages/_article.css';
+376
View File
@@ -0,0 +1,376 @@
/* ==========================================================================
Single Article/Project Page Specific Styles
========================================================================== */
/**
* Ta datoteka vsebuje stile, ki se uporabljajo izključno na strani s
* posameznim člankom ali projektom.
*
* 1. Glavna postavitev strani članka
* 2. Glava članka (naslov, podnaslov, datum)
* 3. Glavna slika in slike v vsebini
* 4. Telo članka (vsebina, tipografija, citati)
* 5. Noga članka (avtor, deljenje)
* 6. Poziv k prijavi na novice (CTA)
* 7. Stili za stran s člankom na mobilnih napravah
*/
/* 1. Glavna postavitev strani članka */
.article-page {
padding-top: 80px;
background: #FFFFFF;
}
.article-container {
max-width: 1024px;
margin: 0 auto;
padding: 96px 32px;
}
/* 2. Glava članka */
.article-header {
text-align: center;
margin-bottom: 64px;
}
.article-publish-date {
font-size: 16px;
font-weight: 600;
color: #FA7850;
margin-bottom: 12px;
}
.article-header h1 {
font-size: 48px;
font-weight: 600;
line-height: 60px;
letter-spacing: -0.02em;
color: #101828;
margin: 0;
}
.article-subtitle {
font-size: 20px;
line-height: 30px;
color: #667085;
margin-top: 24px;
max-width: 960px;
margin-left: auto;
margin-right: auto;
}
/* 3. Glavna slika in slike v vsebini */
.article-main-image {
margin: 0 0 64px 0;
}
.article-main-image img {
width: 100%;
height: auto;
max-height: 516px;
object-fit: cover;
border-radius: 24px;
display: block;
margin: 0 auto;
}
.article-inline-image {
margin: 16px 0;
display: flex;
flex-direction: column;
gap: 16px;
}
.article-inline-image img {
width: 100%;
border-radius: 16px;
}
.article-inline-image figcaption {
font-size: 14px;
color: #667085;
text-align: center;
}
/* 4. Telo članka */
.article-body {
max-width: 720px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 32px;
}
.article-body p, .article-body ol li {
font-size: 18px;
line-height: 28px;
color: #667085;
margin: 0;
}
.article-body h2 {
font-size: 30px;
font-weight: 600;
line-height: 38px;
color: #101828;
margin: 16px 0;
}
.article-body ol {
padding-left: 24px;
display: flex;
flex-direction: column;
gap: 12px;
}
/* Stil za citat */
.article-quote {
margin: 16px 0;
padding-left: 20px;
border-left: 2px solid #D0D5DD;
display: flex;
flex-direction: column;
gap: 32px;
background: transparent;
}
.article-quote p {
font-family: 'Inter', sans-serif;
font-style: italic;
font-weight: 500;
font-size: 24px;
line-height: 36px;
color: #101828;
margin: 0;
}
.article-quote footer {
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 24px;
color: #FA7850;
background: transparent;
}
/* 5. Noga članka */
.article-footer {
max-width: 720px;
margin: 48px auto 0;
background: transparent;
}
.article-footer hr {
border: 0;
height: 1px;
background-color: #EAECF0;
margin: 0 0 24px 0;
}
.author-share-section {
display: flex;
justify-content: space-between;
align-items: center;
}
.author-details {
display: flex;
align-items: center;
gap: 16px;
}
.author-details img {
width: 56px;
height: 56px;
border-radius: 50%;
object-fit: cover;
}
.author-name {
font-size: 18px;
font-weight: 600;
color: #101828;
margin: 0;
}
.author-title {
font-size: 16px;
color: #667085;
margin: 0;
}
.share-buttons {
display: flex;
align-items: center;
gap: 12px;
}
/* 6. Poziv k prijavi na novice (CTA) */
.newsletter-cta {
padding: 0 32px 96px 32px;
}
.newsletter-cta .container {
padding: 64px;
background: #F9FAFB;
border-radius: 16px;
display: flex;
justify-content: space-between;
align-items: center;
max-width: 1216px;
gap: 32px;
}
.newsletter-cta .cta-content {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
flex: 1;
}
.newsletter-cta h2 {
font-size: 30px;
font-weight: 600;
line-height: 38px;
color: #101828;
margin: 0;
}
.newsletter-cta p {
font-size: 20px;
line-height: 30px;
color: #667085;
margin: 0;
}
.newsletter-cta .subscribe-form-bottom {
display: flex;
gap: 16px;
align-items: flex-start;
}
.subscribe-form-bottom .input-wrapper {
display: flex;
flex-direction: column;
gap: 8px;
}
.subscribe-form-bottom input {
width: 360px;
height: 48px;
padding: 12px 16px;
border: 1px solid #D0D5DD;
border-radius: 8px;
box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
font-size: 16px;
box-sizing: border-box;
}
.subscribe-form-bottom .btn-primary-orange {
height: 48px;
padding-top: 12px;
padding-bottom: 12px;
}
/* ==========================================================================
Mobile Article Page Styles
========================================================================== */
@media (max-width: 768px) {
.article-page {
padding-top: 60px;
}
.article-container {
padding: 48px 24px;
}
.article-header {
margin-bottom: 32px;
}
.article-header h1 {
font-size: 32px;
line-height: 40px;
}
.article-subtitle {
font-size: 18px;
line-height: 28px;
}
.article-main-image {
margin: 0 0 32px 0;
width: 100%;
position: static;
left: auto;
right: auto;
}
.article-main-image img {
border-radius: 16px;
}
.article-body {
gap: 32px;
}
.article-body p {
font-size: 16px;
line-height: 26px;
}
.article-body h2 {
font-size: 24px;
line-height: 32px;
}
.article-quote p {
font-size: 20px;
line-height: 30px;
}
.author-share-section {
flex-direction: column;
align-items: flex-start;
gap: 24px;
}
.newsletter-cta {
padding: 0 24px 64px 24px;
}
.newsletter-cta .container {
flex-direction: column;
padding: 32px;
gap: 32px;
}
.newsletter-cta .cta-content,
.newsletter-cta .cta-content p {
align-items: center;
text-align: center;
}
.newsletter-cta .subscribe-form-bottom {
flex-direction: column;
width: 100%;
align-items: stretch;
}
.subscribe-form-bottom .input-wrapper {
width: 100%;
}
.subscribe-form-bottom input {
width: 100%;
}
.newsletter-cta .privacy-note {
text-align: center;
}
}
+862
View File
@@ -0,0 +1,862 @@
/* ==========================================================================
Home Page Specific Styles
========================================================================== */
/**
* Ta datoteka vsebuje stile, ki se uporabljajo izključno na domači strani.
*
* 1. Hero Section
* 2. Meet the Team Section
* 3. Activities Section
* 4. Latest News Section
* 5. Testimonials Section
* 6. Become Part Section (vključno z obrazcem)
* 7. FAQ Section
* 8. Stili za domačo stran na mobilnih napravah
*/
/* 1. Hero Section */
.hero-section {
position: relative;
height: 880px;
width: 100%;
display: flex;
align-items: center;
overflow: hidden;
}
.hero-background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
}
.hero-image-left, .hero-image-right {
position: absolute;
top: -150px;
height: 1030px;
width: 50%;
background-size: cover;
background-position: center;
}
.hero-image-left {
left: 0;
transform: matrix(-1, 0, 0, 1, 0, 0);
}
.hero-image-right {
right: 0;
}
.hero-overlay {
position: absolute;
top: 79px;
left: 0;
height: 801px;
width: 56.74%;
background: linear-gradient(122.4deg, rgba(19, 49, 60, 0.92) 35.41%, rgba(39, 77, 90, 0.08) 92.92%);
border-radius: 0px 40px 40px 0px;
backdrop-filter: blur(12px);
z-index: 2;
}
.hero-content {
position: relative;
z-index: 3;
color: #FFFFFF;
padding-left: 120px;
width: 605px;
}
.hero-content .badge-group {
display: inline-flex;
align-items: center;
padding: 6px 16px;
gap: 12px;
background: rgba(255, 255, 255, 0.4);
border-radius: 16px;
margin-bottom: 32px;
}
.hero-content .message {
font-weight: 500;
font-size: 14px;
}
.hero-content h1 {
font-weight: 700;
font-size: 60px;
line-height: 72px;
letter-spacing: -0.02em;
margin: 0 0 24px 0;
}
.hero-content p {
font-size: 20px;
line-height: 30px;
margin: 0 0 72px 0;
}
/* 2. Meet the Team Section */
.meet-the-team-section {
display: flex;
justify-content: center;
align-items: center;
padding: 128px 0;
gap: 40px;
background: #FFFFFF;
}
.video-container {
position: relative;
width: 619px;
height: 360px;
}
.video-thumbnail {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 16px;
}
.video-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(127.76deg, rgba(19, 49, 60, 0.92) -13.16%, rgba(39, 77, 90, 0.08) 98.5%);
backdrop-filter: blur(6px);
border-radius: 16px;
}
.team-content {
width: 619px;
}
.team-content h2 {
font-size: 36px;
font-weight: 600;
line-height: 44px;
letter-spacing: -0.02em;
color: #101828;
margin: 0 0 20px 0;
}
.team-content p {
font-size: 20px;
line-height: 30px;
color: #667085;
margin: 0 0 56px 0;
}
/* 3. Activities Section */
.activities-section {
padding: 128px 80px;
background: #F9FAFB;
}
.activities-header {
text-align: center;
margin-bottom: 96px;
}
.activities-header h2 {
font-size: 36px;
font-weight: 600;
line-height: 44px;
letter-spacing: -0.02em;
color: #101828;
margin-bottom: 20px;
}
.activities-header p {
font-size: 20px;
line-height: 30px;
color: #667085;
max-width: 768px;
margin: 0 auto;
}
.activities-content {
display: flex;
gap: 109px;
max-width: 1232px;
margin: 0 auto;
}
.activities-nav {
width: 302px;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.activities-nav ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 40px;
}
.activities-nav li {
font-size: 20px;
color: #646E82;
cursor: pointer;
position: relative;
padding-left: 48px;
}
.activities-nav li::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 24px;
height: 2px;
background-color: #646E82;
}
.activities-nav li.active {
font-size: 24px;
font-weight: 600;
color: #000000;
}
.activity-details {
width: 821px;
}
.activity-details p {
font-size: 20px;
line-height: 30px;
color: #667085;
margin-bottom: 40px;
}
.activity-details img {
width: 100%;
height: 400px;
object-fit: cover;
border-radius: 24px;
}
/* 4. Latest News Section */
.latest-news-section {
padding: 128px 0;
background: #2D738C;
text-align: center;
}
.news-header {
margin-bottom: 64px;
}
.news-header h2 {
font-size: 36px;
font-weight: 600;
line-height: 44px;
letter-spacing: -0.02em;
color: #FFFFFF;
margin-bottom: 20px;
}
.news-header p {
font-size: 20px;
line-height: 30px;
color: #FFFFFF;
max-width: 768px;
margin: 0 auto;
}
.news-articles {
display: flex;
justify-content: center;
gap: 32px;
margin-bottom: 64px;
}
/* 5. Testimonials Section */
.testimonials-section {
padding: 128px 80px;
display: flex;
justify-content: center;
align-items: center;
gap: 24px;
}
.testimonials-intro {
width: 411px;
flex-shrink: 0;
}
.testimonials-intro h2 {
font-size: 36px;
font-weight: 600;
line-height: 44px;
letter-spacing: -0.02em;
color: #101828;
margin-bottom: 24px;
}
.testimonials-intro p {
font-size: 20px;
line-height: 30px;
color: #667085;
}
.testimonials-columns {
display: flex;
gap: 24px;
width: 846px;
height: 800px;
overflow-y: scroll;
padding-right: 15px;
}
.testimonials-columns::-webkit-scrollbar {
width: 5px;
}
.testimonials-columns::-webkit-scrollbar-thumb {
background: #D0D5DD;
border-radius: 10px;
}
.testimonial-column {
display: flex;
flex-direction: column;
gap: 48px;
width: 411px;
}
.column-offset {
margin-top: 80px;
}
/* 6. Become Part Section */
.become-part-section {
padding: 128px 0;
background: #F9FAFB;
text-align: center;
}
.become-part-header {
margin-bottom: 64px;
}
.become-part-header h2 {
font-size: 36px;
font-weight: 600;
line-height: 44px;
letter-spacing: -0.02em;
color: #101828;
margin-bottom: 20px;
}
.become-part-header p {
font-size: 20px;
line-height: 30px;
color: #646E82;
}
.team-photo {
width: 1232px;
height: 400px;
object-fit: cover;
border-radius: 24px;
margin: 0 auto 96px;
display: block;
}
/* Stili za obrazec znotraj sekcije */
.contact-form-container {
max-width: 800px;
margin: 0 auto;
}
.contact-form {
display: flex;
flex-direction: column;
gap: 24px;
text-align: left;
}
.form-row {
display: flex;
gap: 32px;
}
.form-group {
flex: 1;
display: flex;
flex-direction: column;
}
.form-group label {
font-size: 14px;
font-weight: 500;
color: #344054;
margin-bottom: 6px;
}
.form-group input,
.form-group textarea,
.form-group select {
padding: 12px 16px;
border: 1px solid #D0D5DD;
border-radius: 8px;
box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
font-size: 16px;
background: #FFFFFF;
color: #646E82;
font-family: 'Inter', sans-serif;
}
.form-group input::placeholder,
.form-group textarea::placeholder {
color: #646E82;
}
.phone-input {
display: flex;
border: 1px solid #D0D5DD;
border-radius: 8px;
overflow: hidden;
box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
}
.phone-input select {
border: none;
border-right: 1px solid #D0D5DD;
border-radius: 0;
box-shadow: none;
}
.phone-input input {
border: none;
flex-grow: 1;
box-shadow: none;
}
.checkbox-group {
flex-direction: row;
align-items: center;
gap: 12px;
}
.checkbox-group input {
width: 20px;
height: 20px;
}
.checkbox-group label {
margin: 0;
color: #646E82;
}
.checkbox-group label a {
color: #2D738C;
}
.contact-form button {
width: 100%;
padding: 12px 20px;
font-size: 16px;
}
/* 7. FAQ Section */
.faq-section {
padding: 128px 0;
text-align: center;
}
.faq-header {
margin-bottom: 64px;
}
.faq-header h2 {
font-size: 36px;
font-weight: 600;
line-height: 44px;
letter-spacing: -0.02em;
color: #101828;
margin-bottom: 20px;
}
.faq-header p {
font-size: 20px;
line-height: 30px;
color: #667085;
max-width: 768px;
margin: 0 auto;
}
.faq-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 64px 32px;
max-width: 1232px;
margin: 0 auto 64px;
text-align: left;
}
.faq-item {
display: flex;
flex-direction: column;
gap: 20px;
}
.faq-icon-container {
width: 48px;
height: 48px;
background: rgba(39, 77, 90, 0.08);
border-radius: 24px;
display: flex;
justify-content: center;
align-items: center;
color: #2D738C;
font-size: 22px;
}
.faq-item h3 {
font-size: 20px;
font-weight: 600;
color: #101828;
margin: 0;
}
.faq-item p {
font-size: 16px;
line-height: 24px;
color: #667085;
margin: 0;
}
.faq-footer {
max-width: 1232px;
margin: 0 auto;
padding: 40px 32px;
background: #F9FAFB;
border-radius: 16px;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.faq-footer h3 {
font-size: 20px;
font-weight: 500;
color: #101828;
margin: 16px 0 0 0;
}
.faq-footer p {
font-size: 18px;
color: #667085;
margin: 0 0 32px 0;
}
.avatar-group {
display: flex;
position: relative;
width: 120px;
height: 56px;
}
.avatar {
width: 48px;
height: 48px;
border-radius: 50%;
border: 1.5px solid #FFFFFF;
position: absolute;
top: 8px;
object-fit: cover;
}
.avatar:nth-child(1) { left: 0; z-index: 3;}
.avatar:nth-child(2) { left: 50%; transform: translateX(-50%); top:0; z-index: 2;}
.avatar:nth-child(3) { right: 0; z-index: 1;}
.avatar.large {
width: 56px;
height: 56px;
}
/* ==========================================================================
Mobile Home Page Styles
========================================================================== */
@media (max-width: 768px) {
/* Mobile Hero Section */
.hero-section {
height: 600px;
margin-top: 0;
align-items: flex-start;
}
.hero-overlay, .hero-image-left, .hero-image-right {
display: none;
}
.hero-background {
background: url('../images/2.hero.jpg') no-repeat center center/cover;
}
.hero-background::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(122.4deg, rgba(19, 49, 60, 0.92) 35.41%, rgba(39, 77, 90, 0.08) 92.92%);
}
.hero-content {
padding: 64px 24px;
width: 100%;
box-sizing: border-box;
}
.hero-content h1 {
font-size: 40px;
line-height: 48px;
letter-spacing: -0.03em;
}
.hero-content p {
font-size: 16px;
line-height: 24px;
margin-bottom: 64px;
}
.hero-content .badge-group {
border-radius: 37px;
}
/* Mobile Meet the Team Section */
.meet-the-team-section {
flex-direction: column;
padding: 64px 24px;
gap: 40px;
}
.video-container, .team-content {
width: 100%;
max-width: 327px;
}
.video-container {
height: 190px;
}
.team-content h2 {
font-size: 32px;
line-height: 40px;
text-align: center;
}
.team-content p {
font-size: 16px;
line-height: 24px;
text-align: center;
margin-bottom: 32px;
}
.team-content .btn-secondary {
margin: 0 auto;
display: block;
width: 124px;
height: 44px;
}
/* Mobile Activities Section */
.activities-section {
padding: 64px 0;
}
.activities-header {
padding: 0 24px;
margin-bottom: 48px;
}
.activities-header h2 {
font-size: 32px;
line-height: 40px;
}
.activities-header p {
font-size: 16px;
line-height: 24px;
}
.activities-content {
flex-direction: column;
align-items: center;
gap: 32px;
padding: 0 24px;
}
.activities-nav {
width: 100%;
max-width: 326px;
gap: 32px;
}
.activities-nav ul {
width: 100%;
gap: 16px;
}
.activities-nav li {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16px;
background: rgba(208, 213, 221, 0.5);
border-radius: 8px;
font-size: 16px;
font-weight: 600;
color: #000;
}
.activities-nav li::before {
display: none;
}
.activities-nav li.active::after {
content: ' ';
display: inline-block;
border: solid black;
border-width: 0 2px 2px 0;
padding: 4px;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}
.activities-nav .btn-primary-orange {
align-self: center;
}
.activity-details {
width: 100%;
max-width: 327px;
}
.activity-details p {
font-size: 16px;
line-height: 24px;
}
.activity-details img {
height: 300px;
border-radius: 16px;
}
/* Mobile Latest News Section */
.latest-news-section {
padding: 64px 24px;
}
.news-header, .news-articles {
margin-bottom: 48px;
}
.news-header h2 {
font-size: 32px;
line-height: 40px;
}
.news-header p {
font-size: 16px;
line-height: 24px;
}
.news-articles {
flex-direction: column;
align-items: center;
gap: 48px;
}
/* Mobile Testimonials Section */
.testimonials-section {
flex-direction: column;
padding: 64px 0;
align-items: center;
gap: 32px;
}
.testimonials-intro {
width: 100%;
padding: 0 24px;
text-align: center;
box-sizing: border-box;
}
.testimonials-intro h2 {
font-size: 32px;
line-height: 40px;
}
.testimonials-intro p {
font-size: 16px;
line-height: 24px;
}
.testimonials-columns {
display: flex;
flex-direction: row;
width: 100%;
height: auto;
overflow-x: auto;
overflow-y: hidden;
padding: 0 24px;
box-sizing: border-box;
scroll-snap-type: x mandatory;
}
.testimonials-columns::-webkit-scrollbar {
display: none;
}
.testimonial-column {
display: contents;
}
.column-offset {
margin-top: 0;
}
/* Mobile Become Part Section */
.become-part-section {
padding: 64px 16px;
}
.become-part-header {
margin-bottom: 48px;
}
.become-part-header h2 {
font-size: 32px;
line-height: 40px;
}
.become-part-header p {
font-size: 16px;
line-height: 24px;
}
.team-photo {
width: 100%;
height: auto;
margin-bottom: 48px;
}
.contact-form-container {
width: 100%;
padding: 0;
}
.form-row {
flex-direction: column;
gap: 24px;
}
/* Mobile FAQ Section */
.faq-section {
padding: 64px 16px;
}
.faq-header {
margin-bottom: 48px;
}
.faq-header h2 {
font-size: 32px;
line-height: 40px;
}
.faq-header p {
font-size: 18px;
line-height: 28px;
}
.faq-grid {
grid-template-columns: 1fr;
gap: 40px;
padding: 0 8px;
}
.faq-item {
align-items: center;
}
.faq-item h3, .faq-item p {
text-align: center;
}
.faq-footer {
width: 100%;
box-sizing: border-box;
padding: 32px 20px;
}
}
+225
View File
@@ -0,0 +1,225 @@
/* ==========================================================================
Projects Page Specific Styles (Listing Page)
========================================================================== */
/**
* Ta datoteka vsebuje stile, ki se uporabljajo izključno na strani s
* seznamom vseh projektov.
*
* 1. Glava strani (naslov, opis, obrazec za prijavo)
* 2. Sekcija z vsemi objavami (mreža)
* 3. Paginacija
* 4. Stili za stran s projekti na mobilnih napravah
*/
/* 1. Glava strani */
.page-content {
padding-top: 80px; /* Odmik za fiksno glavo */
}
.page-header-section {
padding: 96px 0;
background: #FFFFFF;
text-align: center;
}
.page-header-section .container.text-center {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
max-width: 960px;
}
.page-subtitle {
font-weight: 600;
font-size: 16px;
color: #FA7850;
}
.page-header-section h1 {
font-weight: 600;
font-size: 48px;
line-height: 60px;
letter-spacing: -0.02em;
color: #101828;
margin: 0;
}
.page-description {
font-size: 20px;
line-height: 30px;
color: #667085;
max-width: 768px;
margin: 0;
}
.subscribe-form {
display: flex;
gap: 16px;
margin-top: 16px;
}
.subscribe-form input {
width: 360px;
height: 48px;
padding: 12px 16px;
border: 1px solid #D0D5DD;
border-radius: 8px;
box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
font-size: 16px;
box-sizing: border-box;
}
.subscribe-form .btn {
height: 48px;
}
.privacy-note {
font-size: 14px;
color: #667085;
margin-top: -8px;
}
.privacy-note a {
color: #667085;
font-weight: 500;
}
/* 2. Sekcija z vsemi objavami */
.all-posts-section {
padding: 0 80px 96px;
}
.all-posts-section .container.column-layout {
flex-direction: column;
align-items: flex-start;
gap: 64px;
}
.all-posts-section h2 {
font-size: 24px;
font-weight: 600;
line-height: 32px;
color: #101828;
margin: 0;
}
.posts-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 48px 32px;
width: 100%;
}
/* 3. Paginacija */
.pagination {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 20px;
border-top: 1px solid #EAECF0;
}
.pagination-arrow {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
font-weight: 500;
color: #667085;
text-decoration: none;
}
.pagination-numbers {
display: flex;
gap: 2px;
}
.page-number {
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
border-radius: 8px;
text-decoration: none;
font-size: 14px;
font-weight: 500;
color: #667085;
}
.page-number.active {
background-color: rgba(102, 112, 133, 0.16);
color: #2D738C;
}
.page-dots {
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
color: #667085;
}
/* ==========================================================================
Mobile Projects Page Styles
========================================================================== */
@media (max-width: 768px) {
.page-content {
padding-top: 60px; /* Prilagoditev za fiksno glavo */
}
.page-header-section {
padding: 64px 24px;
}
.page-header-section h1 {
font-size: 32px;
line-height: 40px;
}
.page-description {
font-size: 16px;
line-height: 24px;
}
.subscribe-form {
flex-direction: column;
width: 100%;
}
.subscribe-form input {
width: 100%;
}
.all-posts-section {
padding: 48px 24px;
}
.all-posts-section .container.column-layout {
gap: 32px;
}
.posts-grid {
grid-template-columns: 1fr;
gap: 48px;
}
.pagination {
flex-direction: column;
gap: 24px;
}
.pagination-numbers {
order: -1;
}
}