@charset "utf-8";
.MainTable {
	margin-left: 5%;
	margin-right: 5%;
}
.Headertable {
	margin-left: 5%;
	margin-right: 5%;
	background-color: #1100F7;
	border: 1% dotted #FCFCFC;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: large;

}
.Logo {
	/* [disabled]clear: both; */

}
.footer {
	background-color: #514848;
}
.tdfooter {
	background-color: #1100F7;
	color: #FDFDFD;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: large;
}
.maintext {
	font-weight: bold;
	font-size: x-large;
}
.textleft {
	font-size: large;
}
.textright {
	font-size: large;
	text-align: left;
}
.menutable {
	background-color: #F7F7FF;
}
.home {
	background-color: #1100F7;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: large;
}
.aboutus {
	background-color: #1100F7;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: large;
}
.ourfleet {
	background-color: #1100F7;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: large;
}
.operations {
	background-color: #1100F7;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: large;
}
.people {
	background-color: #1100F7;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: large;
}
.contacts {
	background-color: #1100F7;
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif;
	font-size: large;
}
.maintextt {
	text-align: left;
	font-size: 21px;
	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-style: normal;
	font-weight: 700;
	color: #000007;
}
.cont {
	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-style: normal;
	font-size: 18px;
	font-weight: bold;
}

/* ===== Responsive layout ===== */
*, *::before, *::after { box-sizing: border-box; }
/* photo fills the screen once: no tiling on wide monitors */
body { background-repeat: no-repeat !important; background-size: cover !important; background-position: center center !important; background-attachment: fixed !important; background-color: #46627a; }
img { max-width: 100%; }
.Logo { display: block; width: 100%; max-width: 658px; height: auto; margin: 0 auto !important; box-sizing: border-box; }
body > table, footer > table { max-width: 1400px; }
.maintextt, .cont { overflow-wrap: break-word; word-wrap: break-word; }
iframe { max-width: 100%; }

/* white text over the ship photo on every screen size */
body { --text: #fff; --link: #bfe0ff; color: #fff; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0) 20%, rgba(0,0,0,.4) 36%, rgba(0,0,0,.4) 100%); }
.maintextt, .maintextt *, .cont, .cont * { color: #fff !important; text-shadow: 0 1px 3px rgba(0,0,0,.8), 0 0 8px rgba(0,0,0,.5); }
.maintextt a, .cont a { color: #bfe0ff !important; }

@media (max-width: 1024px) {
	body > table[width="74%"], footer > table[width="74%"] { width: 94% !important; }
	body > table[width="96%"] { width: 98% !important; }
	.maintextt { font-size: 18px !important; }
	.cont { font-size: 17px !important; }
}

@media (max-width: 768px) {
	/* ship photo: whole hull visible, fixed behind the content (a pseudo-element, since background-attachment:fixed breaks on iOS) */
	body { background: #5d7a90 !important; position: relative; --text: #fff; --link: #bfe0ff; color: #fff; }
	body::before, body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; }
	/* tall photo: ship in the middle, sky continued upward, water downward */
	body::before { background: url(images/ship-mobile.jpg) center center / cover no-repeat #6f8497; }
	/* darkening scrolls with the page and starts below the logo, so the logo sits on clear sky */
	body::after { position: absolute; background: linear-gradient(rgba(0,0,0,0) 0, rgba(0,0,0,0) 190px, rgba(0,0,0,.3) 290px, rgba(0,0,0,.3) 100%); }

	/* header strip */
	.Headertable { font-size: 12px !important; line-height: 1.5; padding: 8px 10px; height: auto !important; }

	/* menu: wrapping grid instead of one overflowing row */
	table.menutable, table.menutable tbody { display: block; width: 94% !important; margin-left: auto; margin-right: auto; }
	table.menutable { background: transparent; }
	table.menutable tr { display: flex; flex-wrap: wrap; }
	table.menutable th { flex: 1 1 33.333%; display: flex; align-items: center; justify-content: center; height: auto !important; min-height: 34px; border: 1px solid rgba(255,255,255,.25); }
	table.menutable th a { display: block; width: 100%; padding: 8px 4px; font-size: 12px; letter-spacing: .02em; text-decoration: none; }

	/* content table: collapse to a single column, drop empty spacer cells */
	body > table[width="96%"], body > table[width="96%"] tbody, body > table[width="96%"] tr { display: block; width: 94% !important; margin-left: auto; margin-right: auto; }
	body > table[width="96%"] th, body > table[width="96%"] td { display: none; }
	body > table[width="96%"] th.maintextt, body > table[width="96%"] td.cont { display: block; width: 100% !important; height: auto !important; padding: 16px 12px !important; }
	body > table[width="96%"] td.cont { font-size: 16px !important; }
	/* emails: shrink with the screen so the longest one fits on a single line */
	.cont a[href^="mailto:"], .pagetext a[href^="mailto:"] { font-size: min(15px, calc((94vw - 66px) / 22)); white-space: nowrap; }
	.maintextt, .maintextt *, .cont, .cont * { color: #fff !important; text-shadow: 0 1px 3px rgba(0,0,0,.8), 0 0 8px rgba(0,0,0,.5); }
	.maintextt a, .cont a { color: #bfe0ff !important; }
	.maintextt { font-size: 16px !important; line-height: 1.5; padding-bottom: 20px !important; }
	.maintextt p, .maintextt div { max-width: 100%; }

	.Logo { width: calc(100% - 32px); }

	/* map keeps its proportions */
	iframe { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; }

	/* footer: hide empty spacer table, keep copyright */
	footer > table:first-child { display: none; }
	.tdfooter { font-size: 13px !important; padding: 10px; }
}

@media (max-width: 420px) {
	table.menutable th a { font-size: 11px; }
	.Headertable { font-size: 11px !important; }
	.maintextt { font-size: 15px !important; }
	body > table[width="96%"] td.cont { font-size: 15px !important; }
}

/* Contacts and People: same white text size (19px desktop, 16px phone) */
body > table[width="96%"] th.pagetext, body > table[width="96%"] td.pagetext { font-size: 19px !important; }
@media (max-width: 768px) {
	body > table[width="96%"] th.pagetext, body > table[width="96%"] td.pagetext { font-size: 16px !important; }
}
