
@import url('./fonts.css');

/* General Styling */

*
{ 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0;
}

html 
{ 
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body
{
    max-width: 100vw;
    overflow-x: hidden;
    background-color: #eef3f9;
    scrollbar-width: thin;
    scrollbar-color: rgb(119, 108, 167,0.5) transparent;
}

::-webkit-scrollbar { width: 15px; }

::-webkit-scrollbar-track { background: transparent; }
 
::-webkit-scrollbar-thumb { background: rgb(119, 108, 167,0.5); border-radius: 25px; }


html.no-scroll , html.no-scroll body { overflow: hidden; }

a { text-decoration: none; color: #444444;}

.btn
{
    display: inline-block;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
    border-radius: 25px;
    font-family: 'BalsamiqSans-regular';
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
    box-shadow: 0px 12px 12px -12px black;
}

.btn::after
{
    content: "";
    height: 100%; width: 100%;
    position: absolute;
    top: 0; left: 0;
    z-index: -1;
    background-color: rgb(0, 0, 0,0.5);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease-in;

}

.btn:hover::after
{
    transform: scaleX(1);
    transform-origin: left;
}

.btn:focus { outline: none; }

.fancy-links
{
    position: relative;
    z-index: 2;
}

.fancy-links::after
{
    content: "";
    position: absolute;
    left: 0; bottom: -2px;
    border-radius: 25px;
    height: 2px; width: 100%;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.2s ease-in;
}

.fancy-links:hover::after 
{ 
    transform: scaleX(1);
    transform-origin: left;
}

.main-headings
{
    font-family: 'kaushan';
    font-size: 50px;
}

/* Navbar */

nav
{
    position: relative;
    z-index: 2;
}

nav .container  
{
    height: 100px;
    display: flex;
    align-items: center;
}

.company-logo
{
    height: 50px; width: 130px;
    display: inline-block;
    position: relative;
    color: #3b556e;
}

.company-logo>span:nth-child(1)
{
    font-family: 'kaushan';
    font-size: 35px;
}

.company-logo>span:nth-child(1) i
{
    font-style: normal;
    color: #766ba7;
}

.company-logo>span:nth-child(2),
.company-logo>span:nth-child(3)
{
    font-family: 'kaushan';
    font-size: 15px;
    position: absolute;
    left: 85px;
}

.company-logo>span:nth-child(2)
{ top: 5px; }

.company-logo>span:nth-child(3)
{ left: 95px; bottom: 5px; }

.menu-links
{
    display: flex;
    list-style-type: none;
    margin-left: auto;
}

.menu-links li { margin: 0 15px; }

.menu-links li a
{
    font-family: 'BalsamiqSans-regular';
    font-size: 18px;
    color: #64707c;
}

.menu-links li a:hover { color: #ca366f; }

.hamburger { display: none; }

/* Banner */

#banner { padding: 50px 0; }

#banner .container
{
    display: flex;
    flex-wrap: wrap;
}

.circle.one
{
    height: 900px; width: 900px;
    background-color: #d2dbe4;
    border-radius: 50%;
    position: absolute;
    z-index: -1;
}

#banner-text, #banner-img { flex-basis: 50%; margin: 0 auto; }

#banner-text
{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

#banner-text h1
{
    color: #32506a;
    font-family: 'Ubuntu-italic';
    font-size: 64px;
}

#banner-text h1 span { color: #766ba7; }

#banner-text h2
{ 
    color: #32506a;
    font-family: 'Ubuntu-italic';
    font-size: 32px;
    margin: 25px 0 40px;
    line-height: 1.5;
}

#banner-text a 
{ 
    height: 50px; width: 175px;
    background-color: #766ba7;
    color: white;
}

#banner-img{ position: relative; }

#banner-img img
{
    display: block;
    margin: 0 auto;
    filter: drop-shadow( 0px 3px 9px black );
}

/* Products */

.arc.two
{
    position: absolute;
    top: 0; left: 0;
    z-index: -1;
    height: 500px; width: 500px;
    background-color: #1f2d36;
    border-bottom-right-radius: 85%;
}

#products
{
    padding: 50px 0;
    background-color:#1c262f;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

#products .container
{
    display: flex;
    flex-wrap: wrap;
}

#products-left , #products-right { flex-basis: 50%; margin: 50px auto; }

#products-left h1
{
    color: rgb(240, 255, 255);
} 

#products-left p
{
    color: #bac4cd;
    font-family: 'Montserrat';
    line-height: 2;
    font-size: 20px;
    width: 75%;
    text-align: justify;
    margin: 35px 0 50px;
}

.dark-btn
{
    height: 50px; width: 175px;
    border: 2px solid #bac4cd;
    color: #bac4cd;
    background-color: transparent;
}

.dark-btn::after
{
    border: 2px solid #f08a5d;
    background-color: #f08a5d;
}

.dark-btn:hover
{
    border: none;
    color: white; 
}

#products-right
{
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    position: relative;
}

#products-right>img
{
    position: absolute;
    opacity: 0.15;
    z-index: -1;
    height: 500px;
    right: 0; bottom: -75px;
}

#products-right span
{
    color: rgb(240, 255, 255);
    width: 33%;
    height: 100px;
    font-size: 18px;
    font-family: 'Bungee';
    text-align: center;
    display: flex;
    align-items: center; justify-content: center;
    cursor: context-menu;
}

#products-right span:nth-child(odd) { color: #f08a5d; }

/* Gallery */

#gallery
{
    padding: 50px 0;
    position: relative;
    overflow: hidden;
}

.circle.two
{
    height: 700px; width: 700px;
    background-color: #d2dbe4;
    border-bottom-left-radius: 100%;
    position: absolute;
    top: 0; right: 0;
    z-index: -1;
}

#gallery h1 { color: #32506a; } 

#gallery>.container>h1>span { color: #766ba7; }

.gallery-box 
{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-top: 30px;
}

.gallery-box>div
{
    flex-basis: 24%;
    margin: 7px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: #1c262f;
    padding: 50px 0;
    border-radius: 6px;
    box-shadow: 0px 2px 4px rgb(0, 0, 0,0.5);
    transition: transform 0.3s ease, padding 0.3s ease;
    position: relative;
}

.gallery-box>div:hover 
{ 
    transform: scale3d(1.05,1.05,1.05); 
    box-shadow: 0px 2px 6px rgb(0, 0, 0,0.5);
    padding-top: 6px;
    padding-bottom: 85px;
    align-items: flex-start;
}

.gallery-box>div::after
{
    width: 100%; height: 75px;
    background-color: #2e404e;
    position: absolute;
    bottom: 0; left: 0;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.25s ease-in;
    box-shadow: 0px 0px 12px rgb(0, 0, 0,0.45);
    color: #c3cacf;
    font-family: "kaushan";
    font-size: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0 0 6px 6px;
}

/* Gallery Image Names */

.gallery-box>div:nth-child(1)::after { content: "2ft Ganesha Statue"; }

.gallery-box>div:nth-child(2)::after { content: "3ft Sarawathi Statue"; }

.gallery-box>div:nth-child(3)::after { content: "3ft Krishna Statue"; }

.gallery-box>div:nth-child(4)::after { content: "7ft Lakshmi Statue"; }

.gallery-box>div:nth-child(5)::after { content: "3ft Ganesha Statue"; }

.gallery-box>div:nth-child(6)::after { content: "2ft Venkateshwara Statue"; }

.gallery-box>div:nth-child(7)::after { content: "3ft Design Statue"; }

.gallery-box>div:nth-child(8)::after { content: "5ft Mandapam"; }

/*  */


.gallery-box>div:hover::after { transform: scaleY(1); }

.gallery-box>div:hover>img { opacity: 1; }

.gallery-box>div>img
{
    height: 350px;
    filter: drop-shadow( 0px 3px 3px black );
    opacity: 0.8;
}

.show-more.btn
{ 
    margin: 50px auto 25px;
    height: 50px; width: 175px;
    background-color: #766ba7;  
    color: white;
}

/* About Us */

#about
{
    margin: 25px 0 100px;
    padding: 75px 0;
    background-color:#1c262f;
    position: relative;
    z-index: 2;
}

.about-arc
{
    position: absolute;
    top: 0; left: 0;
    z-index: -1;
    height: 500px; width: 500px;
    background-color: #1f2d36;
    border-bottom-right-radius: 85%;
}

#about .container
{
    display: flex;
    flex-wrap: wrap;
}

#about .container>div { flex-basis: 50%; }

.chisel
{
    filter: grayscale(100%);
    opacity: 0.6;
    display: block;
    margin: auto;
}

.about-right h1 { color: #f7faff; }

.about-right h3
{
    color: #bac4cd;
    font-family: 'BalsamiqSans-regular';
    text-transform: uppercase;
    font-size: 27px;
    margin-top: 25px;
}

.about-right p
{
    color: #bac4cd;
    font-family: 'Montserrat';
    line-height: 2;
    font-size: 20px;
    text-align: justify;
    margin-top: 12px;
}

.about-right a { margin-top: 25px; }

/* Moment */

#moment { margin: 0 auto 75px; position: relative; }

.moment-arc
{
    height: 500px; width: 400px;
    position: absolute;
    z-index: -1;
    background-color: #d2dbe4;
}

.moment-arc.left
{
    border-top-right-radius: 100%;
    border-bottom-right-radius: 100%;
    bottom: 0; left: 0;
}

.moment-arc.right
{
    border-top-left-radius: 100%;
    border-bottom-left-radius: 100%;
    bottom: 0; right: 0;
}

.moments-bg , .lamp-img
{
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    height: 400px;
    opacity: 0.2;
    filter: grayscale(100%) drop-shadow(0px 3px 3px black);
}

.lamp-img
{
    opacity: 0.1; height: 300px;
    filter: grayscale(0%) drop-shadow(0px 3px 3px black);
}

#moment h1 
{ 
    color: #32506a; 
    position: relative;
    display: inline-block;
    margin: 0 auto;
    left: 50%; 
    transform: translateX(-50%);
}

#moment h1::after
{
    content: "";
    position: absolute;
    width: 100%; height: 5px;
    bottom: -15px; left: 0;
    background-color: #766ba7;
    transform: scaleX(0.4);
    border-radius: 12px;
}

#moment span { color: #766ba7; }

#moment p
{
    color: #32506a;
    font-family: 'Montserrat';
    line-height: 2;
    width: 40%;
    font-size: 20px;
    text-align: center;
    margin: 25px auto;
}

#moment .container img
{
    height: 400px;
    border-radius: 5px;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0px 0px 6px rgba(0,0,0,0.25));
    transition: transform 0.3s ease;
}

#moment .container img:hover
{
    transform: scale(1.025,1.025);
    filter: drop-shadow(0px 0px 12px rgba(0,0,0,0.25));
}

/* Insta */

#insta { position: relative; }

.insta-circle
{
    height: 530px;
    width: 600px;
    border-top-right-radius: 100%;
    border-bottom-right-radius: 100%;
    top: 0; left: 0;
    position: absolute;
    z-index: -1;
    background-color: #d2dbe4;
}

#insta .container
{
    margin-bottom: 50px;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    position: relative;
}

.insta-text { flex-basis: 40%; display: flex; align-items: center; }

.insta-embed { flex-basis: 20%; position: relative; }

.insta-text h1 , .locate-text h1
{
    color: #32506a;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.insta-text h1 img
{
    display: inline-block;
    height: 50px;
    margin-left: 18px;
    position: relative;
    top: 6px;
    filter: drop-shadow(0px 2px 2px black);
}

.insta-bg
{
    position: absolute;
    height: 100px;
    top: -50px; left: -50px;
    z-index: -1;
    opacity: 0.2;
    filter: grayscale(100%) drop-shadow(0px 3px 3px black);
}

/* Locate Us */

#locate 
{ 
    position: relative;
    margin: 100px 0;
    padding-top: 50px;
}

.locate-circle
{
    height: 500px;
    width: 600px;
    border-top-left-radius: 100%;
    border-bottom-left-radius: 100%;
    top: 50px; right: 0;
    position: absolute;
    z-index: -1;
    background-color: #d2dbe4;
}

.maps-bg
{
    position: absolute;
    z-index: -1;
    height: 100px;
    top: -75px; left: 0; 
    opacity: 0.2;
    filter: grayscale(100%) drop-shadow(0px 3px 3px black);
}

#locate .container
{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    position: relative;
}

.locate-text { flex-basis: 40%; display: flex; align-items: center; }

.locate-map { flex-basis: 40%; }

.locate-text h1 img
{
    display: inline-block;
    height: 50px;
    margin-left: 18px;
    position: relative;
    top: 3px;
    filter: drop-shadow(0px 2px 2px black);
}

.gmap_canvas iframe { height: 500px; width: 600px; }

.mapouter
{
    position: relative;
    text-align:right;
    height: 500px; width:600px;
}

.gmap_canvas 
{
    overflow:hidden;
    background:none!important;
    height:500px; width:600px;
}

/* Footer */

footer
{
    background-color: #1c262f;
    padding: 50px 0 35px;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

footer .container 
{ 
    min-height: 100px;
    display: flex; 
    justify-content: space-between;
}  

footer .container>div:nth-child(2)
{
    display: flex;
    width: 150px;
    flex-direction: column;
    justify-content: space-between;
}

footer .company-logo { color: #f0f0f0; align-self: center; }

footer .company-logo span:nth-child(1) i { color: #f08a5d; }

.social-links 
{
    display: flex;
    justify-content: space-between;
}

.social-links img
{
    height: 25px;
    opacity: 0.8;
    filter: drop-shadow( 3px 3px 3px black );
    transition: transfrom 0.3s ease;
}

.social-links img:hover { transform: scale3d(1.2,1.2,1.2); opacity: 1; }

/* Address and Phone no */

footer .container>div:nth-child(3)
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.address, .phone
{
    display: flex;
    align-items: center;
}
.address , .phone a
{
    font-family: 'Montserrat';
    font-size: 16px;
    color: #fbfbfd;
}

.phone a { margin-left: 6px; }

.phone a:nth-child(1) { margin-left: 0; }

.phone a:hover { color: #f08a5d; }

.address { margin-bottom: 12px; }

.address img, .phone img
{
    height: 25px;
    margin-right: 12px;
}

/*  */

footer .container>div:nth-child(4)
{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dev , .copy
{
    font-family: 'Montserrat';
    font-size: 15px;
}

.dev { margin-bottom: 18px; color: #fbfbfd; }

.dev a { color: #f08a5d; }

.dev a:hover { text-decoration: underline; }

.copy { color: #64707c; }

.footer-arc
{
    position: absolute;
    bottom: 0; right: 0;
    z-index: -1;
    height: 200px; width: 500px;
    background-color: #1f2d36;
    border-top-left-radius: 100%;
}
