/*-----------------------------------------------------------------------------------
	Daniel De Ciantis
	About: Daniel De Ciantis is a solo Swift developer, focusing on building functional, beautiful, and reliable native iOS applications. 
	Author: Daniel De Ciantis
	Version: 1.0
	Built with Blocs
-----------------------------------------------------------------------------------*/
body{
	margin:0;
	padding:0;
    background:#FFFFFF;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.page-container{overflow: hidden;} /* Prevents unwanted scroll space when scroll FX used. */
a,button{transition: background .3s ease-in-out;outline: none!important;} /* Prevent blue selection glow on Chrome and Safari */
a:hover{text-decoration: none; cursor:pointer;}
.scroll-fx-lock-init{position:fixed!important;top: 0;bottom: 0;left: 0;right: 0;z-index:99999;} /* ScrollFX Lock */
.blocs-grid-container{display: grid!important;grid-template-columns: 1fr 1fr;grid-template-rows: auto auto;column-gap: 1.5rem;row-gap: 1.5rem;} /* CSS Grid */
nav .dropdown-menu .nav-link{color:rgba(0,0,0,0.6)!important;} /* Maintain Downdown Menu Link Color in Navigation */
[data-bs-theme="dark"] nav .dropdown-menu .nav-link{color:var(--bs-dropdown-link-color)!important;} /* Maintain Downdown Menu Link Color in Navigation in Darkmode */

/* = Blocs
-------------------------------------------------------------- */

.bloc{
	width:100%;
	clear:both;
	background: 50% 50% no-repeat;
	padding:0 20px;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position:relative;
	display:flex;
}
.bloc .container{
	padding-left:0;
	padding-right:0;
	position:relative;
}


/* Sizes */

.bloc-lg{
	padding:100px 20px;
}
.bloc-md{
	padding:50px 20px;
}
.bloc-sm{
	padding:20px;
}


/* Dark theme */

.d-bloc{
	color:rgba(255,255,255,.7);
}
.d-bloc button:hover{
	color:rgba(255,255,255,.9);
}
.d-bloc .icon-round,.d-bloc .icon-square,.d-bloc .icon-rounded,.d-bloc .icon-semi-rounded-a,.d-bloc .icon-semi-rounded-b{
	border-color:rgba(255,255,255,.9);
}
.d-bloc .divider-h span{
	border-color:rgba(255,255,255,.2);
}
.d-bloc .a-btn,.d-bloc .navbar a, .d-bloc a .icon-sm, .d-bloc a .icon-md, .d-bloc a .icon-lg, .d-bloc a .icon-xl, .d-bloc h1 a, .d-bloc h2 a, .d-bloc h3 a, .d-bloc h4 a, .d-bloc h5 a, .d-bloc h6 a, .d-bloc p a{
	color:rgba(255,255,255,.6);
}
.d-bloc .a-btn:hover,.d-bloc .navbar a:hover,.d-bloc a:hover .icon-sm, .d-bloc a:hover .icon-md, .d-bloc a:hover .icon-lg, .d-bloc a:hover .icon-xl, .d-bloc h1 a:hover, .d-bloc h2 a:hover, .d-bloc h3 a:hover, .d-bloc h4 a:hover, .d-bloc h5 a:hover, .d-bloc h6 a:hover, .d-bloc p a:hover{
	color:rgba(255,255,255,1);
}
.d-bloc .navbar-toggle .icon-bar{
	background:rgba(255,255,255,1);
}
.d-bloc .btn-wire,.d-bloc .btn-wire:hover{
	color:rgba(255,255,255,1);
	border-color:rgba(255,255,255,1);
}
.d-bloc .card{
	color:rgba(0,0,0,.5);
}
.d-bloc .card button:hover{
	color:rgba(0,0,0,.7);
}
.d-bloc .card icon{
	border-color:rgba(0,0,0,.7);
}
.d-bloc .card .divider-h span{
	border-color:rgba(0,0,0,.1);
}
.d-bloc .card .a-btn{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .a-btn:hover{
	color:rgba(0,0,0,1);
}
.d-bloc .card .btn-wire, .d-bloc .card .btn-wire:hover{
	color:rgba(0,0,0,.7);
	border-color:rgba(0,0,0,.3);
}


/* Light theme */

.d-bloc .card,.l-bloc{
	color:rgba(0,0,0,.5);
}
.d-bloc .card button:hover,.l-bloc button:hover{
	color:rgba(0,0,0,.7);
}
.l-bloc .icon-round,.l-bloc .icon-square,.l-bloc .icon-rounded,.l-bloc .icon-semi-rounded-a,.l-bloc .icon-semi-rounded-b{
	border-color:rgba(0,0,0,.7);
}
.d-bloc .card .divider-h span,.l-bloc .divider-h span{
	border-color:rgba(0,0,0,.1);
}
.d-bloc .card .a-btn,.l-bloc .a-btn,.l-bloc .navbar a,.l-bloc a .icon-sm, .l-bloc a .icon-md, .l-bloc a .icon-lg, .l-bloc a .icon-xl, .l-bloc h1 a, .l-bloc h2 a, .l-bloc h3 a, .l-bloc h4 a, .l-bloc h5 a, .l-bloc h6 a, .l-bloc p a{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .a-btn:hover,.l-bloc .a-btn:hover,.l-bloc .navbar a:hover, .l-bloc a:hover .icon-sm, .l-bloc a:hover .icon-md, .l-bloc a:hover .icon-lg, .l-bloc a:hover .icon-xl, .l-bloc h1 a:hover, .l-bloc h2 a:hover, .l-bloc h3 a:hover, .l-bloc h4 a:hover, .l-bloc h5 a:hover, .l-bloc h6 a:hover, .l-bloc p a:hover{
	color:rgba(0,0,0,1);
}
.l-bloc .navbar-toggle .icon-bar{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .btn-wire,.d-bloc .card .btn-wire:hover,.l-bloc .btn-wire,.l-bloc .btn-wire:hover{
	color:rgba(0,0,0,.7);
	border-color:rgba(0,0,0,.3);
}


/* = NavBar
-------------------------------------------------------------- */

/* = Sticky Nav
-------------------------------------------------------------- */

.sticky-bloc.sticky,.sticky-nav.sticky{
	position:fixed;
	z-index:1000;
	transition: all .2s ease-out;
}
.sticky-nav.sticky{
	box-shadow: 0 1px 2px rgba(0,0,0,.3);
}
/* Navbar Icon */
.svg-menu-icon{
	fill: none;
	stroke: rgba(0,0,0,0.5);
	stroke-width: 2px;
	fill-rule: evenodd;
}
.navbar-dark .svg-menu-icon{
	stroke: rgba(255,255,255,0.5);
}
.menu-icon-thin-bars{
	stroke-width: 1px;
}
.menu-icon-thick-bars{
	stroke-width: 5px;
}
.menu-icon-rounded-bars{
	stroke-width: 3px;
	stroke-linecap: round;
}
.menu-icon-filled{
	fill: rgba(0,0,0,0.5);
	stroke-width: 0px;
}
.navbar-dark .menu-icon-filled{
	fill: rgba(255,255,255,0.5);
}
.navbar-toggler-icon{
	background: none!important;
	pointer-events: none;
	width: 33px;
	height: 33px;
}
/* Handle Multi Level Navigation */
.dropdown-menu .dropdown-menu{
	border:none}
@media (min-width:576px){
	
.navbar-expand-sm .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-sm .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}@media (min-width:768px){
	.navbar-expand-md .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-md .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}@media (min-width:992px){
	.navbar-expand-lg .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-lg .dropdown-menu .submenu-left{
	right:100%;
	left:auto}
}

/* = Buttons
-------------------------------------------------------------- */

.btn-d,.btn-d:hover,.btn-d:focus{
	color:#FFF;
	background:rgba(0,0,0,.3);
}

.a-block{
	width:100%;
	text-align:left;
	display: inline-block;
}
.text-center .a-block{
	text-align:center;
}





.card-sq, .card-sq .card-header, .card-sq .card-footer{
	border-radius:0;
}
.card-rd{
	border-radius:30px;
}
.card-rd .card-header{
	border-radius:29px 29px 0 0;
}
.card-rd .card-footer{
	border-radius:0 0 29px 29px;
}
/* = Masonary
-------------------------------------------------------------- */
.card-columns .card {
	margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
	.card-columns {
	-webkit-column-count: 3;
	-moz-column-count: 3;
	column-count: 3;
	-webkit-column-gap: 1.25rem;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	orphans: 1;
	widows: 1;
}
.card-columns .card {
	display: inline-block;
	width: 100%;
}
}
/* = Classic Dividers
-------------------------------------------------------------- */
.divider-h{
	min-height: 1px;
	background-color:rgba(0,0,0,.2);
	margin: 20px 0;
}
.divider-half{
	width: 50%;
}
.dropdown-menu .divider-h{
	margin:0;
}


/* = Custom Styling
-------------------------------------------------------------- */

h1,h2,h3,h4,h5,h6,p,label,.btn,a{
	font-family:"Inter";
}
.container{
	max-width:1140px;
}
.hero-card{
	background-size:cover;
	height:500px;
	align-items:center;
	align-content:center;
	padding:36px 36px 36px 36px;
	background-image:url("img/hero-centered.jpg");
	background-image: -webkit-image-set(url("img/hero-centered.webp") 1x,
url("img/hero-centered.webp") 2x);background-image: image-set(url("img/hero-centered.jpg") 1x,
url("img/hero-centered.jpg") 2x,url("img/hero-centered.webp") 1x,
url("img/hero-centered.webp") 2x);
	background-position:center center;
	border-radius:24px 24px 24px 24px;
}
.hero-text{
	color:#FFFFFF!important;
}
.section-header{
	font-family:"Inter";
	font-weight:600;
}
.paragraph{
	font-family:"Inter";
	font-weight:normal;
	font-size:18px;
}
.img-style{
	width:558px;
}
.text-primary{
	color:#000000!important;
}
.text-secondary{
	color:var(--swatch-var-821)!important;
}
.dark-theme .text-primary{
	color:#FFFFFF!important;
}
.dark-theme .text-secondary{
	color:var(--swatch-var-7040)!important;
}
.body-bg-secondary{
	background-color:#F4F4F4;
}
.body-bg-primary{
	background-color:var(--swatch-var-7082);
}
.dark-theme .body-bg-secondary{
	background-color:var(--swatch-var-3710);
}
.dark-theme .body-bg-primary{
	background-color:var(--swatch-var-7268);
}
.card-lg{
	border-radius:24px 24px 24px 24px;
	padding:24px 24px 24px 24px;
}
.icon{
	width:150px;
}
.paragraph-header{
	font-family:"Inter";
	font-weight:600;
}
.skill-capsule{
	width:auto;
	display:inline-block;
	border-style:solid;
	border-width:2px 2px 2px 2px;
	border-radius:999px 999px 999px 999px;
	padding:5px 12px 5px 12px;
	font-family:"Inter";
	font-size:18px;
	font-weight:500;
}
.skill-capsule-container{
	display:flex;
	flex-wrap:wrap;
	align-content:flex-start;
	column-gap:12px;
}
.dark-theme .icon{
	width:150px;
	filter:invert(100%);
}
.divider{
	background-color:var(--swatch-var-7040);
}
.app-icon{
	width:150px;
}
.img-light{
	display:inline;
}
.dark-theme .img-light{
	display:none!important;
}
.img-dark{
	display:none!important;
}
.dark-theme .img-dark{
	display:flex!important;
}
.project-card{
	display:flex;
}
.external-link-button{
	border-width:2px 2px 2px 2px;
	border-radius:999px 999px 999px 999px;
	border-style:solid;
	color:#000000!important;
	background-color:transparent;
	font-family:"Inter";
	font-size:18px;
	font-weight:500;
	border-color:#000000!important;
}
.external-link-button:hover{
	border-radius:999px 999px 999px 999px;
	border-width:2px 2px 2px 2px;
	border-style:solid;
	border-color:#000000!important;
	font-family:"Inter";
	font-size:18px;
	color:#FFFFFF!important;
	background-color:#000000;
}
.dark-theme .external-link-button{
	background-color:transparent;
	color:#FFFFFF!important;
	border-width:2px 2px 2px 2px;
	border-radius:999px 999px 999px 999px;
	border-style:solid;
	border-color:#FFFFFF!important;
	font-size:18px;
	font-family:"Inter";
}
.dark-theme .external-link-button:hover{
	border-style:solid;
	border-color:#FFFFFF!important;
	border-width:2px 2px 2px 2px;
	border-radius:999px 999px 999px 999px;
	font-family:"Inter";
	font-size:18px;
	color:#000000!important;
	background-color:#FFFFFF;
}
.mega-text{
	font-family:"Inter";
	font-weight:bold;
	font-size:50px;
}
.hero-img{
	width:500px;
	height:500px;
}
title{
	font-family:"Inter";
	font-size:40px;
}
.hero-title{
	font-family:"Inter";
	font-size:40px;
	font-weight:bold;
}
.gradient-text{
	background:linear-gradient(242deg, #00A9FD 0%, #1C6AFD  100%);
	background-clip:text!important;
	-webkit-background-clip:text!important;
	color:transparent!important;
}
.nav-title{
	font-family:"Inter";
	font-size:22px;
	font-weight:bold;
}
.nav-bg{
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	background-color:var(--swatch-var-7082);
}
.dark-theme .nav-bg{
	background-color:rgba(0,0,0,0.80);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
}
.nav-link{
	font-family:"Inter";
	font-size:18px;
	font-weight:normal;
	color:var(--swatch-var-7268)!important;
}
.dark-theme .nav-link{
	font-family:"Inter";
	font-size:18px;
	font-weight:normal;
	color:var(--swatch-var-6585)!important;
}
.model-card{
	border-radius:24px 24px 24px 24px;
	overflow:hidden;
}
.padding-24{
	padding:24px 24px 24px 24px;
}
.model-img-container{
	height:220px;
	width:100%;
	overflow:hidden;
}
.model-img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
}
.footer-copyright{
	font-family:"Inter";
	font-size:14px;
}
.social-icon{
	height:35px;
	width:35px;
	padding:0px 0px 0px 0px;
	margin:0px 0px 0px 0px;
}
.footer-link{
	text-decoration:none;
}
.footer-header{
	font-family:"Inter";
	font-weight:bold;
}
.footer-link:hover{
	text-decoration:underline!important;
}
.hero-subtitle{
	font-family:"Inter";
	font-weight:500;
	font-size:25px;
}

/* = Colour
-------------------------------------------------------------- */

/* Swatch Variables */
:root{
	
	--swatch-var-7268:rgba(0,0,0,1.00);
	
	--swatch-var-7082:rgba(255,255,255,0.80);
	
	--swatch-var-821:rgba(117,117,117,1.00);
	
	--swatch-var-7040:rgba(179,179,179,1.00);
	
	--swatch-var-3710:rgba(38,38,38,1.00);
	
	--swatch-var-6585:rgba(244,244,244,1.00);
	
}



/* Bloc image backgrounds */




/* = Toggle Visibility
-------------------------------------------------------------- */

.toggled-item{transition: height 350ms ease-in-out, padding 350ms ease-in-out, opacity 350ms ease-in-out;overflow: hidden;}
.toggled-item-hidden{padding-top:0!important;padding-bottom:0!important;border-top:0!important;border-bottom:0!important;outline:0!important;opacity: 0;}
.object-hidden{display:none;}


/* = Bloc Padding Multi Breakpoint
-------------------------------------------------------------- */

@media (min-width: 576px) {
    .bloc-xxl-sm{padding:200px 20px;}
    .bloc-xl-sm{padding:150px 20px;}
    .bloc-lg-sm{padding:100px 20px;}
    .bloc-md-sm{padding:50px 20px;}
    .bloc-sm-sm{padding:20px;}
    .bloc-no-padding-sm{padding:0 20px;}
}
@media (min-width: 768px) {
    .bloc-xxl-md{padding:200px 20px;}
    .bloc-xl-md{padding:150px 20px;}
    .bloc-lg-md{padding:100px 20px;}
    .bloc-md-md{padding:50px 20px;}
    .bloc-sm-md{padding:20px 20px;}
    .bloc-no-padding-md{padding:0 20px;}
}
@media (min-width: 992px) {
    .bloc-xxl-lg{padding:200px 20px;}
    .bloc-xl-lg{padding:150px 20px;}
    .bloc-lg-lg{padding:100px 20px;}
    .bloc-md-lg{padding:50px 20px;}
    .bloc-sm-lg{padding:20px;}
    .bloc-no-padding-lg{padding:0 20px;}
}


/* = Mobile adjustments 
-------------------------------------------------------------- */
@media (max-width: 1024px)
{
    .bloc.full-width-bloc, .bloc-tile-2.full-width-bloc .container, .bloc-tile-3.full-width-bloc .container, .bloc-tile-4.full-width-bloc .container{
        padding-left: 0; 
        padding-right: 0;  
    }
}
@media (max-width: 991px)
{
    .container{width:100%;}
    .bloc{padding-left: constant(safe-area-inset-left);padding-right: constant(safe-area-inset-right);} /* iPhone X Notch Support*/
    .bloc-group, .bloc-group .bloc{display:block;width:100%;}
}
@media (max-width: 767px)
{
    .bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{
        padding-left:0;padding-right:0;
    }
    .btn-dwn{
       display:none; 
    }
    .voffset{
        margin-top:5px;
    }
    .voffset-md{
        margin-top:20px;
    }
    .voffset-lg{
        margin-top:30px;
    }
    form{
        padding:5px;
    }
    .close-lightbox{
        display:inline-block;
    }
    .blocsapp-device-iphone5{
	   background-size: 216px 425px;
	   padding-top:60px;
	   width:216px;
	   height:425px;
    }
    .blocsapp-device-iphone5 img{
	   width: 180px;
	   height: 320px;
    }
}


@media (max-width: 991px){
	.img-style{
		width:250px;
	}
	
}

@media (max-width: 767px){
	.footer-header{
		font-family:"Inter";
		font-weight:bold;
	}
	
}

@media (max-width: 575px){
	.hero-title{
		font-size:25px;
	}
	.mega-text{
		font-size:30px;
	}
	.nav-link{
	}
	.menu-icon-stroke{
		stroke:var(--swatch-var-821)!important;
		fill:var(--swatch-var-821)!important;
	}
	.footer-link{
		text-align:center;
	}
	
}

