html{
  scroll-behavior: smooth;
}
* {
  box-sizing: border-box;
}
#menu
{
  background-color: #ffffff;
}

#flowers { position: absolute; margin: 0; width: 92%; }

/* Hero section : SVG en fond, texte par-dessus */
.hero-section.splash {
  position: relative;
  overflow: hidden;
}

.hero-section.splash .flose {
  position: relative;
  width: 100%;
  min-height: 100vh;
}

.colortitle { color:white;  }

.hero-section.splash .flose #flowers,
.hero-section.splash .flose > svg {
  position: absolute;
  top: 0;
  left: 0;
  /* width: 100%; */
  /* height: 100%; */
  margin: 0;
  z-index: 0;
  pointer-events: none;
}

.devweb {position:relative;z-index: 1;display: flex;flex-wrap: wrap;align-content: center;justify-content: center;align-items: center;flex-direction: column;top: 30vh;}

body {background-image: url(img/grill4.png);height: 100vh;width: 100%;background-repeat: no-repeat;background-color: #3b1ab2;}

.starter-template {
  padding: 40px 15px;
  text-align: center;
}
ul.navbar-nav { 
  float:right;
  text-align:center;
}
ul.navbar-nav li 
{
  padding: 0 10px;
}
@media only screen and (max-width:767px)
{ ul.navbar-nav { float:none; } }
.container-fluid {
  /* padding: 0 1em; */
}
.navbar-nav li a
{
  color:black!important;
  font-size:1.2em;
  font-family: Century gothic,sans-serif;
  font-weight:600;
  transition: 0.4s ease;
}
.navbar-nav li a:hover
{
  color:#fff!important;
  background-color:black!important;
}
.navbar-brand {
  padding:10px 15px!important;
}
a.navbar-brand .fa-globe
{
  font-size: 30px;
  color: black;
  transition:0.5s ease;
}
a.navbar-brand .fa-globe:hover
{
  color: #3935e6;
}
.navbar-inverse .navbar-toggle .icon-bar {
    background-color: black!important;
}
.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
    background-color: #fff!important;
}

.container {
  margin: 0 auto;
  max-width: 996px;
}
.splash {
  background-size: cover;
  color: #fff;
  min-height: 100vh;
}

.splash .container {
  padding-top: 15vh; /* No JS fallback*/
  padding-bottom: 10vh; /* No JS fallback*/
}

.profile-image {
  border-radius: 50%;
  display: block;
  max-height:250px;
  max-width: 250px;
  margin: 0 auto 1em;
  width: 100%;
  opacity: 0.85;
}

.splash h1 {
  font-size: 40px;
  margin-bottom: .15em;
  text-align: center;
}

.splash .lead, .splash .continue {
  display: inline-block;
  text-align: center;
}
h1.intro-text
{
  margin:0;
  /* color:#fff; */
}
.splash .lead {
  font-size: 30px;
  margin-bottom: 1em;
  font-family: Rockwell;
}
.navbar-inverse
{
  border:none!important;
}
@keyframes blink
  {
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
  }
        @-webkit-keyframes blink
        {
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
        @-moz-keyframes blink
        {
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
        @-ms-keyframes blink
        {
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
        @-o-keyframes blink
        {
            0% { opacity:1; }
            50% { opacity:0; }
            100% { opacity:1; }
        }
/* code for animated blinking cursor */
#typed-cursor
{
      opacity: 1;
      font-size: 40px;
      color: #fff;
      font-weight: 50;
      -webkit-animation: blink 1s infinite;
      -moz-animation: blink 1s infinite;
      -ms-animation: blink 1s infinite;
      -o-animation: blink 1s infinite;
      animation: blink 1s infinite;
}

.splash .continue {
  font-size: 3em;
  display:block;
}

.splash .continue a {
  border: 2px solid #fff;
  border-radius: 100%;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  width: 40px;
  height:40px;
  font-size:30px;
}
.splash .continue a:hover {
  background-color: rgba(255, 255, 255, .25);
}


#about,#portfolio,#contact
{
  padding-top: 6em!important;
  background-repeat: no-repeat;
  margin: 0 auto;
  padding-bottom: 16em;
  background-size: contain;
}
section h2 {
    margin: 0;
    font-size: 3em;
}
section.success {
    color: #fff;
    /* background-image: url(); */
    /* background: #3C14B4; */
    /* padding: 2%; */
}

section.success a
{
  color:black;
  transition: 0.4s ease;
}
section.success a:hover {
    outline: 0;
    color: #fff;
  border: 2px solid #fff;
}
.contact-button
{
  padding-bottom:2%;
}
hr.star-light,hr.star-portfolio {
    margin: 25px auto 30px;
    padding: 0;
    max-width: 250px;
    border: 0;
    border-top: solid 3px;
    text-align: center;
}

hr.star-light:after,hr.star-portfolio:after {
    content: "\f005";
    display: inline-block;
    position: relative;
    top: -.8em;
    padding: 0 .25em;
    font-family: FontAwesome;
    font-size: 2em;
}

hr.star-light {
    /* border-color: #fff; */
}
hr.star-portfolio {
    border-color: black;
}
hr.star-portfolio:after {
    color: black;
    background-color: #eee;
}
hr.star-light:after {
    color: #fff;
    background-color: rgb(13, 79, 136);
}
p.content-text {font-size: 15px;}

/* PORTFOLIO */
.portfolio-card{
    box-shadow: 0px 2px 5px #888888;
    background: #eee;
    border-radius: 4px;

}

.portfolio-card:hover{
	box-shadow: 0px 10px 10px #888888;
  cursor: pointer
}

.portfolio-container-holder{
	padding-bottom: 20px;
}


.portfolio-card-holder{
	padding: 5px;
	margin-bottom: 5px;
}

.portfolio-img{
	width: 100%;
	border-radius: 4px 4px 0 0;
}

.portfolio-img-desc{
	position: relative;
	bottom: 0px;
	left: 0px;
	right: 0px;
	background: #fff;
	color: #000;
	text-align: center;
	padding: 5px;
}

/* Contact */
.contact-me-container{
	padding:3%;
background: rgb(13, 79, 136);
}
.fa-user,.fa-at,.fa-phone
{
  color:black;
}
.submit-button{
	margin-top: 10px;
	margin-bottom: 10px;
}
/* ========================
Footer
======================== */

footer {
  background-color: #2C3E50;
  color:  #fff;
  font-size: 1.5em;
  text-align: center;
  padding:3%;
}
a.tel,a.tel:hover
{
  text-decoration:none;
  color:#fff;
}
a.social-button {
	background: #fff;
	font-size: 18px;
	border-radius: 79%;
	margin: 5px;
}
.address-container{
	display: inline-block;
	margin: 0 auto;
}
a.link-facebook,a.link-twitter,a.link-codepen,a.link-linkedin,a.link-instagram
{
  transition:0.4s ease;
}
a.link-twitter
{
  color:#1DA1F2;
}
a.link-facebook
{
 color: #3b5998;
}
a.link-linkedin
{
  color:#007bb6;
}
a.link-instagram
{
  color:#e95950;
}
a.link-facebook:hover{
	background-color: #3b5998;
	color: #fff;
}

a.link-twitter:hover{
	background-color: #1DA1F2;
	color: #fff;
}

a.link-codepen:hover{
	background-color: black;
	color: #fff;
}

a.link-linkedin:hover{
	background-color: #007bb6;
	color: #fff;
}
a.link-instagram:hover{
	background-color: #e95950;
	color: #fff;
}
.btn-default {
    color: #333;
    background-color: #fff;
    border-color: transparent!important;
}
.fa-heart {
  color:#f32323;
}
h4.author
{
  letter-spacing:4px;
}
hr.footer-hr
{
  width:50%;
}
hr.copyright
{
  opacity:0.4;
}
/* ==================== GALLERY ==================== */
.gallery-section { padding: 60px 0; }
.gallery-grid {
  display: grid;
  gap: 15px;
  margin-top: 30px;
}
.gallery-cols-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-cols-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 768px) {
  .gallery-cols-3, .gallery-cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .gallery-cols-2, .gallery-cols-3, .gallery-cols-4 { grid-template-columns: 1fr; }
}

.gallery-item { overflow: hidden; border-radius: 6px; }
.gallery-img-wrap {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.gallery-img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.gallery-img-wrap:hover .gallery-img {
  transform: scale(1.08);
}

/* Overlay on hover */
.gallery-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.gallery-img-wrap:hover .gallery-overlay { opacity: 1; }

.gallery-zoom,
.gallery-link {
  width: 46px; height: 46px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: rgba(255,255,255,0.15);
  color: #fff;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
  cursor: pointer;
}
.gallery-zoom:hover,
.gallery-link:hover {
  background: rgba(255,255,255,0.35);
  transform: scale(1.15);
  color: #fff;
}

/* Caption bar */
.gallery-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: rgba(0,0,0,0.7);
  color: #fff;
  padding: 8px 12px;
  font-size: 0.85rem;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}
.gallery-img-wrap:hover .gallery-caption { transform: translateY(0); }

/* ==================== LIGHTBOX ==================== */
.lightbox-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.92);
  z-index: 99999;
  align-items: center;
  justify-content: center;
}
.lightbox-overlay.active { display: flex; }

.lightbox-content {
  max-width: 90vw;
  max-height: 85vh;
  text-align: center;
}
.lightbox-content img {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 4px 30px rgba(0,0,0,0.5);
}
.lightbox-caption {
  color: #fff;
  padding: 12px 0;
  font-size: 1rem;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next {
  position: absolute;
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  z-index: 100000;
  padding: 10px 15px;
  transition: opacity 0.2s;
  opacity: 0.7;
}
.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover { opacity: 1; }
.lightbox-close { top: 15px; right: 20px; font-size: 2.5rem; }
.lightbox-prev { left: 15px; top: 50%; transform: translateY(-50%); }
.lightbox-next { right: 15px; top: 50%; transform: translateY(-50%); }
