/*code written by Rutuja Nandre*/

body {
    height: 100vh;
    background-size: 60% 60%;
    font-family: 'Anton', sans-serif;
    color: #fff;
  }
  .sbuttons {
    bottom: 15%;
    position: fixed;
    margin: 1em;
    right: 0;
  }
  .sbutton {
    display: block;
    width: 50px;
    height: 50px;
     border-radius: 50%;
    text-align: center;
    color: white;
    margin: 20px auto 0;
    box-shadow: 0px 5px 11px -2px rgba(0, 0, 0, 0.18), 0px 4px 12px -7px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    -webkit-transition: all .1s ease-out;
    transition: all .1s ease-out;
    position: relative;
  }
  .sbutton > i {
    font-size: 30px;
    line-height: 50px;
    transition: all .2s ease-in-out;
    transition-delay: 2s;
  }
  .sbutton:active,
  .sbutton:focus,
  .sbutton:hover {
    box-shadow: 0 0 4px rgba(0, 0, 0, .14), 0 4px 8px rgba(0, 0, 0, .28);
  }
  .sbutton:not(:last-child) {
    width: 40px;
    height: 40px;
    margin: 20px auto 0;
    opacity: 0;
  }
  .sbutton:not(:last-child) > i {
    font-size: 25px;
    line-height: 37px;
    transition: all .3s ease-in-out;
  }
  .sbuttons:hover .sbutton:not(:last-child) {
    opacity: 1;
    width: 40px;
    height: 40px;
    margin: 15px auto 0;
  }
  .sbutton:nth-last-child(1) {
    -webkit-transition-delay: 25ms;
    transition-delay: 25ms;
  }
  .sbutton:not(:last-child):nth-last-child(2) {
       -webkit-transition-delay: 20ms;
    transition-delay: 20ms;
  }
  .sbutton:not(:last-child):nth-last-child(3) {
    -webkit-transition-delay: 40ms;
    transition-delay: 40ms;
  }
  .sbutton:not(:last-child):nth-last-child(4) {
    -webkit-transition-delay: 60ms;
    transition-delay: 60ms;
  }
  .sbutton:not(:last-child):nth-last-child(5) {
    -webkit-transition-delay: 80ms;
    transition-delay: 80ms;
  }
  .sbutton:not(:last-child):nth-last-child(6) {
    -webkit-transition-delay: 100ms;
    transition-delay: 100ms;
  }
   
  
  .sbutton.mainsbutton {
    background: #2ab1ce;
  }
  .sbutton.linkedin {
    background: #0e76a8;
  }
  .sbutton.email {
    background:  #BB001B;
  }
    .sbutton.sms {
    background: #4180ec;
  }
  .sbutton.twitt {
    background: #03A9F4;
  }
  .sbutton.fb {
    background: #3F51B5;
  }
  .sbutton.whatsapp {
    background: #00e676;
  }
  /* for desktop */
.whatsapp_float {
	position:fixed;
	width:70px;
	height:70px;
	bottom:60px;
	left:40px;
	background-color:#25d366;
	color:#FFF;
	border-radius:50px;
	text-align:center;
        font-size:40px;
	box-shadow: 2px 2px 3px #999;
        z-index:100;
}

.whatsapp-icon {
	margin-top:16px;
}
/* for mobile */
@media screen and (max-width: 767px){
     .whatsapp-icon {
        margin-top:10px;
     }
    .whatsapp_float {
        width: 50px;
        height: 50px;
        bottom: 200px;
        left: 10px;
        font-size: 30px;
    }
	 .sbuttons {
    bottom: 10%;
    margin: 1.5em;
  }
    .sbutton {
    width: 40px;
    height: 40px;
    margin: 12px auto 0;
    }
    .sbutton > i {
    font-size: 17px;
    line-height: 37px;
}
    .sbutton:not(:last-child) > i {
    font-size: 17px;
    line-height: 31px;

}
    .sbuttons:hover .sbutton:not(:last-child) {
    opacity: 1;
    width: 33px;
    height: 33px;
    margin: 6px auto 0;
}
    
}
@media (max-width: 1199px) {
  .u-footer .u-social-icons-1 {
      width: 182px;
      margin-bottom: 8px;
  }
}
.u-footer .u-social-icons-1 {
  height: 27px;
  min-height: 16px;
  width: 182px;
  min-width: 139px;
  margin: 9px auto 31px;
}

.u-footer .u-icon-1 {
  color: rgb(59, 89, 152) !important;
  height: 100%;
}

.u-footer .u-icon-2 {
  color: rgb(85, 172, 238) !important;
  height: 100%;
}

.u-footer .u-icon-3 {
  color: rgb(197, 54, 164) !important;
  height: 100%;
}

.u-footer .u-icon-4 {
  height: 100%;
  color: rgb(210, 34, 21) !important;
}

/* ===== Container & page basics ===== */
    :root{
      --gap: 16px;
      --radius: 16px;
      --max-width: 1200px;
      --bg: #f8f9fb;
    }

    html,body{
      height: 100%;
      margin: 0;
      font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
      background: var(--bg);
      color: #111;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    .portfolio {
      max-width: var(--max-width);
      margin: 28px auto;
      padding: 18px;
    }

    h1{
      margin: 0 0 12px 0;
      font-size: 1.4rem;
      font-weight: 600;
      letter-spacing: -0.2px;
    }

    /* ===== Responsive grid ===== */
    .grid {
      display: grid;
      gap: var(--gap);
      /* auto-fit + minmax gives fluid responsive columns */
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      align-items: stretch;
    }

    /* ===== Card wrapper to keep consistent aspect ratio & overflow handling ===== */
    .card {
      background: white;
      border-radius: calc(var(--radius) + 2px);
      overflow: hidden;
      box-shadow: 0 6px 18px rgba(17,17,17,0.06);
      transition: transform 250ms ease, box-shadow 250ms ease;
      will-change: transform;
      cursor: pointer;
      display: block;
      text-decoration: none;
      color: inherit;
    }

    .card:focus,
    .card:hover{
      transform: translateY(-6px);
      box-shadow: 0 18px 40px rgba(17,17,17,0.12);
      outline: none;
    }

    /* Aspect ratio -- modern browsers support */
    .card .media {
      width: 100%;
      aspect-ratio: 16 / 9; /* keeps consistent ratio across items */
      display: block;
      position: relative;
      background: #e9edf2;
    }

    /* For browsers not supporting aspect-ratio, fallback */
    @supports not (aspect-ratio: 1) {
      .card .media{
        height: 0;
        padding-top: 56.25%; /* 16:9 fallback */
      }
      .card .media img{
        position: absolute;
        top: 0;
        left: 0;
      }
    }

    /* Image styles */
    .card img {
      width: 100%;
      height: 100%;
      object-fit: cover;     /* important to crop and fill nicely */
      display: block;
      transition: transform 350ms ease;
      transform-origin: center center;
    }

    .card:hover img,
    .card:focus img {
      transform: scale(1.05);
    }

    /* Optional caption area (hidden when empty) */
    .caption {
      padding: 10px 12px;
      font-size: 0.92rem;
      text-align: center;
      color: #333;
    }

    /* Accessibility focus visible */
    .card:focus-visible {
      outline: 3px solid rgba(34, 120, 255, 0.16);
      outline-offset: 4px;
    }

    /* Smaller screens tweaks */
    @media (max-width: 480px){
      :root { --gap: 10px; }
      .portfolio { padding: 12px; margin: 14px auto; }
      h1 { font-size: 1.1rem; margin-bottom: 10px; }
      .grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
    }

    /* Larger screens */
    @media (min-width: 1400px){
      :root { --max-width: 1400px; }
    }

    