/*!
Theme Name: ocean
Author: Made in 13
Author URI: https://madein13.com
Version: 1.0.0
Text Domain: ocean
*/


/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #101010;
	font-family: "Open Sans", sans-serif;
	font-weight:400;
	font-style: normal;
	line-height: 1.5;
}

strong, 
b,
.fw-bold {
	font-weight:600 !important;
}

.fw-bolder {
	font-weight:700 !important;
}

.small {
	font-size:0.875rem;
}

.x-small {
	font-size:0.75rem;
}

.fs-6,
.fs-6 p {
    font-size:1.125rem !important;
}

p {
	margin-bottom:1.5rem;
}

.letter-spacing {
	letter-spacing:-1px;
}

.carousel.hero .letter-spacing {
	letter-spacing:-2px;
}



/* =Placeholder text
----------------------------------------------- */
::-webkit-input-placeholder {
	color:#939393;
}

:-moz-placeholder {
	color:#939393;
}

::-moz-placeholder {
	color:#939393;
	opacity: 1; /* Since FF19 lowers the opacity of the placeholder by default */
}

:-ms-input-placeholder {
	color: #939393;
}


/* Links
--------------------------------------------- */
a:hover,
a:focus,
a:active {
	color:#aaa;
}

.link-primary,
.link-primary:hover {
	color:#e85c41 !important;
}

.tel-link,
.email-link {
	align-items: center;
	color: inherit;
	display: inline-flex;
	margin:1px 0;
	padding-left: 24px; 
	position:relative;
	gap: 8px; 
	text-decoration: none;
}

.tel-link {
	background: url('images/phone.png') no-repeat left center;
	background-size: 16px 16px;
}

.email-link {
	background: url('images/email.png') no-repeat left center;
	background-size: 16px 16px;
}


/* Buttons + Colors
--------------------------------------------- */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #e85c41;
    --bs-btn-border-color: #e85c41;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #003f5a;
    --bs-btn-hover-border-color: #003f5a;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #003f5a;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #e85c41;
    --bs-btn-disabled-border-color: #e85c41;
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #003f5a;
    --bs-btn-border-color: #003f5a;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #01293b;
    --bs-btn-hover-border-color: #01293b;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #01293b;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #003f5a;
    --bs-btn-disabled-border-color: #003f5a;
}

.text-dark {
    color: #101010 !important;
}


/* Structure
--------------------------------------------- */
.site-header .container-fluid {
	max-width:1400px;
}

	@media (min-width: 1920px) {
		.site-header .container-fluid,
		.container {
			max-width:1600px;
		}
	}

	@media (max-width: 1199.98px) {
		.container-fluid,
		.container {
			padding-left:2rem;
			padding-right:2rem;
		}
	}

	@media (max-width: 575.98px) {
		.container-fluid {
			padding-left:1.5rem;
			padding-right:1.5rem;
		}
	}

.mt-6 {
	margin-top:6rem;
}

	@media (max-width: 767.98px) {
		.mt-6 {
			margin-top:4rem;
		}
	}

.py-6 {
	padding-top:5rem;
	padding-bottom:5rem;
}

.container.py-6 + .container.py-6 {
	padding-top:0;
}

	@media (max-width: 767.98px) {
		.py-6 {
			padding-top:3rem;
			padding-bottom:3rem;
		}
	}

.pt-6 {
	padding-top:5rem;
}

	@media (max-width: 767.98px) {
		.pt-6 {
			padding-top:3rem;
		}
	}

.py-2x {
    padding-top:0.8rem !important;
    padding-bottom:0.8rem !important;
}

.px-4x {
    padding-right:1.8rem !important;
    padding-left:1.8rem !important;
}


/* Utilities
--------------------------------------------- */
	@media (min-width: 1200px) {
		.position-center {
			position:absolute;
			top:50%;
			transform:translate(0, -50%);
		}
	}


/* Nav
--------------------------------------------- */
.navbar-brand {
	font-size:1.125rem;
}

.navbar-brand img {
	max-width:46px;
}

	@media (min-width: 576px) {
		.navbar-brand {
			font-size:1.375rem;
		}
		.navbar-brand img {
			max-width:70px;
		}
	}

.navbar-nav .nav-link,
.navbar-nav .nav-link:visited {
	color: #101010;
	font-size:1rem;
	font-weight:600;
	padding-left:1.2rem !important;
	padding-right:1.2rem !important;
}

.dropdown-item {
	color: #101010;
}

.dropdown-item:hover,
.dropdown-item.active, 
.dropdown-item:active {
	background:#fff;
	color:#aaa;
}

	@media (max-width: 991.98px) {
		.navbar-nav {
			text-align:center;
		}
		.navbar-nav .nav-link {
			font-size:1.25rem;
			padding:1rem 1.2rem !important;
		}
		.navbar-nav .dropdown-menu {
			border:none;
			padding:0 0 1rem 0;
			text-align:center;
		}
		.navbar-nav .dropdown-item {
			font-size:1.15rem;
			padding-top:0.5rem;
			padding-bottom:0.5rem;
		}
	}

.languages .menu {
	list-style:none;
	margin:0;
	padding:0;
}

.languages .menu-item a {
	background-color:#fff;
	border:2px solid #212529;
	border-radius:50rem;
	color: #212529;
	display:inline-block;
	font-size:1rem;
	font-weight:600;
	margin-top: .5rem;
	margin-bottom: .5rem;
	padding:0.375rem 1.5rem;
	text-decoration:none;
}

.languages.mobile .menu-item a {
    background-color: #e85c41;
	border-color:#e85c41;
	color:#fff;
}

.languages .menu-item a:hover {
    background-color: #212529;
    color: #fff;
}

.languages.mobile .menu-item a:hover {
	background-color: #003f5a;
	border-color:#003f5a;
}


/* Posts and pages
--------------------------------------------- */
.entry-content h2:first-child {
  margin-top: 0;
}

.entry-content h2,
.entry-content h3 {
	font-weight:600;
	margin-top:3rem;    
	margin-bottom:1rem;  
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	font-size: calc(1.3rem + .6vw);
}

.entry-content h3 {
	font-size: calc(1.275rem + .3vw);
}

.entry-content h4 {
    font-size:1.25rem;
}

.entry-content p,
.entry-content ul,
.entry-content ol {
	margin-bottom: 1.5rem;
}

.entry-meta a,
.entry-content a:not(.btn),
.entry-footer a {
	color:#101010;
	border-bottom:1px solid #e85c41;
	font-weight:500;
	padding-bottom:1px;
	text-decoration:none;
}

.post,
.page {
	margin-bottom:0;
}

.blog .post,
.archive .post {
	margin-bottom:4rem;
}

.cat-links,
.tags-links {
	display:block;
	margin-top:1rem;
}

.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.edit-link,
.comments-area,
.comments-link {
	display:none;
}

.entry-content table {
    border-collapse:collapse;
    border-spacing:1px;
    height:100%;
	margin-bottom:3rem;
    table-layout:fixed;
    text-align:left;
    width:100%;
}

.entry-content table td, 
.entry-content table th {
    padding:15px;
    line-height:1.5;
    vertical-align:middle;
    border:1px solid #ccc;
}

.entry-content table th {
    font-weight:500;
}

.entry-content table tr th,
.entry-content table tr:nth-child(even) {
	background-color:#f9f9f9;
}

	@media (max-width: 767.98px) {
		.entry-content table {
			display:block;
			font-size:0.9rem;
			overflow-x:auto;
			width:100%;
		}
	}


/* =Post Navigation
----------------------------------------------- */
.post-navigation {
	margin-top:5rem;
}

.nav-previous,
.nav-next {
	margin-top:1.5rem;
}

.nav-previous a:before {
	content:"\2190";
	padding-right:10px;
}

.nav-next a:after {
	content:"\2192";
	padding-left:10px;
}

.nav-previous a,
.nav-next a,
.nav-previous a:hover,
.nav-next a:hover {
	color:#101010;
	font-size:1.125rem;
	font-weight:500;
	text-decoration:none;
}


/* Sliders + Heroes
--------------------------------------------- */
.carousel.hero .carousel-item {
	position:relative;
	overflow:hidden;
    z-index: 1;
}

	@media (min-width: 1200px) {
		.carousel.hero .carousel-item {
			min-height:500px;
		}
	}
	
	@media (min-width: 1920px) {
		.carousel.hero .carousel-item {
			min-height:700px;
		}
	}

.carousel .iims-logo,
.hero .iims-logo {
	bottom:3rem;
	height:100px;	
	opacity:0.9;
	position:absolute;
	right:3rem;
	width:100px;
	z-index:2;
}

	@media (max-width: 991.98px) {
		.carousel .iims-logo,
		.hero .iims-logo {
			bottom:1.5rem;
			height:90px;
			opacity:0.7;
			right:1.5rem;
			width:90px; 
		}
	}

	@media (max-width: 575.98px) {
		.carousel .iims-logo,
		.hero .iims-logo {
			height:72px;
			width:72px; 
		}
	}

.carousel-item .kenburns {
    background-color:#555;
    background-blend-mode:overlay;
    background-position:center center;
    background-size:cover;
    height:100%;
    left:0;
    position:absolute;
    top:0;
    width:100%;
    z-index:1;
    animation: kenburns 30s ease-in-out infinite;
}

@keyframes kenburns {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

.carousel-text {
	position:relative;
	z-index: 2; 
}

	@media (min-width: 1200px) {
		.carousel-text {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			width: 100%;
		}
	}

.container-fluid.hero {
	background-position:center center;
	background-repeat:no-repeat; 
	background-size:cover;	
	min-height:400px;
}

	@media (min-width: 1920px) {
		.container-fluid.hero {
			min-height:500px;
		}
	}


/* Contact Forms
-------------------------------------------------- */
.wpcf7-form ::-webkit-input-placeholder {
	color:#101010;
}

.wpcf7-form :-moz-placeholder {
	color:#101010;
}

.wpcf7-form ::-moz-placeholder {
	color:#101010;
	opacity: 1; /* Since FF19 lowers the opacity of the placeholder by default */
}

.wpcf7-form :-ms-input-placeholder {
	color:#101010;
}

.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form select,
.wpcf7-form textarea {
	background:#fff;
	border:solid #101010;
	border-width:0 0 1px 0;
	border-radius:0 !important;
	box-shadow:none;
	color:#101010;
	font-size:1.25rem;
	margin-bottom:1rem;
	padding:0.5rem 0;
	width:100%;
}

.wpcf7-form textarea {
	border-width:1px;
	height:200px;
	margin-top:1rem;
	margin-bottom:0;
	padding:1rem;
}

.wpcf7-form select {
	border:1px solid #101010;
	padding:0.5rem;
}

.wpcf7-form input[type=checkbox],
.wpcf7-form input[type=radio] {
	height:18px;
	width:18px;
}

span.wpcf7-list-item-label {
	font-size:1.125rem;
	font-weight:400;
	margin-left:0.313rem;
}

span.wpcf7-list-item { 
    margin:0;
}

.wpcf7-checkbox .wpcf7-list-item {
	display:block;
	margin-left:0;
}


/* =Modals
--------------------------------------------------------------*/
.team-modal .modal-dialog-slideout {
	position: fixed;         
	top: 0 !important;
	right: 0 !important;
	height: 100%;           
	margin: 0;              
	background: #fff;
	display: flex;
	flex-direction: column;
	border-radius: 0;        
	overflow: hidden;      
}

	@media (min-width: 1200px) {
		.team-modal .modal-dialog-slideout {
			max-width:1000px;            
		}
	}

 .team-modal.fade .modal-dialog.modal-dialog-slideout {
	transform: translateX(100%);   
}

.team-modal.fade.show .modal-dialog.modal-dialog-slideout {
	transform: translateX(0);      
	transition: transform 0.3s ease;
}

.team-modal .modal-dialog-slideout .modal-content {
	height: 100%;
	display: flex;
	flex-direction: column;
	border: 0;
	border-radius: 0;
}

.team-modal .modal-dialog-slideout .modal-header {
	flex: 0 0 auto;                
}

.team-modal .modal-dialog-slideout .modal-body {
	flex: 1 1 auto;            
	overflow-y: auto;              
	overflow-x: hidden;
	padding: 1.5rem;
}

.team-modal .close {
	background:#e85c41;
	border:none;
	color:#fff;
	font-size:2.5rem;
	line-height:1;
	padding:0.5rem 1rem;
	position:absolute;
	opacity:1;
	right:0;
	top:0;
	z-index:100;
}

	@media (max-width: 575.98px) {
		.team-modal .close {
			font-size:2rem;
			padding:0.5rem 1rem;
		}
	}


/* =Google Maps
--------------------------------------------------------------*/
.google-map {
    height:0;
    padding-bottom:60%;
    overflow:hidden;
    position:relative;
}

.google-map iframe {
    height: 100% !important;
    left: 0;
    position: absolute;
    top: 0;
    width: 100% !important;
}


/* Media
--------------------------------------------- */
img {
	height:auto;
	max-width:100%;
}

video {
	height:auto;
	width:100%;
}

	@media (max-width: 991.98px) {
		.block-featured-image {
			height:450px !important;
		}
	}

.wp-caption-text {
	color:#101010;
	display:block;
	font-size:0.8rem;
	font-weight:500;
	line-height:1.2;
	margin-top:1rem;
}

figcaption a,
.wp-caption-text a {
	color: inherit;
}

/* Gallery */
.gallery {
	display: flex;
	flex-wrap: wrap;
	margin: 3rem 0 3rem -0.8rem;
	width: calc(100% + 1.6rem);
}

.gallery-item {
	margin: 0.8rem 0;
	padding: 0 0.8rem;
	width: 100%;
}

.gallery-caption {
	display: block;
	margin-top: 0.8rem;
}


/*Widgets
--------------------------------------------- */
.widget-area .widget {
	font-size:0.9rem;
	margin-bottom:3rem;
}

.widget-area .widget-title { 
    font-size:1.25rem;
	font-weight:500;
	margin-bottom:1rem;
}

.widget-area ul {
	list-style:none;
	padding:0;
}	

.widget-area li a {
	display:block;
	padding:0.3rem 0;
}

.widget-area .widget a {
	color:#101010;
	font-size:0.9rem;
	text-decoration:none;
}


/* Footer
--------------------------------------------- */
.site-footer .logo {
	max-width:60px;
}

.site-footer p {
	font-size:0.9rem;
}

.site-footer ul {
	list-style:none;
	margin:0;
	padding:0;
}

.site-footer li a {
	display:block;
	font-size:0.9rem;
	padding-top:0.2rem;
	padding-bottom:0.2rem;
}

.site-footer a,
.site-footer a:visited {
	color:#101010;
	font-weight:500;
	text-decoration:none;
}

.site-footer .logos img {
	filter: grayscale(100%);
	height:60px;
}

.site-footer .logos img:hover {
	filter:none;
}

.site-footer .logos img:not(:last-child) {
	margin-right:4rem;
}

	@media (max-width: 1199.98px) {
		.site-footer .logos img {
			margin-top:1rem;
			margin-bottom:1rem;
		}
	}


/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}


/* Alignments
--------------------------------------------- */
.alignfull {
	margin:1.5rem auto;
	max-width:100%;
}

.alignnone,
.aligncenter {
	margin:1.5rem auto;
}

.alignleft {
	float:left;
	margin:0.3rem 2rem 2rem 0;
}

.alignright {
	float:right;
	margin:0.3rem 0 2rem 2rem;
}

	@media (max-width: 600px) {
		.alignleft,
		.alignright {
			display:block;
			float:none;
			margin:1.5rem auto 1.5rem 0;
		}
	}

.aligncenter,
.aligncenter img {
	margin-left:auto;
	margin-right:auto;
}