@charset "utf-8";
/* CSS Document */

.overflow-vis{
	overflow: visible;
}

.mtop40{
	margin-top: 40px;
}

.banner {
      position: relative;              /* important */
      display: flex;
      align-items: center;
      background-color: #e7faff;
      padding: 30px 40px;
      overflow: visible;               /* allow overflow */
    }

    .text {
      max-width: 65%;
    }

    .text h1 {
      color: #000ad2;
      font-size: 42px;
      margin: 0 0 15px 0;
      line-height: 1.2;
    }

    .text p {
      font-size: 16px;
      color: #222;
      line-height: 1.5;
    }
	
	.image {
      position: absolute;              /* key change */
      right: 0px;                    /* push outside */
      bottom: -10px;                   /* slight overlap */	
    }

    .image img {
      width: 380px; /* adjust as needed */
    }



    /* Responsive */
	@media (max-width: 1000px) {
		.text { max-width: 55%; }
		.image img { width: 300px; /* adjust as needed */ }
    }

    @media (max-width: 768px) {
      .banner {
        flex-direction: column;
        text-align: left;
		padding: 20px;
      }

      .text {
        max-width: 100%;
      }
	
	  .image { position: relative;}	

      .image img {
         width: 100%;
      }
    }