diff --git a/images/learn/2d-tutorial.webp b/images/learn/2d-tutorial.webp new file mode 100644 index 00000000..13a7d9a5 Binary files /dev/null and b/images/learn/2d-tutorial.webp differ diff --git a/index.md b/index.md index cac838a3..c95b19bf 100644 --- a/index.md +++ b/index.md @@ -10,6 +10,59 @@ description: MonoGame Documentation Hub Whether you are just starting out with MonoGame or you have been using it for years, you can find all documentation and tutorials here.

+
diff --git a/templates/monogame/public/main.css b/templates/monogame/public/main.css index 674e5d69..b76fb87d 100644 --- a/templates/monogame/public/main.css +++ b/templates/monogame/public/main.css @@ -308,4 +308,117 @@ td > .xref { .question-answer.revealed * { opacity: 1; -} \ No newline at end of file +} + +/******************************************************************************* +*** Section: Carousel for docs landing page +*******************************************************************************/ +.carousel { + margin-bottom: 3rem; + border: 1px solid; + border-color: var(--bs-body-color); + border-radius: .5rem; + overflow: hidden; +} + +.carousel-item { + height: 400px; + position: relative; +} + +.carousel-item img { + width: 100%; + height: 100%; + object-fit: cover; + object-position: center; +} + +.carousel-item::after { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: linear-gradient(to right, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 30%, rgba(0, 0, 0, 0) 50%); + pointer-events: none; +} + +.carousel-caption { + bottom: 0; + left: 0; + right: auto; + text-align: left; + padding: 3rem; + z-index: 10; + max-width: 600px; + color: white; +} + +.carousel-caption h1 { + margin-top: 0; + font-weight: 700; + color: white; + text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); +} + +.carousel-caption p { + color: white; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); + margin-bottom: 1.5rem; +} + +.carousel-caption .btn { + background-color: var(--mg-orange-primary); + border-color: var(--mg-orange-primary); + color: white; + font-weight: 600; + padding: 0.75rem 2rem; + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.3); + transition: all 0.2s ease-in-out; +} + +.carousel-caption .btn:hover, +.carousel-caption .btn:focus { + background-color: var(--mg-orange-secondary); + border-color: var(--mg-orange-secondary); + transform: translateY(-2px); + box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.4); +} + +.carousel-indicators { + margin-bottom: 1rem; +} + +.carousel-indicators [data-bs-target] { + background-color: var(--mg-orange-secondary) !important; + opacity: 0.6; + width: 12px; + height: 12px; + border-radius: 50%; + border: none; +} + +.carousel-indicators .active { + opacity: 1; + background-color: var(--mg-orange-primary) !important; +} + +@media (max-width: 768px) { + .carousel-item { + height: 300px; + } + + .carousel-caption { + padding: 2rem 1rem; + max-width: 100%; + } + + .carousel-caption h1 { + font-size: 1.75rem; + } + + .carousel { + margin-bottom: 3rem; + } +}