| Column |
|---|
| | Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 30 |
|---|
| titleBGColor | #a3c1ad |
|---|
| | HTML |
|---|
<div style="margin: 40px auto; text-align: center; max-width: 1200px;"><!-- Local Poppins font -->
<style>
@font-face {
<h2 style="font-sizefamily: 36px'LocalPoppins';
font-weight: bold; margin-bottom: 30px; color: #2C3E50;">WP9 Task 2 Software Reviews</h2>
src: url('fonts/Poppins-Regular.woff2') format('woff2'),
<p style="font-size: 18px; color: #7F8C8D; margin-bottom: 40px;">
WP9 Task 2 provides software review services designed to help GÉANT development teams enhance the security, quality, and compliance of their code. Our mission is to make software more robust against threats, improve code maintainability, and ensure adherence to the GÉANT software IPR policy.
</p>
<div style="display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
<!-- SonarQube Setup Assistance -->
url('fonts/Poppins-Regular.woff') format('woff');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'LocalPoppins';
src: url('fonts/Poppins-SemiBold.woff2') format('woff2'),
url('fonts/Poppins-SemiBold.woff') format('woff');
font-weight: 600;
font-style: normal;
}
</style>
<!-- Section -->
<div class="modern-panel">
<p>
WP9 Task 2 provides software review services designed to help GÉANT development teams enhance the security, quality, and compliance of their code. Our mission is to make software more robust against threats, improve code maintainability, and ensure adherence to the GÉANT software IPR policy.
</p>
<div class="review-cardcontainer" style="background-color: #f4f4f4; border: 3px solid rgba(41, 128, 185, 0.7); box-shadow: 0 4px 12px rgba(41, 128, 185, 0.4);>
<!-- Card 1 -->
<div class="review-card review-blue">
<a href="https://wiki.geant.org/displayspaces/GSD/pages/1038811294/SonarQube+Setup+Assistance">
<div class="emoji">🧑💻</div>
<div class="spacer"></div>
<h4>SonarQube Setup Assistance</h4>
<div class="spacer"></div>
<h4>SonarQube Setup<br>Assistance</h4>
<div class="text-container">spacer"></div>
<div class="spacer"></div>
<p>How to configure SonarQubeSonarQube<br>for for automated code analysis</p>
<<div class="spacer"></div>
</a>
</div>
<!-- SourceCard Code Review2 -->
<div class="review-card" style="background-color: #f4f4f4; border: 3px solid rgba(39, 174, 96, 0.7); box-shadow: 0 4px 12px rgba(39, 174, 96, 0.4);">
<areview-green">
<a href="https://wiki.geant.org/displayspaces/GSD/pages/1038811297/Source+Code+Review">
<div class="emoji">🔍</div>
<div class="emojispacer">🔍<></div>
<div class="spacer"></div>
<h4>Source Code Review<Code<br>Review</h4>
<div class="spacer"></div>
<div class="text-container">
spacer"></div>
<p>In-depth manual code review byreview<br>by experts</p>
<<div class="spacer"></div>
</a>
</div>
<!-- SoftwareCard Composition3 Analysis -->
<div class="review-card" style="background-color: #f4f4f4; border: 3px solid rgba(243, 156, 18, 0.7); box-shadow: 0 4px 12px rgba(243, 156, 18, 0.4);">
<a href="https://wiki.geant.org/display/GSDreview-orange">
<a href="https://wiki.geant.org/spaces/GSD/pages/1038811290/Software+Composition+Analysis">
<div class="emoji">🧩</div>
<div class="spacer"></div>
<h4>Software Composition Analysis</h4>
<div class="spacer"></div>
<h4>Software Composition<br>Analysis</h4>
<div class="text-container">"spacer"></div>
<div class="spacer"></div>
<p>Reviewing external software componentssoftware<br>components and their licenses</p>
<<div class="spacer"></div>
</a>
</div>
<!-- SoftwareCard Licence4 Analysis -->
<div class="review-card" style="background-color: #f4f4f4; border: 3px solid rgba(142, 68, 173, 0.7); box-shadow: 0 4px 12px rgba(142, 68, 173, 0.4);">
<a href="https://wiki.geant.org/display/GSDreview-purple">
<a href="https://wiki.geant.org/spaces/GSD/pages/1038811292/Software+Licence+Analysis">
<div class="emoji">🏅</div>
<div class="spacer"></div>
<h4>Software Licence Analysis</h4>
<div class="spacer"></div>
<h4>Software Licence<br>Analysis</h4>
<div class="text-container">"spacer"></div>
<div class="spacer"></div>
<p>Ensuring compliance with softwarewith<br>software licensing requirements</p>
<<div class="spacer"></div>
</a>
</div>
</div>
</div>
<!-- Styles -->
<style>
html, body .review-card {
flexmargin: 1 1 220px0;
max-widthpadding: 250px0;
}
.modern-panel {
border font-radiusfamily: 12px'LocalPoppins', sans-serif;
background: #ffffff;
padding border-radius: 20px16px;
padding: 40px 3%;
text-align width: center100%;
margin: 0;
box-shadow: 0px0 10px8px 25px20px rgba(0, 0, 0, 0.105);
transition: transform 0.3s ease, box-shadow 0.3s ease-in-outsizing: border-box;
displaytext-align: flexcenter;
}
.modern-panel h2 {
flexfont-direction: columnsize: clamp(24px, 5vw, 32px);
font-weight: 600;
justify-contentcolor: flex-start#2C3E50;
margin: 0 0 background-color: #f4f4f420px 0;
}
.review-card:hovermodern-panel p {
font-size: clamp(16px, transform: translateY(-8px2.5vw, 18px);
color: #7F8C8D;
box-shadow margin: 0px0 15px0 35px30px rgba(0,;
0, 0, 0.15);
line-height: 1.6;
}
.review-cardcontainer a {
display: flex;
text flex-decorationwrap: nonewrap;
justify-content: center;
color gap: #2C3E5020px;
}
.review-card {
display: flex;
: 1 1 220px;
flexmax-directionwidth: column260px;
padding: 20px;
heightbackground: 100%#f9f9f9;
}
border-radius: 12px;
.emoji {text-align: center;
transition: transform 0.3s ease, font-size: 44pxbox-shadow 0.3s ease;
border: 3px margin-bottom: 12pxsolid transparent;
}display: flex;
.reviewflex-card h4 {direction: column;
font-sizejustify-content: 20pxflex-start;
font-weightheight: boldauto;
}
text-align: center;.review-card:hover {
min-height: 48pxtransform: translateY(-6px);
box-shadow: 0 12px margin-bottom: 18px;
24px rgba(0, 0, 0, 0.12);
}
.review-card a {
displaytext-decoration: flexnone;
color: #2C3E50;
align-itemsdisplay: centerflex;
flex-direction: column;
justify-content height: center100%;
}
.review-card .text-containeremoji {
font-size: 48px;
margin-topbottom: auto0;
}
.review-card p.spacer {
height: 20px;
}
.review-card h4 {
font-size: 16px20px;
font-weight: 600;
color margin: #2C3E500;
min-height: 48px;
marginline-height: 01.3;
display: }flex;
/* Responsive fallback */align-items: center;
@media (max-width: 300px) {justify-content: center;
text-align: center;
}
.review-card h4p {
font-size: 17px;
margin: 0;
font line-sizeheight: 18px1.5;
color: #34495e;
}display: flex;
align-items: center;
.reviewjustify-card p {content: center;
text-align: center;
}
.review-blue { fontborder-sizecolor: 14px;
rgba(41, 128, 185, 0.7); background-color: #eaf3fa; }
.review-green }
</style>
<div style="height: 20px;"></div>
{ border-color: rgba(39, 174, 96, 0.7); background-color: #e8f6ef; }
.review-orange { border-color: rgba(243, 156, 18, 0.7); background-color: #fef5e6; }
.review-purple { border-color: rgba(142, 68, 173, 0.7); background-color: #f5ebfa; }
@media (max-width: 480px) {
.review-card {
flex: 1 1 100%;
max-width: 100%;
}
.modern-panel {
padding: 30px 16px;
}
.review-card h4 {
font-size: 18px;
}
.review-card p {
font-size: 16px;
}
.review-card .emoji {
font-size: 40px;
}
}
</style>
|
|
| Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 0 |
|---|
| titleBGColor | #a3c1ad |
|---|
| | HTML |
|---|
<!-- Local Poppins font -->
<style>
@font-face {
font-family: 'LocalPoppins';
src: url('fonts/Poppins-Regular.woff2') format('woff2'),
url('fonts/Poppins-Regular.woff') format('woff');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'LocalPoppins';
src: url('fonts/Poppins-SemiBold.woff2') format('woff2'),
url('fonts/Poppins-SemiBold.woff') format('woff');
font-weight: 600;
font-style: normal;
}
</style>
<!-- Section -->
<div class="modern-language-panel">
<h2>Our team of experts has extensive experience in the following programming languages:</h2>
<div class="language-grid">
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/java/java-original.svg" alt="Java">
<span>Java</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/csharp/csharp-original.svg" alt="C#">
<span>C#</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/mysql/mysql-original.svg" alt="SQL">
<span>SQL</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/php/php-original.svg" alt="PHP">
<span>PHP</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/javascript/javascript-original.svg" alt="JavaScript">
<span>JavaScript</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-original.svg" alt="Python">
<span>Python</span>
</div>
</div>
<div class="language-footer">
📌 If your project uses a different technology, |
| | Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 3 |
|---|
| titleBGColor | #a3c1ad |
|---|
| | HTML |
|---|
<div style="text-align: center; font-size: 22px; margin-bottom: 15px; font-weight: bold;">
Our team of experts has extensive experience in the following programming languages:
</div>
<div style="display: flex; justify-content: center; flex-wrap: wrap; gap: 20px;">
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/java/java-original.svg" alt="Java">
<span>Java</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/csharp/csharp-original.svg" alt="C#">
<span>C#</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/mysql/mysql-original.svg" alt="SQL">
<span>SQL</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/php/php-original.svg" alt="PHP">
<span>PHP</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/javascript/javascript-original.svg" alt="JavaScript">
<span>JavaScript</span>
</div>
<div class="language-card">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-original.svg" alt="Python">
<span>Python</span>
</div>
</div>
<style>
.language-card {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 130px;
height: 130px;
background: white;
border-radius: 15px;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.language-card:hover {
transform: scale(1.1);
box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3);
}
.language-card img {
width: 60px;
height: 60px;
margin-bottom: 10px;
object-fit: contain; /* Images proportion */
}
.language-card span {
font-size: 18px;
font-weight: bold;
text-align: center;
}
</style>
<div style="text-align: center; font-size: 16px; margin-top: 30px;">
📌 If your project uses a different technology, feel free to reach out. We will assist in finding the best solution for your needs.
</div>
</div>
|
| | Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 3 |
|---|
| titleBGColor | #a3c1ad |
|---|
| 🌟 What Are the Benefits?| HTML |
|---|
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; max-width: 900px; margin: 20px auto;">
<!-- Card1 1 -->
<div style="background: white; border-radius: 15px;
<!-- Style -->
<style>
.modern-language-panel {
font-family: 'LocalPoppins', sans-serif;
background-color: #ffffff;
border-radius: 16px;
padding: 40px 3%;
width: 100%;
margin: 0;
box-shadow: 0px0 4px8px 8px20px rgba(0, 0, 0, 0.205); padding
box-sizing: 15pxborder-box;
text-align: center;">
}
.modern-language-panel h2 {
<div style="font-size: 32px; margin-bottom: 10px;">🎯</div>clamp(22px, 4vw, 30px);
font-weight: 600;
<h3 style="font-size color: 18px#2C3E50;
margin: 0 0 30px 0; color: #333;">Fit for purpose</h3>
}
.language-grid {
display: flex;
<p style="font-sizejustify-content: 16pxcenter; color
flex-wrap: #555wrap;">🔥
Optimal solution for your needs is guaranteed</p>gap: 20px;
}
</div>
.language-card {
<!-- Card 2 -->
<div style="background: white;display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 130px;
height: 130px;
background: #f9f9f9;
border-radius: 15px;
box-shadow: 0px0 4px 8px10px rgba(0, 0, 0, 0.206); padding: 15px; text-align: center;">
transition: transform <div style="font-size: 32px; margin-bottom: 10px;">🔍</div>0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.language-card:hover {
transform: scale(1.07);
<h3 style="font-size:box-shadow: 0 6px 18px; margin: rgba(0, 0;, color: #333;">Detailed Inspections</h3>0, 0.15);
}
.language-card img {
<p style="font-size: 16px; color: #555;">🔥 Dynamic + Static Analysis + Penetration Testing</p>
</div>
<!-- Card 3 -->
<div style="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">
<div style="font-size: 32px; margin-bottom: 10px;">👨💻</div>
<h3 style="font-size: 18px; margin: 0; color: #333;">Expert Support</h3>
<p style="font-size: 16px; color: #555;">🔥 Direct collaboration with security experts</p>
</div>
<!-- Card 4 -->
<div style="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">width: 60px;
height: 60px;
margin-bottom: 10px;
object-fit: contain;
}
.language-card span {
font-size: 17px;
font-weight: 600;
color: #2C3E50;
}
.language-footer {
font-family: 'LocalPoppins', sans-serif;
font-size: clamp(16px, 2.5vw, 18px);
color: #555;
margin-top: 30px;
line-height: 1.6;
}
.language-footer a {
color: #007bff;
text-decoration: underline;
}
@media (max-width: 480px) {
.modern-language-panel {
padding: 30px 16px;
}
.language-card {
width: 100px;
<div style="font-size: 32px; margin-bottom: 10px;">📄</div>height: 100px;
}
.language-card img {
<h3 style="font-size: 18px; margin: 0; color width: #333;">Detailed Reports</h3>45px;
<p style="font-size: 16px; color: #555;">🔥 Comprehensive results with concrete recommendations</p>height: 45px;
}
.language-card span {
font-size: 14px;
</div>}
<!.language-- Card 5 -->footer {
<div style="background: white; border-radius font-size: 15px;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;}
}
</style>
|
|
| Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 0 |
|---|
| titleBGColor | #a3c1ad |
|---|
| | HTML |
|---|
<div class="modern-benefits-panel">
<h2>🌟 What Are the Benefits?</h2>
<div styleclass="font-size: 32px; margin-bottom: 10px;">🛠️</div>cards-wrapper">
<div class="cards-grid">
<div <h3 style="font-size: 18px; margin: 0; color: #333;">Advanced Tools</h3>class="card">
<div class="emoji">🎯</div>
<p style="font-size: 16px; color: #555;">🔥 We use SQ, Mend, and other tools for issue detection<<h3>Fit for purpose</h3>
<p>🔥 Optimal solution for your needs is guaranteed</p>
</div>
<!-- Card 6 --<div class="card">
<div styleclass="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">
<div style="font-size: 32px; margin-bottom: 10px;">🔐<emoji">🔍</div>
<h3>Detailed Inspections</h3>
<p>🔥 Dynamic + Static Analysis + Penetration Testing</p>
</div>
<div <h3 styleclass="font-size: 18px; margin: 0; color: #333;">Enhanced Security</h3>
card">
<div class="emoji">👨💻</div>
<p style="font-size: 16px; color: #555;">🔥 Risk reduction and increased software stability</p>
<h3>Expert Support</h3>
<p>🔥 Direct collaboration with security experts</p>
</div>
</div>
|
| | Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 3 |
|---|
| titleBGColor | #a3c1ad |
|---|
| | HTML |
|---|
<div class="resource-container">
<div class="resource-itemcard">
<div class="textemoji">>📄</div>
<h3>Detailed Reports</h3>
<h4>GÉANT eAcademy, Course: Security<p>🔥 TestingComprehensive andresults Qualitywith Assurance (2024)</h4>
concrete recommendations</p>
</div>
<div <a href="https://e-academy.geant.org/moodle/course/view.php?id=628" target="_blankclass="card">
<div <button class="btnemoji">Open Course<>🛠️</button>div>
<<h3>Advanced Tools</a>h3>
</div>
<p>🔥 We use SQ, <div class="resource-itemMend, and other tools for issue detection</p>
</div>
<div class="card">
<div class="textemoji">
>🔐</div>
<h3>Enhanced Security</h3>
<h4>SonarQube<p>🔥 Infoshare,Risk recordingreduction and increased slides (2024)</h4>software stability</p>
</div>
</div>
</div>
</div>
<style>
@font-face {
<a href="https://geant.app.box.com/s/uwhgmltuse4ogp4ii79wgxhkyuagrvi8" target="_blank"> font-family: 'Poppins';
src: url('https://yourdomain.com/fonts/Poppins-Regular.woff2') format('woff2'),
<button class="btn">View InfoShare</button> url('https://yourdomain.com/fonts/Poppins-Regular.woff') format('woff');
</a>font-weight: 400;
</div>
font-style: normal;
}
<div class="resource-item">@font-face {
<div class="text">font-family: 'Poppins';
<h4>Webinar: License Analysis with WhiteSource (2022)</h4>
src: url('https://yourdomain.com/fonts/Poppins-SemiBold.woff2') format('woff2'),
</div>
<a href="https://geant.app.box.com/s/a5103pww8hpby60y5vmsk2rwn0qjq347" target="_blank">
<button class="btn">Watch Webinar</button>
</a>
</div>
</div>
<style>
.resource-container {
display: flex;
flex-direction: column;
gap: 15px;
max-width: 800px;
url('https://yourdomain.com/fonts/Poppins-SemiBold.woff') format('woff');
font-weight: 600;
font-style: normal;
}
.modern-benefits-panel {
font-family: 'Poppins', sans-serif;
width: 100%;
margin: 0;
padding: 40px 3%;
background: #ffffff;
border-radius: 16px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
box-sizing: border-box;
text-align: center;
}
.modern-benefits-panel h2 {
margin: 40px auto0 0 30px 0;
font-size: clamp(24px, 4vw, 30px);
font-familyweight: 'Arial', sans-serif600;
color: #2C3E50;
}
.resourcecards-itemwrapper {
max-width: 900px;
displaymargin: flex0 auto;
}
.cards-grid {
justify-contentdisplay: space-betweengrid;
align-items: centergrid-template-columns: repeat(3, 1fr);
paddinggap: 15px;
}
.card {
background-color: #f9f9f9;
border-radius: 10px15px;
box-shadow: 0px0 2px4px 6px10px rgba(0, 0, 0, 0.106);
}
padding: 15px;
text-align: center;
.resource-item .text {box-sizing: border-box;
}
.card .emoji {
flexfont-growsize: 132px;
text-alignmargin-bottom: left10px;
}
.resource-itemcard h4h3 {
font-size: 16px18px;
margin: 0;
font-weight color: 600#2C3E50;
colormin-height: #44448px;
margindisplay: 0flex;
}
justify-content: center;
.btn {align-items: center;
font-weight: 600;
padding: 10px 20px;}
.card p {
backgroundfont-colorsize: #2e8b5716px;
color: white#555;
bordermargin-top: none6px;
border-radiusline-height: 6px1.4;
}
@media (max-width: 900px) {
cursor: pointer;
.cards-grid {
fontgrid-template-sizecolumns: 14pxrepeat(2, 1fr);
}
}
@media (max-width: 180px; /* Ensures buttons are same size */600px) {
.cards-grid {
text-aligngrid-template-columns: center1fr;
}
.btn:hovermodern-benefits-panel {
padding: background-color: #1e6b4130px 16px;
}
}
</style>
<div style="height: 20px;"></div>
|
|
| Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 30 |
|---|
| titleBGColor | #a3c1ad |
|---|
| 🌟 Statistics | | HTML |
|---|
<div class="statisticsmodern-related-containerpanel">
<h2>🔗 <!-- Card 1 - Years of Experience -->Related Materials</h2>
<div class="statresource-cardcontainer">
<div class="statresource-iconitem">📊</div>>
<div class="stat-infotext">
<h4>GÉANT CONNECT Online <h4>Years of Experience<– Article: Smarter reviews, stronger software (2025)</h4>
</div>
<p<a classhref="stat-number">+14 years</p>
https://connect.geant.org/2025/10/13/smarter-reviews-stronger-software" target="_blank">
<button </div>class="btn">Read Article</button>
</div>
a>
<!-- Card 2 - Detected Bugs (Manual) -->/div>
<div class="statresource-carditem">
<div class="stat-icon">🐞</div>text">
<div class="stat-info">
<h4>Detected Bugs (Manual<h4>GÉANT eAcademy, Course: Security Testing and Quality Assurance (2024)</h4>
</div>
<p<a classhref="stat-number">+700</p>https://e-academy.geant.org/moodle/course/view.php?id=628" target="_blank">
</div>
<button class="btn">Open Course</button>
</div>a>
<!-- Card 3 - Detected Bugs (Automatic via SonarQube) --/div>
<div class="resource-item">
<div class="stat-cardtext">
<div class="stat-icon"><h4>SonarQube Infoshare, recording and slides (2024)</h4>
</div>
<img<a srchref="https://wikigeant.app.geantbox.orgcom/download/attachments/1045004320/sonarqube.svg?api=v2s/cvm25uhztfmvpc2wnn3kpqqnrw51nz24" alttarget="SonarQube Logo" class="sonarqube-logo"_blank">
</div>
<div class="stat-info"><button class="btn">View InfoShare</button>
</a>
<h4>Detected Bugs (Automatic)</h4>div>
<div class="resource-item">
<p<div class="stat-numbertext">+10,000</p>
</div>
</div>
</div>
<style>
<h4>Webinar: License Analysis with WhiteSource (2022)</h4>
.statistics-container { </div>
display: flex;<a href="https://geant.app.box.com/s/a5103pww8hpby60y5vmsk2rwn0qjq347" target="_blank">
gap: 20px;<button class="btn">Watch Webinar</button>
justify-content: space-around;</a>
</div>
</div>
</div>
<style>
flex@font-wrap:face wrap;{
margin: 40px autofont-family: 'Poppins';
max-width: 1200px;
}
.stat-card {src: url('https://yourdomain.com/fonts/Poppins-Regular.woff2') format('woff2'),
background-color: #f9f9f9 url('https://yourdomain.com/fonts/Poppins-Regular.woff') format('woff');
border-radiusfont-weight: 12px400;
paddingfont-style: 20pxnormal;
}
@font-face {
widthfont-family: 280px'Poppins';
box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
src: url('https://yourdomain.com/fonts/Poppins-SemiBold.woff2') format('woff2'),
transition: transform 0.3s, box-shadow 0.3surl('https://yourdomain.com/fonts/Poppins-SemiBold.woff') format('woff');
font-weight: 600;
textfont-alignstyle: centernormal;
}
.modern-related-panel {
displayfont-family: flex'Poppins', sans-serif;
width: 100%;
flex-direction margin: column0;
padding: 40px 3%;
align-itemsbackground: center#ffffff;
border-radius: 16px;
/* Klikabilnost uklonjena */
cursor: default box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
box-sizing: border-box;
}
text-align: center;
}
.stat-card:hovermodern-related-panel h2 {
font-size: clamp(24px, transform: translateY(-5px4vw, 30px);
font-weight: 600;
box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.15)color: #2C3E50;
margin: 0 0 30px 0;
}
.statresource-iconcontainer {
font-sizemax-width: 40px950px;
/* ✅ prošireno da button stane u color: #2ecc71;red */
margin-bottom: 15px0 auto;
display: }flex;
.statflex-icon img.sonarqube-logo {direction: column;
widthgap: 120px15px;
}
.resource-item {
heightdisplay: autoflex;
justify-content: space-between;
marginalign-bottomitems: 15pxcenter;
}
padding: 15px 25px;
.statbackground-info h4 {color: #f9f9f9;
font-sizeborder-radius: 18px12px;
box-shadow: 0 4px font-weight: 600;
10px rgba(0, 0, 0, 0.06);
colortext-align: #34495eleft;
flex-wrap: nowrap; /* ✅ sprečava margin-bottom: 10px;prelamanje */
}
.resource-item .stat-numbertext {
flex-grow: 1;
font margin-sizeright: 28px20px;
}
.resource-item h4 {
font-weightsize: 70016px;
font-weight: 600;
color: #2ecc71#2C3E50;
margin: 0;
margin line-bottomheight: 10px1.4;
}
</style>
|
| | Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 3 |
|---|
| titleBGColor | #a3c1ad |
|---|
| | HTML |
|---|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
body {
font-family: 'Arial', sans-serif
.btn {
padding: 10px 20px;
background-color: #2e8b57;
color: white;
border: none;
border-radius: 8px;
cursor: pointer;
backgroundfont-colorsize: #f5f6f814px;
marginwidth: 0180px;
paddingtext-align: 20pxcenter;
transition: color: #333background-color 0.3s ease;
fontflex-sizeshrink: 14px0;
}
.btn:hover }{
.contact-wrapper-v2 {background-color: #1e6b41;
}
@media display: flex;(max-width: 600px) {
justify-content: center;.resource-item {
paddingflex-direction: 30pxcolumn;
}
.contact-item-v2 {align-items: flex-start;
background-colorgap: #ffffff10px;
padding: 30px;}
width: 100%;.btn {
max-width: 900px100%;
}
}
</style>
|
|
| Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 0 |
|---|
| titleBGColor | #a3c1ad |
|---|
| | HTML |
|---|
<!-- Local font Poppins -->
<style>
@font-face {
font-family: 'Poppins';
src: url('fonts/Poppins-Regular.woff2') format('woff2'),
url('fonts/Poppins-Regular.woff') format('woff');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Poppins';
src: url('fonts/Poppins-SemiBold.woff2') format('woff2'),
url('fonts/Poppins-SemiBold.woff') format('woff');
font-weight: 600;
font-style: normal;
}
</style>
<!-- Section -->
<div class="stats-panel">
<div class="stats-inner">
<h2>🌟 Statistics</h2>
<div class="stats-container">
<div class="stats-card">
<div class="stats-icon">📊</div>
<div class="stats-info">
<h4>Years of Experience</h4>
<p class="stats-number">+14 years</p>
</div>
</div>
<div class="stats-card">
<div class="stats-icon">🐞</div>
<div class="stats-info">
<h4>Detected Bugs (Manual)</h4>
<p class="stats-number">+700</p>
</div>
</div>
<div class="stats-card">
<div class="stats-icon">
<img src="https://wiki.geant.org/download/attachments/1045004320/sonarqube.svg?api=v2" alt="SonarQube Logo" class="stats-logo">
</div>
<div class="stats-info">
<h4>Detected Bugs (Automatic)</h4>
<p class="stats-number">+10,000</p>
</div>
</div>
</div>
</div>
</div>
<!-- Style -->
<style>
.stats-panel {
font-family: 'Poppins', sans-serif;
width: 100%;
background: #ffffff;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
border-radius: 0;
padding: 40px 0;
box-sizing: border-box;
}
.stats-inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 5%;
box-sizing: border-box;
text-align: center;
}
.stats-inner h2 {
font-size: clamp(24px, 4vw, 32px);
font-weight: 600;
color: #2C3E50;
margin-bottom: 40px;
}
.stats-container {
display: flex;
gap: 30px;
justify-content: center;
flex-wrap: wrap; /* omogucava wrap na manjim ekranima */
}
.stats-card {
background-color: #f9f9f9;
border-radius: 12px;
padding: 25px 20px;
flex: 1 1 250px; /* fleksibilna širina */
max-width: 400px;
box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08);
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
transition: transform 0.3s ease;
}
.stats-card:hover {
transform: translateY(-5px);
}
.stats-icon {
font-size: 48px;
color: #27ae60;
margin-bottom: 15px;
}
.stats-icon img.stats-logo {
width: 140px;
max-width: 100%;
height: auto;
margin-bottom: 10px;
}
.stats-info h4 {
font-size: 18px;
font-weight: 600;
color: #34495e;
margin-bottom: 8px;
}
.stats-number {
font-size: 28px;
font-weight: 700;
color: #27ae60;
margin: 0;
}
/* Responsive adjustments */
@media (max-width: 1024px) {
.stats-container {
gap: 20px;
}
}
@media (max-width: 768px) {
.stats-container {
flex-direction: column;
gap: 20px;
}
.stats-card {
max-width: 100%;
width: 100%;
}
}
@media (max-width: 480px) {
.stats-inner h2 {
font-size: clamp(20px, 5vw, 28px);
margin-bottom: 30px;
}
.stats-number {
font-size: 24px;
}
.stats-info h4 {
font-size: 16px;
}
}
</style>
|
|
| Panel |
|---|
| borderColor | #3A5673 |
|---|
| titleColor | white |
|---|
| borderWidth | 0 |
|---|
| titleBGColor | #a3c1ad |
|---|
| | HTML |
|---|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contact Section Safe</title>
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" crossorigin="anonymous">
<style>
@font-face {
font-family: 'Poppins';
src: url('fonts/Poppins-Regular.woff2') format('woff2'),
url('fonts/Poppins-Regular.woff') format('woff');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Poppins';
src: url('fonts/Poppins-SemiBold.woff2') format('woff2'),
url('fonts/Poppins-SemiBold.woff') format('woff');
font-weight: 600;
font-style: normal;
}
/* === Kontakt sekcija === */
.contact-full-panel {
font-family: 'Poppins', sans-serif;
width: 100%;
background: #fff;
border-radius: 16px;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
border: 2px solid #3498db;
display: flex;
align-items: flex-start;
gap: 30px;
transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.contact-item-v2:hover {
box-shadow: 0 8px 36px20px rgba(0, 0, 0, 0.1205);
padding: 40px 0;
borderbox-colorsizing: #2980b9border-box;
color: #2c3e50;
}
.contact-icon-v2inner {
font-sizemax-width: 50px1400px;
margin: 0 auto;
colorpadding: #3498db0 5%;
margin-topbox-sizing: 4px;
}
.contact-content-v2 {border-box;
display: flex;
flex-direction: 1column;
align-items: center;
}
.contact-content-v2 h3heading {
colortext-align: #2980b9center;
font-size: 1.4em clamp(24px, 4vw, 32px);
font-weight: bold600;
margin-bottom: 12px40px;
text-transform: uppercase;
}
.contact-content-v2heading pspan {
font-size: 0.95em;inherit;
}
.contact-grid {
display: flex;
colorjustify-content: #7f8c8dcenter;
flex-wrap: wrap;
margin-bottomgap: 20px24px;
width: 100%;
}
.contact-links-v2card {
displaybackground-color: flex#fff;
justify-contentborder-radius: space-between16px;
padding: gap: 12px40px 30px;
box-shadow: 0 4px flex-wrap: wrap;
}
.contact-links-v2 a {
display: inline-14px rgba(0,0,0,0.05);
border: 1px solid #d9dce6;
flex: 1 1 300px;
max-width: 500px;
display: flex;
justify-contentflex-direction: centercolumn;
align-items: center;
text-align: center;
colorbox-sizing: #2980b9;
background-color: transparentborder-box;
}
.contact-icon {
font-size: 48px;
color: #277a3c;
paddingmargin: 10px16px 16px0;
}
.contact-card h3 {
font-size: 0.95em20px;
font-weight: bold600;
color: #277a3c;
bordermargin-radiusbottom: 8px12px;
text-decorationtransform: noneuppercase;
}
.spacer {
borderheight: 2px solid #3498db;
width: 100%12px;
}
.contact-description {
font-size: 16px;
color: #2c3e50;
margin-bottom: 24px;
maxline-widthheight: 320px1.5;
}
.contact-links {
display: flex;
textflex-aligndirection: centercolumn;
/* uvek jedan ispod drugog transition: background-color 0.3s ease, transform 0.3s ease*/
gap: 12px;
width: 100%;
}
align-items: center;
}
.contact-links-v2 a:hover { {
text-decoration: none;
font-weight: 600;
color: #277a3c;
background-color: #3498dbtransparent;
border: 2px solid #277a3c;
colorpadding: white10px 16px;
border-radius: 16px;
transformtext-align: translateY(-4px)center;
transition: }
.contact-links-v2 a.helpdesk-link-v2 {
background-color: #3498db;
color: white;
background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
font-size: 1em;
white-space: nowrap;
width: 90%; /* border: none;
padding: 10px 16px;
}
.contact-links-v2 a.helpdesk-link-v2manja dužina da ne prelaye */
max-width: 320px; /* kontrola maksimalne širine */
box-sizing: border-box;
}
.contact-links a:hover {
background-color: #217dbb#388e3c;
color: }white;
box-shadow: .footer-text-v2 {
text-align: center0 8px 28px rgba(56, 142, 60, 0.6);
cursor: pointer;
transform: scale(1.02);
}
.contact-footer {
fonttext-sizealign: 16px;
center;
margin-top: 30px40px;
font-size: 16px;
color: #555#2c3e50;
}
.footer-text-v2 spanmax-width: 600px;
}
/* Responsive */
@media (max-width: 768px) {
.contact-card { fontmax-weightwidth: bold100%; }
.contact-links a { colorwidth: #3498db95%;
}
</style>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet" />max-width: 280px; font-size: 0.95em; }
}
</style>
</head>
<body>
<div class="contact-wrapperfull-v2panel">
<div class="contact-item-v2inner">
<div class="contact-icon-v2"><iheading"> 📩 LET'S CONNECT! <span> CONTACT US</span> </div>
<div class="fas fa-envelope"></i></div>contact-grid">
<div class="contact-content-v2card">
<h3>REQUEST <h3>RequestA CodeCODE Review<REVIEW</h3>
<p>If you need a code review, reach out to us via email or through the Help Desk for assistance.<<div class="contact-icon"><i class="fas fa-envelope"></i></div>
<p class="contact-description">All inquiries related to code review requests</p>
<div class="contact-links-v2">
<a href="mailto:codereviews@software.geant.org" class="email-link-v2">
codereviews@software.geant.org
<>codereviews@software.geant.org</a>
<a href="https://jira.software.geant.org/servicedesk/customer/portal/2/group/20" class="helpdesk-link-v2">
Help Desk
<>Help Desk</a>
</div>
</div>
</div>
</div>
<div<p class="contact-footer-text-v2">
For further inquiriesinformation or more informationinquiries, feel free to reachcontact outus via emailthe orprovided Help Deskemails.
</div>p>
<br><br></div>
</div>
</body>
</html>
|
|
|
|